@blocknote/ariakit 0.51.3 → 0.51.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocknote-ariakit.cjs.map +1 -1
- package/dist/blocknote-ariakit.js.map +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +3 -3
- package/src/badge/Badge.tsx +2 -2
- package/src/panel/Panel.tsx +1 -1
- package/src/panel/PanelFileInput.tsx +2 -2
- package/src/toolbar/ToolbarButton.tsx +2 -2
- package/types/src/toolbar/ToolbarButton.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-ariakit.cjs","names":[],"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 \"aria-activedescendant\": ariaActivedescendant,\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 aria-activedescendant={ariaActivedescendant}\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 { createContext, forwardRef, useContext } from \"react\";\n\nconst PortalRootContext = createContext<HTMLElement | null | undefined>(\n undefined,\n);\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 const portalRoot = useContext(PortalRootContext);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\n \"bn-ak-popover\",\n className || \"\",\n variant === \"panel-popover\" ? \"bn-ak-panel-popover\" : \"\",\n )}\n portalElement={portalRoot ?? undefined}\n ref={ref}\n >\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"],\n) => {\n const { children, open, onOpenChange, position, portalRoot, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider\n open={open}\n setOpen={onOpenChange}\n placement={position}\n >\n <PortalRootContext.Provider value={portalRoot}>\n {children}\n </PortalRootContext.Provider>\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 itemRef.current.closest(\".bn-grid-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 itemRef.current.closest(\".bn-suggestion-menu, #ai-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 >\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 emojiPickerOpen,\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 emojiPickerOpen);\n\n return (\n <AriakitGroup\n ref={ref}\n className={className}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\n }}\n >\n {actions}\n </AriakitGroup>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n useBlockNoteContext,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\nimport { BlockNoteView } from \"../BlockNoteView.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest, false);\n\n const blockNoteContext = useBlockNoteContext();\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={className}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n theme={blockNoteContext?.colorSchemePreference}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\",\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import {\n Button as AriakitButton,\n Group as AriakitGroup,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Badge = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n text,\n icon,\n isSelected,\n mainTooltip,\n secondaryTooltip,\n onClick,\n onMouseEnter,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const badge = (\n <AriakitButton\n className={mergeCSSClasses(\n className,\n \"bn-ak-badge bn-ak-button\",\n isSelected && \"bn-ak-primary\",\n )}\n aria-selected={isSelected === true}\n onClick={(event) => onClick?.(event)}\n onMouseEnter={onMouseEnter}\n ref={ref}\n >\n <span>{icon}</span>\n <span>{text}</span>\n </AriakitButton>\n );\n\n if (!mainTooltip) {\n return badge;\n }\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor render={badge} />\n <AriakitTooltip className=\"bn-ak-tooltip\" portal={false}>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n});\n\nexport const BadgeGroup = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Group\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(className, \"bn-ak-badge-group\")}\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n","import { Components } from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { MenuButton } from \"./menu/Button.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\nimport { Card, CardSection, ExpandSectionsPrompt } from \"./comments/Card.js\";\nimport { Comment } from \"./comments/Comment.js\";\nimport { Editor } from \"./comments/Editor.js\";\nimport { Badge, BadgeGroup } from \"./badge/Badge.js\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Comments: {\n Comment: Comment,\n Editor: Editor,\n Card: Card,\n CardSection: CardSection,\n ExpandSectionsPrompt: ExpandSectionsPrompt,\n },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport { BlockNoteViewRaw, ComponentsContext } from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema,\n>(\n props: React.ComponentProps<\n typeof BlockNoteViewRaw<BSchema, ISchema, SSchema>\n >,\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote-ariakit.cjs","names":[],"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 \"aria-activedescendant\": ariaActivedescendant,\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 aria-activedescendant={ariaActivedescendant}\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: string | null | undefined) => {\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, type ChangeEvent } 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: ChangeEvent<HTMLInputElement>) => 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 { createContext, forwardRef, useContext } from \"react\";\n\nconst PortalRootContext = createContext<HTMLElement | null | undefined>(\n undefined,\n);\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 const portalRoot = useContext(PortalRootContext);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\n \"bn-ak-popover\",\n className || \"\",\n variant === \"panel-popover\" ? \"bn-ak-panel-popover\" : \"\",\n )}\n portalElement={portalRoot ?? undefined}\n ref={ref}\n >\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"],\n) => {\n const { children, open, onOpenChange, position, portalRoot, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider\n open={open}\n setOpen={onOpenChange}\n placement={position}\n >\n <PortalRootContext.Provider value={portalRoot}>\n {children}\n </PortalRootContext.Provider>\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 itemRef.current.closest(\".bn-grid-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 itemRef.current.closest(\".bn-suggestion-menu, #ai-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 >\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, type MouseEvent } 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: MouseEvent<HTMLButtonElement>) => {\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 emojiPickerOpen,\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 emojiPickerOpen);\n\n return (\n <AriakitGroup\n ref={ref}\n className={className}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\n }}\n >\n {actions}\n </AriakitGroup>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n useBlockNoteContext,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\nimport { BlockNoteView } from \"../BlockNoteView.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest, false);\n\n const blockNoteContext = useBlockNoteContext();\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={className}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n theme={blockNoteContext?.colorSchemePreference}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\",\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import {\n Button as AriakitButton,\n Group as AriakitGroup,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { type MouseEvent, 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: MouseEvent<HTMLButtonElement>) => 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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-ariakit.js","names":[],"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 \"aria-activedescendant\": ariaActivedescendant,\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 aria-activedescendant={ariaActivedescendant}\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 { createContext, forwardRef, useContext } from \"react\";\n\nconst PortalRootContext = createContext<HTMLElement | null | undefined>(\n undefined,\n);\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 const portalRoot = useContext(PortalRootContext);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\n \"bn-ak-popover\",\n className || \"\",\n variant === \"panel-popover\" ? \"bn-ak-panel-popover\" : \"\",\n )}\n portalElement={portalRoot ?? undefined}\n ref={ref}\n >\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"],\n) => {\n const { children, open, onOpenChange, position, portalRoot, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider\n open={open}\n setOpen={onOpenChange}\n placement={position}\n >\n <PortalRootContext.Provider value={portalRoot}>\n {children}\n </PortalRootContext.Provider>\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 itemRef.current.closest(\".bn-grid-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 itemRef.current.closest(\".bn-suggestion-menu, #ai-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 >\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 emojiPickerOpen,\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 emojiPickerOpen);\n\n return (\n <AriakitGroup\n ref={ref}\n className={className}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\n }}\n >\n {actions}\n </AriakitGroup>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n useBlockNoteContext,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\nimport { BlockNoteView } from \"../BlockNoteView.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest, false);\n\n const blockNoteContext = useBlockNoteContext();\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={className}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n theme={blockNoteContext?.colorSchemePreference}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\",\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import {\n Button as AriakitButton,\n Group as AriakitGroup,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Badge = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n text,\n icon,\n isSelected,\n mainTooltip,\n secondaryTooltip,\n onClick,\n onMouseEnter,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const badge = (\n <AriakitButton\n className={mergeCSSClasses(\n className,\n \"bn-ak-badge bn-ak-button\",\n isSelected && \"bn-ak-primary\",\n )}\n aria-selected={isSelected === true}\n onClick={(event) => onClick?.(event)}\n onMouseEnter={onMouseEnter}\n ref={ref}\n >\n <span>{icon}</span>\n <span>{text}</span>\n </AriakitButton>\n );\n\n if (!mainTooltip) {\n return badge;\n }\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor render={badge} />\n <AriakitTooltip className=\"bn-ak-tooltip\" portal={false}>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n});\n\nexport const BadgeGroup = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Group\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(className, \"bn-ak-badge-group\")}\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n","import { Components } from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { MenuButton } from \"./menu/Button.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\nimport { Card, CardSection, ExpandSectionsPrompt } from \"./comments/Card.js\";\nimport { Comment } from \"./comments/Comment.js\";\nimport { Editor } from \"./comments/Editor.js\";\nimport { Badge, BadgeGroup } from \"./badge/Badge.js\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Comments: {\n Comment: Comment,\n Editor: Editor,\n Card: Card,\n CardSection: CardSection,\n ExpandSectionsPrompt: ExpandSectionsPrompt,\n },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport { BlockNoteViewRaw, ComponentsContext } from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema,\n>(\n props: React.ComponentProps<\n typeof BlockNoteViewRaw<BSchema, ISchema, SSchema>\n >,\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote-ariakit.js","names":[],"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 \"aria-activedescendant\": ariaActivedescendant,\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 aria-activedescendant={ariaActivedescendant}\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: string | null | undefined) => {\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, type ChangeEvent } 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: ChangeEvent<HTMLInputElement>) => 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 { createContext, forwardRef, useContext } from \"react\";\n\nconst PortalRootContext = createContext<HTMLElement | null | undefined>(\n undefined,\n);\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 const portalRoot = useContext(PortalRootContext);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\n \"bn-ak-popover\",\n className || \"\",\n variant === \"panel-popover\" ? \"bn-ak-panel-popover\" : \"\",\n )}\n portalElement={portalRoot ?? undefined}\n ref={ref}\n >\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"],\n) => {\n const { children, open, onOpenChange, position, portalRoot, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider\n open={open}\n setOpen={onOpenChange}\n placement={position}\n >\n <PortalRootContext.Provider value={portalRoot}>\n {children}\n </PortalRootContext.Provider>\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 itemRef.current.closest(\".bn-grid-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 itemRef.current.closest(\".bn-suggestion-menu, #ai-suggestion-menu\")!,\n );\n\n if (overflow !== \"none\") {\n itemRef.current.scrollIntoView({ block: \"nearest\" });\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 >\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, type MouseEvent } 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: MouseEvent<HTMLButtonElement>) => {\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 emojiPickerOpen,\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 emojiPickerOpen);\n\n return (\n <AriakitGroup\n ref={ref}\n className={className}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\n }}\n >\n {actions}\n </AriakitGroup>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n useBlockNoteContext,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\nimport { BlockNoteView } from \"../BlockNoteView.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest, false);\n\n const blockNoteContext = useBlockNoteContext();\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={className}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n theme={blockNoteContext?.colorSchemePreference}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\",\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import {\n Button as AriakitButton,\n Group as AriakitGroup,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { type MouseEvent, 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: MouseEvent<HTMLButtonElement>) => 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"],"mappings":"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"}
|
package/dist/webpack-stats.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"builtAt":
|
|
1
|
+
{"builtAt":1780397414974,"assets":[{"name":"blocknote-ariakit.cjs","size":15256},{"name":"blocknote-ariakit.cjs.map","size":57517}],"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":243,"chunks":["ec22802"]},{"name":"./src/input/TextInput.tsx","size":1114,"chunks":["ec22802"]},{"name":"./src/menu/Menu.tsx","size":2668,"chunks":["ec22802"]},{"name":"./src/menu/Button.tsx","size":562,"chunks":["ec22802"]},{"name":"./src/panel/Panel.tsx","size":1189,"chunks":["ec22802"]},{"name":"./src/panel/PanelButton.tsx","size":434,"chunks":["ec22802"]},{"name":"./src/panel/PanelFileInput.tsx","size":583,"chunks":["ec22802"]},{"name":"./src/panel/PanelTab.tsx","size":291,"chunks":["ec22802"]},{"name":"./src/panel/PanelTextInput.tsx","size":600,"chunks":["ec22802"]},{"name":"./src/popover/Popover.tsx","size":1296,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenu.tsx","size":327,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenuButton.tsx","size":578,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","size":435,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","size":607,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","size":822,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","size":407,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenu.tsx","size":425,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuEmptyItem.tsx","size":524,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuItem.tsx","size":1770,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLabel.tsx","size":398,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLoader.tsx","size":896,"chunks":["ec22802"]},{"name":"./src/tableHandle/ExtendButton.tsx","size":474,"chunks":["ec22802"]},{"name":"./src/tableHandle/TableHandle.tsx","size":546,"chunks":["ec22802"]},{"name":"./src/toolbar/Toolbar.tsx","size":449,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarButton.tsx","size":1271,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarSelect.tsx","size":1504,"chunks":["ec22802"]},{"name":"./src/comments/Card.tsx","size":1354,"chunks":["ec22802"]},{"name":"./src/comments/Comment.tsx","size":2159,"chunks":["ec22802"]},{"name":"./src/comments/Editor.tsx","size":1086,"chunks":["ec22802"]},{"name":"./src/badge/Badge.tsx","size":1611,"chunks":["ec22802"]},{"name":"./src/components.ts","size":1371,"chunks":["ec22802"]},{"name":"./src/BlockNoteView.tsx","size":435,"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.51.
|
|
14
|
+
"version": "0.51.4",
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
17
|
"types",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@ariakit/react": "^0.4.19",
|
|
53
|
-
"@blocknote/core": "0.51.
|
|
54
|
-
"@blocknote/react": "0.51.
|
|
53
|
+
"@blocknote/core": "0.51.4",
|
|
54
|
+
"@blocknote/react": "0.51.4"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/react": "^19.2.3",
|
package/src/badge/Badge.tsx
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
|
|
9
9
|
import { assertEmpty, mergeCSSClasses } from "@blocknote/core";
|
|
10
10
|
import { ComponentProps } from "@blocknote/react";
|
|
11
|
-
import { forwardRef } from "react";
|
|
11
|
+
import { type MouseEvent, forwardRef } from "react";
|
|
12
12
|
|
|
13
13
|
export const Badge = forwardRef<
|
|
14
14
|
HTMLButtonElement,
|
|
@@ -36,7 +36,7 @@ export const Badge = forwardRef<
|
|
|
36
36
|
isSelected && "bn-ak-primary",
|
|
37
37
|
)}
|
|
38
38
|
aria-selected={isSelected === true}
|
|
39
|
-
onClick={(event) => onClick?.(event)}
|
|
39
|
+
onClick={(event: MouseEvent<HTMLButtonElement>) => onClick?.(event)}
|
|
40
40
|
onMouseEnter={onMouseEnter}
|
|
41
41
|
ref={ref}
|
|
42
42
|
>
|
package/src/panel/Panel.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
|
|
6
6
|
import { assertEmpty } from "@blocknote/core";
|
|
7
7
|
import { ComponentProps } from "@blocknote/react";
|
|
8
|
-
import { forwardRef } from "react";
|
|
8
|
+
import { forwardRef, type ChangeEvent } from "react";
|
|
9
9
|
|
|
10
10
|
export const PanelFileInput = forwardRef<
|
|
11
11
|
HTMLInputElement,
|
|
@@ -24,7 +24,7 @@ export const PanelFileInput = forwardRef<
|
|
|
24
24
|
type={"file"}
|
|
25
25
|
accept={accept}
|
|
26
26
|
value={value ? value.name : undefined}
|
|
27
|
-
onChange={async (e) => onChange?.(e.target.files![0])}
|
|
27
|
+
onChange={async (e: ChangeEvent<HTMLInputElement>) => onChange?.(e.target.files![0])}
|
|
28
28
|
placeholder={placeholder}
|
|
29
29
|
/>
|
|
30
30
|
</AriakitFormProvider>
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
|
|
8
8
|
import { assertEmpty, isSafari, mergeCSSClasses } from "@blocknote/core";
|
|
9
9
|
import { ComponentProps } from "@blocknote/react";
|
|
10
|
-
import { forwardRef } from "react";
|
|
10
|
+
import { forwardRef, type MouseEvent } from "react";
|
|
11
11
|
|
|
12
12
|
type ToolbarButtonProps = ComponentProps["Generic"]["Toolbar"]["Button"];
|
|
13
13
|
|
|
@@ -46,7 +46,7 @@ export const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(
|
|
|
46
46
|
)}
|
|
47
47
|
// Needed as Safari doesn't focus button elements on mouse down
|
|
48
48
|
// unlike other browsers.
|
|
49
|
-
onMouseDown={(e) => {
|
|
49
|
+
onMouseDown={(e: MouseEvent<HTMLButtonElement>) => {
|
|
50
50
|
if (isSafari()) {
|
|
51
51
|
(e.currentTarget as HTMLButtonElement).focus();
|
|
52
52
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type MouseEvent } from "react";
|
|
1
2
|
/**
|
|
2
3
|
* Helper for basic buttons that show in the formatting toolbar.
|
|
3
4
|
*/
|
|
@@ -6,7 +7,7 @@ export declare const ToolbarButton: import("react").ForwardRefExoticComponent<({
|
|
|
6
7
|
mainTooltip?: string;
|
|
7
8
|
secondaryTooltip?: string;
|
|
8
9
|
icon?: import("react").ReactNode;
|
|
9
|
-
onClick?: (e:
|
|
10
|
+
onClick?: (e: MouseEvent) => void;
|
|
10
11
|
isSelected?: boolean;
|
|
11
12
|
isDisabled?: boolean;
|
|
12
13
|
variant?: "default" | "compact";
|