@blocknote/ariakit 0.51.2 → 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/style.css +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":";;;;;;AAKA,IAAa,KAAQ,MAAqD;CACxE,IAAM,EAAE,aAAU,GAAG,MAAS;AAI9B,QAFA,EAAY,EAAK,EAEV,kBAAC,GAAD,EAAsB,aAA+B,CAAA;GCDjD,IAAY,GAGtB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,SACA,UACA,YACA,SACA,UACA,cACA,gBACA,aACA,cACA,aACA,aACA,iBACA,yBAAyB,GACzB,iBACA,GAAG,MACD;AAIJ,QAFA,EAAY,EAAK,EAGf,kBAAA,GAAA,EAAA,UAAA,CACG,EAAM,SAAS,kBAAC,GAAD;EAAwB;YAAO;EAAyB,CAAA,EACxE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACG;GACD,kBAAC,GAAD;IACE,WAAW,EACT,eACA,KAAa,IACb,MAAY,UAAU,sBAAsB,GAC7C;IACI;IACC;IACC;IACI;IACE;IACH;IACC;IACD;IACA;IACI;IACd,yBAAuB;IACvB,CAAA;GACD;GACG;IACL,EAAA,CAAA;EAEL,EC9CW,MAAQ,MAAqD;CACxE,IAAM,EACJ,aACA,iBACA,aACA,QACA,GAAG,MACD;AAIJ,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,WAAW;EACX,SAAS;EACT,cAAc;EAEb;EACmB,CAAA;GAIb,KAAe,GAGzB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,aACA,QACA,GAAG,MACD;AAIJ,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,eAAe;EACf,WAAW,EAAgB,cAAc,KAAa,GAAG;EACpD;EAEJ;EACW,CAAA;EAEhB,EAEW,KAAW,GAGrB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,SAAM,YAAS,eAAY,YAAS,GAAG,MAClE;AAmBF,QAjBA,EAAY,EAAK,EAEb,IAEA,kBAAC,GAAD;EACE,QAAQ,kBAAC,GAAD,EAAmB,CAAA;EAC3B,WAAW,EAAgB,mBAAmB,KAAa,GAAG;EACzD;EACI;YAJX;GAMG;GACA;GACD,kBAAC,GAAD,EAA0B,CAAA;GACzB,MAAY,KAAA,KAAa,kBAAC,GAAD,EAA+B,YAAW,CAAA;GAClD;MAItB,kBAAC,GAAD;EACE,WAAW,EAAgB,mBAAmB,KAAa,GAAG;EACzD;EACI;YAHX;GAKG;GACA;GACA,MAAY,KAAA,KAAa,kBAAC,GAAD,EAA+B,YAAW,CAAA;GACpD;;EAEpB,EAEW,KAAY,GAGtB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,WAAW,EAAgB,qBAAqB,KAAa,GAAG;EAC3D;EAEJ;EACqB,CAAA;EAE1B,EAEW,MACX,MACG;CACH,IAAM,EAAE,aAAU,QAAK,GAAG,MAAS;AAQnC,QANA,EAAY,EAAK,EAEb,IACK,IAGF,kBAAC,GAAD,EAAmB,QAAQ,GAAqC,CAAA;GAG5D,KAAc,GAGxB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,GAAG,MAAS;AAI/B,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,WAAW,EAAgB,mBAAmB,KAAa,GAAG;EACzD;EACL,CAAA;EAEJ,EC1IW,KAAa,GAGvB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,aACA,SACA,YACA,UACA,cACA,gBACA,cACA,GAAG,MACD;AAMJ,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACa;EACE;EACF;EACX,cAAY;EACZ,WAAW,EACT,gCACA,KAAa,GACd;EACI;EACI;EACT,GAAI;YAXN,CAaG,GACA,EACa;;EAElB,ECjCW,KAAQ,GAGlB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,SACA,mBACA,YACA,eACA,YACA,GAAG,MACD;AAGJ,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EACE,WAAW,EAAgB,iBAAiB,KAAa,GAAG;EACvD;YAEL,kBAAC,IAAD;GACE,mBAAmB;GACnB,YAAY;GACZ,cAAc,MAAa;AACzB,IAAI,KACF,EAAW,EAAS;;aAL1B,CAWE,kBAAC,IAAD;IAAgB,WAAW;cACxB,EAAK,KAAK,MACT,kBAAC,IAAD;KAAY,WAAW;KAAa,IAAI,EAAI;eACzC,EAAI;KACM,EAF0C,EAAI,KAE9C,CACb;IACa,CAAA,EAEjB,kBAAC,OAAD;IAAK,WAAW;cACb,EAAK,KAAK,MACT,kBAAC,IAAD;KAAiB,OAAO,EAAI;eACzB,EAAI;KACW,EAFqB,EAAI,KAEzB,CAClB;IACE,CAAA,CACa;;EACjB,CAAA;EAER,ECtDW,KAAc,GAGxB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,YAAS,UAAO,GAAG,MAAS;AAIzD,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,WAAW,EAAgB,gBAAgB,KAAa,GAAG;EAClD;EACT,cAAY;EACP;EAEJ;EACa,CAAA;EAElB,ECfW,KAAiB,GAG3B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,WAAQ,UAAO,gBAAa,aAAU,GAAG,MAAS;AAIrE,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACa;EACN;EACL,MAAM;EACN,MAAM;EACE;EACR,OAAO,IAAQ,EAAM,OAAO,KAAA;EAC5B,UAAU,OAAO,MAAM,IAAW,EAAE,OAAO,MAAO,GAAG;EACxC;EACb,CAAA,EACkB,CAAA;EAExB,EC3BW,KAAW,GAGrB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EAAgB;EAAgB;EAC7B;EACG,CAAA;EAER,ECRW,KAAiB,GAG3B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,UAAO,gBAAa,cAAW,aAAU,GAAG,MAAS;AAIxE,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACE,WAAW,EAAgB,eAAe,KAAa,GAAG;EAC1D,MAAM;EACC;EACM;EACH;EACC;EACX,aAAW;EACN;EACL,CAAA,EACkB,CAAA;EAExB,ECrBI,IAAoB,EACxB,KAAA,EACD,EAEY,KAAiB,GAG3B,GAAO,MAAQ;CAChB,IAAM,EAAE,aAAU,GAAG,MAAS;AAI9B,QAFA,EAAY,EAAK,EAEV,kBAAC,GAAD;EAA0B,QAAQ;EAAsB;EAAO,CAAA;EACtE,EAEW,KAAiB,GAG3B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,YAAS,GAAG,MAAS;AAElD,GAAY,EAAK;CAEjB,IAAM,IAAa,EAAW,EAAkB;AAEhD,QACE,kBAAC,GAAD;EACE,WAAW,EACT,iBACA,KAAa,IACb,MAAY,kBAAkB,wBAAwB,GACvD;EACD,eAAe,KAAc,KAAA;EACxB;EAEJ;EACc,CAAA;EAEnB,EAEW,MACX,MACG;CACH,IAAM,EAAE,aAAU,SAAM,iBAAc,aAAU,eAAY,GAAG,MAAS;AAIxE,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACQ;EACN,SAAS;EACT,WAAW;YAEX,kBAAC,EAAkB,UAAnB;GAA4B,OAAO;GAChC;GAC0B,CAAA;EACN,CAAA;GC5DhB,KAAW,GAGrB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EAAyB;EAAgB;EAAK,GAAI;EAC/C;EACY,CAAA;EAEjB,ECbW,KAAiB,GAG3B,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,aACA,SACA,YACA,UACA,cACA,gBACA,cACA,GAAG,MACD;AAMJ,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACa;EACE;EACF;EACX,cAAY;EACZ,WAAW,EACT,gCACA,KAAa,GACd;EACI;EACI;EACT,GAAI;YAXN,CAaG,GACA,EACa;;EAElB,ECxCW,KAAqB,GAG/B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,OAAI,YAAS,GAAG,MAAS;AAItD,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EACa;EACX,OAAO,EAAE,qBAAqB,UAAU,EAAQ,SAAS;EACpD;EACD;EACJ,MAAK;EAEJ;EACG,CAAA;EAER,ECnBW,KAA8B,GAGxC,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,YAAS,GAAG,MAAS;AAIlD,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EACE,WAAW,EAAgB,mBAAmB,KAAa,GAAG;EAC9D,OAAO,EAAE,YAAY,OAAO,IAAU,KAAK;EACtC;YAEL,kBAAC,OAAD;GAAK,WAAU;GAAoC;GAAe,CAAA;EAC9D,CAAA;EAER,ECjBW,KAAyB,GAGnC,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,eAAY,YAAS,SAAM,OAAI,GAAG,MAAS;AAE9D,GAAY,EAAK;CAEjB,IAAM,IAAU,EAAuB,KAAK;AAiB5C,QAfA,QAAgB;AACV,GAAC,EAAQ,WAAW,CAAC,KAIR,EACf,EAAQ,SACR,EAAQ,QAAQ,QAAQ,2BAA2B,CACpD,KAEgB,UACf,EAAQ,QAAQ,eAAe,EAAE,OAAO,WAAW,CAAC;IAErD,CAAC,EAAW,CAAC,EAGd,kBAAC,OAAD;EACa;EACX,KAAK,EAAU,CAAC,GAAK,EAAQ,CAAC;EAC1B;EACJ,MAAK;EACI;EACT,iBAAe,KAAc,KAAA;YAE5B,EAAK;EACF,CAAA;EAER,ECrCW,KAA2B,GAGrC,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,aACA,YACA,GAAG,MACD;AAIJ,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EACa;EACX,OAAO,EAAE,YAAY,OAAO,IAAU,KAAK;EACtC;EAEJ;EACG,CAAA;EAER,ECpBW,KAAiB,GAG3B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,OAAI,GAAG,MAAS;AAI7C,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,WAAW,EAAgB,cAAc,KAAa,GAAG;EACrD;EACJ,MAAK;EACA;EAEJ;EACY,CAAA;EAEjB,ECpBW,KAA0B,GAGpC,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EACE,WAAW,EAAgB,mBAAmB,KAAa,GAAG;EACzD;YAEL,kBAAC,OAAD;GAAK,WAAU;GAAoC;GAAe,CAAA;EAC9D,CAAA;EAER,EChBW,KAAqB,GAG/B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,SAAM,eAAY,YAAS,OAAI,GAAG,MAAS;AAE9D,GAAY,EAAK;CAEjB,IAAM,IAAU,EAAuB,KAAK;AAiB5C,QAfA,QAAgB;AACV,GAAC,EAAQ,WAAW,CAAC,KAIR,EACf,EAAQ,SACR,EAAQ,QAAQ,QAAQ,2CAA2C,CACpE,KAEgB,UACf,EAAQ,QAAQ,eAAe,EAAE,OAAO,WAAW,CAAC;IAErD,CAAC,EAAW,CAAC,EAGd,kBAAC,OAAD;EACE,WAAW,EAAgB,mBAAmB,KAAa,GAAG;EAC9D,KAAK,EAAU,CAAC,GAAK,EAAQ,CAAC;EAC1B;EACJ,cAAc,MAAU,EAAM,gBAAgB;EACrC;EACT,MAAK;EACL,iBAAe,KAAc,KAAA;YAP/B;GASG,EAAK,QACJ,kBAAC,OAAD;IACE,WAAU;IACV,iBAAc;cAEb,EAAK;IACF,CAAA;GAER,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAoC,EAAK;KAAY,CAAA,EACpE,kBAAC,OAAD;KAAK,WAAU;eACZ,EAAK;KACF,CAAA,CACF;;GACL,EAAK,SACJ,kBAAC,OAAD;IACE,iBAAc;IACd,WAAU;cAEV,kBAAC,OAAD,EAAA,UAAM,EAAK,OAAY,CAAA;IACnB,CAAA;GAEJ;;EAER,EC3DW,KAAsB,GAGhC,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EACE,WAAW,EAAgB,qBAAqB,KAAa,GAAG;EAC3D;EAEJ;EACG,CAAA;EAER,EChBW,KAAuB,GAGjC,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,GAAG,MAAS;AAI/B,QAFA,EAAY,EAAK,EAGf,kBAAC,OAAD;EAAgB;EAAgB;YAG9B,kBAAC,OAAD;GACE,OAAM;GACN,QAAO;GACP,SAAQ;GACR,OAAM;GACN,MAAK;aAEL,kBAAC,QAAD,EAAM,GAAE,wUAAyU,CAAA;GAC7U,CAAA;EACF,CAAA;EAER,ECrBW,KAAe,GAGzB,GAAO,MAAQ;CAChB,IAAM,EAAE,aAAU,cAAW,gBAAa,YAAS,GAAG,MAAS;AAM/D,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACE,WAAW,EACT,gCACA,KAAa,GACd;EACI;EACQ;EACJ;EACT,GAAI;EAEH;EACa,CAAA;EAElB,ECxBW,KAAc,GAGxB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,aACA,cACA,gBACA,cACA,UACA,UACA,GAAG,MACD;AAMJ,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACE,WAAW,EACT,gCACA,KAAa,GACd;EACI;EACL,cAAY;EACD;EACE;EACF;EACJ;EACP,GAAI;EAEH;EACa,CAAA;EAElB,EClCW,IAAU,GACpB,GAAO,MAAQ;CACd,IAAM,EACJ,cACA,aACA,iBACA,iBACA,YACA,GAAG,MACD;AAIJ,QAFA,EAAY,EAAK,EAGf,kBAAC,IAAD;EACE,WAAW,EAAgB,iBAAiB,KAAa,GAAG;EACvD;EACS;EACA;EAEb;EACc,CAAA;EAGtB,EChBY,IAAgB,GAC1B,GAAO,MAAQ;CACd,IAAM,EACJ,cACA,aACA,gBACA,qBACA,SACA,eACA,eACA,YACA,UACA,YACA,GAAG,MACD;AAMJ,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EACE,QACE,kBAAC,GAAD;EACE,cAAY;EACZ,WAAW,EACT,gCACA,KAAa,GACd;EAGD,cAAc,MAAM;AAClB,GAAI,GAAU,IACX,EAAE,cAAoC,OAAO;;EAGzC;EACT,gBAAc;EACd,iBAAe,IAAa,SAAS,KAAA;EACrC,UAAU,KAAc;EACnB;EACL,GAAI;YAlBN,CAoBG,GACA,EACkB;KAEvB,CAAA,EACF,kBAAC,GAAD;EAAgB,WAAU;EAAgB,QAAQ;YAAlD,CACE,kBAAC,QAAD,EAAA,UAAO,GAAmB,CAAA,EACzB,KAAoB,kBAAC,QAAD,EAAA,UAAO,GAAwB,CAAA,CACrC;IACM,EAAA,CAAA;EAG9B,EC1DY,IAAgB,GAG1B,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,UAAO,eAAY,GAAG,MAAS;AAElD,GAAY,EAAK;CAEjB,IAAM,IAAe,EAAM,MAAM,QAAQ,MAAM,EAAE,WAAW,CAAC;AAM7D,QACE,kBAAC,IAAD;EAAuB,OAAO,EAAa;EAAgB,WAL3C,MAAkB;AAClC,KAAM,MAAM,MAAS,EAAK,SAAS,EAAM,CAAE,WAAW;;YAItD,CACE,kBAAC,GAAD;GACE,WAAW;GACX,UAAU;GACV,cAAW;GACX,QAAQ,kBAAC,GAAD,EAAsB,CAAA;aAJhC;IAMG,EAAa;IAAK;IAAE,EAAa;IAAK;IAAC,kBAAC,GAAD,EAAsB,CAAA;IAChD;MAChB,kBAAC,IAAD;GACE,WAAW,EAAgB,iBAAiB,KAAa,GAAG;GACvD;GACL,QAAQ;aAEP,EAAM,KAAK,MACV,kBAAC,GAAD;IACE,WAAW;IAEX,OAAO,EAAO;cAHhB;KAKG,EAAO;KACP,EAAO;KACP,EAAO,SAAS,EAAa,QAAQ,kBAAC,IAAD,EAA0B,CAAA;KAC9C;MANb,EAAO,KAMM,CACpB;GACmB,CAAA,CACD;;EAE1B,ECnDW,KAAO,GAGjB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,aACA,aACA,eACA,YACA,WACA,aACA,GAAG,MACD;AAIJ,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACE,WAAW,EACT,GACA,mBACA,KAAY,WACb;EACQ;EACD;EACE;EACL;YATP,CAWG,KAAc,kBAAC,OAAD;GAAK,WAAW;aAAmB;GAAiB,CAAA,EAClE,EACY;;EAEjB,EAEW,KAAc,GAGxB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACE,WAAW,EAAgB,GAAW,qBAAqB;EACtD;EAEJ;EACY,CAAA;EAEjB,EAEW,KAAuB,GAGjC,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,GAAM,GAAM,EAGtB,kBAAC,GAAD;EACE,WAAW,EACT,GACA,4DACD;EACI;EAEJ;EACa,CAAA;EAElB,ECpEI,KAAa,GAMhB,GAAO,MAAS;CACjB,IAAM,EAAE,eAAY,eAAY,WAAQ,GAAG,MAAS,GAC9C,IAAO,GAAe;AAa5B,QAXA,EAAY,GAAM,GAAM,EAEpB,MAAe,YAEf,kBAAC,GAAD;EAAc,WAAW;YAAzB,CACE,kBAAC,OAAD,EAAK,WAAW,+BAAiC,CAAA,EACjD,kBAAC,OAAD,EAAK,WAAW,iCAAmC,CAAA,CACtC;MAKjB,kBAAC,GAAD;EAAc,WAAW;YAAzB,CACE,kBAAC,OAAD;GACE,KAAK,EAAW;GAChB,KAAK,EAAW;GAChB,WAAW;GACX,CAAA,EACF,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACG,EAAW,UACZ,kBAAC,QAAD,EAAA,UAAA;IACG;IAAW;IAAE,KAAU,IAAI,EAAK,SAAS,OAAO;IAC5C,EAAA,CAAA,CACH;KACO;;EAEjB,EAEW,IAAU,GAGpB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,gBACA,eACA,eACA,YACA,aACA,WACA,oBACA,GAAG,MACD;AAEJ,GAAY,GAAM,GAAM;CAExB,IAAM,CAAC,GAAS,KAAc,EAAS,GAAM,EACvC,EAAE,YAAS,KAAK,MAAa,GAAgB;AAUnD,QACE,kBAAC,GAAD;EACO;EACM;EACX,oBAAoB,EAAW,GAAK;EACpC,oBAAoB,EAAW,GAAM;YAJvC;GARA,MACC,MAAgB,MACf,MAAgB,KAAA,KACf,MAAgB,WAAW,KAC5B,KACA,KAUE,kBAAC,GAAD;IACE,KAAK;IACL,OAAO;KACL,UAAU;KACV,OAAO;KACP,KAAK;KACL,QAAQ;KACT;cAEA;IACY,CAAA,GACb;GACJ,kBAAC,IAAD,EAAY,GAAI,GAAS,CAAA;GACxB;GACY;;EAEjB,EC1FW,KAAS,GAGnB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,YAAS,WAAQ,cAAW,WAAQ,aAAU,GAAG,MAClE;AAEF,GAAY,GAAM,GAAM;CAExB,IAAM,IAAmB,GAAqB;AAE9C,QACE,kBAAC,GAAD;EACa;EACA;EACX,QAAQ,EAAM;EACd,UAAU;EACV,WAAW;EACX,cAAc;EACd,WAAW;EACX,mBAAmB;EACT;EACV,OAAO,GAAkB;EACpB;EACI;EACD;YAER,kBAAC,GAAD,EACE,mBAAmB,IACnB,CAAA;EACY,CAAA;EAElB,EAEI,WAKF,kBAAC,GAAD;CAAmB,sBAAsB,EAAE;WAJ/B,EAA0B,EAAE,CAAC,CAAC,QACzC,MAAO,EAAG,QAAQ,qBAAqB,EAAG,QAAQ,oBACpD;CAEyE,CAAA,ECtC/D,KAAQ,GAGlB,GAAO,MAAQ;CAChB,IAAM,EACJ,cACA,SACA,SACA,eACA,gBACA,qBACA,YACA,iBACA,GAAG,MACD;AAEJ,GAAY,GAAM,GAAM;CAExB,IAAM,IACJ,kBAAC,GAAD;EACE,WAAW,EACT,GACA,4BACA,KAAc,gBACf;EACD,iBAAe,MAAe;EAC9B,UAAU,MAAU,IAAU,EAAM;EACtB;EACT;YATP,CAWE,kBAAC,QAAD,EAAA,UAAO,GAAY,CAAA,EACnB,kBAAC,QAAD,EAAA,UAAO,GAAY,CAAA,CACL;;AAOlB,QAJK,IAKH,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAsB,QAAQ,GAAS,CAAA,EACvC,kBAAC,GAAD;EAAgB,WAAU;EAAgB,QAAQ;YAAlD,CACE,kBAAC,QAAD,EAAA,UAAO,GAAmB,CAAA,EACzB,KAAoB,kBAAC,QAAD,EAAA,UAAO,GAAwB,CAAA,CACrC;IACM,EAAA,CAAA,GAVlB;EAYT,EAEW,KAAa,GAGvB,GAAO,MAAQ;CAChB,IAAM,EAAE,cAAW,aAAU,GAAG,MAAS;AAIzC,QAFA,EAAY,EAAK,EAGf,kBAAC,GAAD;EACE,WAAW,EAAgB,GAAW,oBAAoB;EACrD;EAEJ;EACY,CAAA;EAEjB,ECtCW,IAAyB;CACpC,mBAAmB;EACjB,MAAM;EACN,QAAQ;EACR,QAAQ;EACT;CACD,WAAW;EACT,MAAM;EACN,QAAQ;EACR,WAAW;EACX,UAAU;EACV,WAAW;EACZ;CACD,oBAAoB;EAClB,MAAM;EACN,MAAM;EACN,WAAW;EACX,QAAQ;EACT;CACD,aAAa;EACX,MAAM;EACN,QAAQ;EACR,QAAQ;EACT;CACD,UAAU;EACR,MAAM;EACN,QAAQ;EACT;CACD,gBAAgB;EACd,MAAM;EACN,MAAM;EACN,WAAW;EACX,OAAO;EACP,QAAQ;EACT;CACD,aAAa;EACX,MAAM;EACQ;EACf;CACD,UAAU;EACC;EACD;EACF;EACO;EACS;EACvB;CACD,SAAS;EACP,OAAO;GACL,MAAM;GACN,OAAO;GACR;EACD,SAAS;GACP,MAAM;GACN,QAAQ;GACR,QAAQ;GACT;EACD,MAAM;GACJ,MAAM;GACK;GACZ;EACD,MAAM;GACJ,MAAM;GACN,SAAS;GACT,UAAU;GACV,SAAS;GACT,OAAO;GACP,MAAM;GACN,QAAQ;GACT;EACD,SAAS;GACP,MAAM;GACN,SAAS;GACT,SAAS;GACV;EACF;CACF,EC1GY,KAKX,MAGG;CACH,IAAM,EAAE,cAAW,GAAG,MAAS;AAE/B,QACE,kBAAC,EAAkB,UAAnB;EAA4B,OAAO;YACjC,kBAAC,GAAD;GACE,WAAW,EAAgB,cAAc,KAAa,GAAG;GACzD,GAAI;GACJ,CAAA;EACyB,CAAA"}
|
|
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/style.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.bn-block-outer{line-height:1.5;transition:margin .2s}.bn-block{flex-direction:column;display:flex}.bn-block-content{width:100%;padding:3px 0;transition:font-size .2s;display:flex}.bn-block-content.ProseMirror-selectednode>*,.ProseMirror-selectednode>.bn-block-content>*{border-radius:4px;outline:4px solid #64a0ff}.bn-block-content:before{content:"";height:0;margin-right:0;transition:all .2s;overflow:visible}.bn-inline-content{white-space:pre-wrap}.bn-trailing-block{cursor:text;height:30px}.bn-block-group .bn-block-group{margin-left:24px}.bn-block-group .bn-block-group>.bn-block-outer{position:relative}.bn-block-group .bn-block-group>.bn-block-outer:not([data-prev-depth-changed]):before{content:" ";height:100%;transition:all .2s .1s;display:inline;position:absolute;left:-20px}.bn-block-group .bn-block-group>.bn-block-outer[data-prev-depth-change="-2"]:before{height:0}.bn-inline-content code{font-family:monospace}[data-prev-depth-change="1"]{--x:1}[data-prev-depth-change="2"]{--x:2}[data-prev-depth-change="3"]{--x:3}[data-prev-depth-change="4"]{--x:4}[data-prev-depth-change="5"]{--x:5}[data-prev-depth-change="-1"]{--x:-1}[data-prev-depth-change="-2"]{--x:-2}[data-prev-depth-change="-3"]{--x:-3}[data-prev-depth-change="-4"]{--x:-4}[data-prev-depth-change="-5"]{--x:-5}.bn-block-outer[data-prev-depth-change]{margin-left:calc(10px * var(--x))}.bn-block-outer[data-prev-depth-change] .bn-block-outer[data-prev-depth-change]{margin-left:0}[data-content-type=heading]{--level:3em;padding-top:18px}[data-content-type=heading][data-level="2"]{--level:2em}[data-content-type=heading][data-level="3"]{--level:1.3em}[data-content-type=heading][data-level="4"]{--level:1em}[data-content-type=heading][data-level="5"]{--level:.9em}[data-content-type=heading][data-level="6"]{--level:.8em}[data-prev-level="1"]{--prev-level:3em}[data-prev-level="2"]{--prev-level:2em}[data-prev-level="3"]{--prev-level:1.3em}[data-prev-level="4"]{--prev-level:1em}[data-prev-level="5"]{--prev-level:.9em}[data-prev-level="6"]{--prev-level:.8em}.bn-block-outer[data-prev-type=heading]>.bn-block>.bn-block-content{font-size:var(--prev-level);font-weight:700}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=heading],.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>div[data-type=modification]>.bn-block-content[data-content-type=heading]{font-size:var(--level);font-weight:700}[data-content-type=quote] blockquote{color:#7d797a;border-left:2px solid #7d797a;margin:0;padding-left:1em}[data-content-type=divider] hr{border:none;border-top:1px solid #7d797a;flex:1;margin:.5em 0}.bn-block-content:before{content:"";margin-right:0}.bn-block-content[data-content-type=numberedListItem]:before{justify-content:center;min-width:24px;padding-right:4px;display:flex}[data-content-type=numberedListItem]{--index:attr(data-index)}[data-prev-type=numberedListItem]{--prev-index:attr(data-prev-index)}.bn-block-outer[data-prev-type=numberedListItem]:not([data-prev-index=none])>.bn-block>.bn-block-content:before{content:var(--prev-index) "."}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=numberedListItem]:before,.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=numberedListItem]:before{content:var(--index) "."}.bn-block-content[data-content-type=bulletListItem]:before{justify-content:center;min-width:24px;padding-right:4px;display:flex}.bn-block-content[data-content-type=checkListItem]>div:has(>input){height:24px}.bn-block-content[data-content-type=checkListItem]>div>input{cursor:pointer;margin-left:4px;margin-right:8px;width:12px;height:24px;margin-block:0}.bn-block-content[data-content-type=checkListItem][data-checked=true] .bn-inline-content{text-decoration:line-through}.bn-block-content[data-text-alignment=center]{justify-content:center}.bn-block-content[data-text-alignment=right]{justify-content:flex-end}:is(.bn-block:has(>.bn-block-content>div>.bn-toggle-wrapper[data-show-children=false])>.bn-block-group,.bn-block:has(>.react-renderer>.bn-block-content>div>.bn-toggle-wrapper[data-show-children=false])>.bn-block-group){display:none}.bn-toggle-wrapper{align-items:center;display:flex}.bn-toggle-button{color:var(--bn-colors-editor-text);padding:3px}.bn-toggle-button>svg{width:18px;height:18px}.bn-toggle-wrapper[data-show-children=true] .bn-toggle-button{transform:rotate(90deg)}.bn-toggle-add-block-button{color:var(--bn-colors-side-menu);width:fit-content;margin-left:22px;padding-inline:2px;font-size:16px;font-weight:400}.bn-toggle-button,.bn-toggle-add-block-button{border-radius:var(--bn-border-radius-small);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;display:flex}.bn-toggle-button:hover,.bn-toggle-add-block-button:hover{background-color:var(--bn-colors-hovered-background)}.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before,.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before,.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=bulletListItem]:before{content:"•"}[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before,[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before,[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=bulletListItem]:before{content:"◦"}[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before,[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before,[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=bulletListItem]:before{content:"▪︎"}.bn-block-content[data-content-type=codeBlock]{color:#fff;background-color:#161616;border-radius:8px;position:relative}.bn-block-content[data-content-type=codeBlock]>pre{white-space:pre;tab-size:2;width:100%;margin:0;padding:24px;overflow-x:auto}.bn-block-content[data-content-type=codeBlock]>div{outline:none!important}.bn-block-content[data-content-type=codeBlock]>div>select{appearance:none;-webkit-user-select:none;user-select:none;cursor:pointer;color:#fff;opacity:0;background-color:#0000;border:none;font-size:.8em;transition:opacity .3s 1s;position:absolute;top:8px;left:18px;outline:none!important}.bn-block-content[data-content-type=codeBlock]>div>select>option{color:#000}.bn-block-content[data-content-type=codeBlock]:hover>div>select,.bn-block-content[data-content-type=codeBlock]>div>select:focus{opacity:.5;transition-delay:.1s}.bn-block-content[data-content-type=pageBreak]>div{border-top:2px dotted #7d797a;width:100%;height:0;margin-block:11px}@media print{.bn-block-content[data-content-type=pageBreak]>div{page-break-after:always}}[data-file-block] .bn-file-block-content-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;margin:0;display:flex}:is([data-file-block] .bn-file-block-content-wrapper:has(.bn-add-file-button),[data-file-block] .bn-file-block-content-wrapper:has(.bn-file-name-with-icon)){width:100%}[data-file-block] .bn-add-file-button{color:#7d797a;background-color:#f2f1ee;border-radius:4px;align-items:center;gap:10px;padding:12px;display:flex}[data-file-block] .bn-add-file-button:where(.dark,.dark *){color:#bebebe;background-color:#464646}.bn-editor[contenteditable=true] [data-file-block] .bn-add-file-button:hover,[data-file-block] .bn-file-name-with-icon:hover,.ProseMirror-selectednode .bn-file-name-with-icon{background-color:#e1e1e1}.bn-editor[contenteditable=true] [data-file-block] .bn-add-file-button:hover:where(.dark,.dark *),[data-file-block] .bn-file-name-with-icon:hover:where(.dark,.dark *),.ProseMirror-selectednode .bn-file-name-with-icon:where(.dark,.dark *){background-color:#5a5a5a}[data-file-block] .bn-add-file-button-icon,[data-file-block] .bn-file-icon{width:24px;height:24px}[data-file-block] .bn-add-file-button-text{font-size:.9rem}[data-file-block] .bn-file-name-with-icon{border-radius:4px;gap:4px;padding:4px;display:flex}[data-file-block] .bn-file-caption{word-break:break-word;padding-block:4px;font-size:.8em}[data-file-block] .bn-file-caption:empty{padding-block:0}[data-file-block] .bn-resize-handle{cursor:ew-resize;background-color:#000;border:1px solid #fff;border-radius:4px;width:8px;height:30px;position:absolute}[data-file-block] .bn-visual-media-wrapper{align-items:center;max-width:100%;display:flex;position:relative}[data-file-block] .bn-visual-media{border-radius:4px;width:100%}[data-content-type=audio]>.bn-file-block-content-wrapper,.bn-audio{width:100%}.bn-block-content:has(.ProseMirror-trailingBreak:only-child):after{pointer-events:none;max-width:100%;margin-inline:-2px;font-style:italic}[data-style-type=textColor][data-value=gray]{color:#9b9a97}[data-style-type=textColor][data-value=brown]{color:#64473a}[data-style-type=textColor][data-value=red]{color:#e03e3e}[data-style-type=textColor][data-value=orange]{color:#d9730d}[data-style-type=textColor][data-value=yellow]{color:#dfab01}[data-style-type=textColor][data-value=green]{color:#4d6461}[data-style-type=textColor][data-value=blue]{color:#0b6e99}[data-style-type=textColor][data-value=purple]{color:#6940a5}[data-style-type=textColor][data-value=pink]{color:#ad1a72}[data-style-type=backgroundColor][data-value=gray]{background-color:#ebeced}[data-style-type=backgroundColor][data-value=brown]{background-color:#e9e5e3}[data-style-type=backgroundColor][data-value=red]{background-color:#fbe4e4}[data-style-type=backgroundColor][data-value=orange]{background-color:#f6e9d9}[data-style-type=backgroundColor][data-value=yellow]{background-color:#fbf3db}[data-style-type=backgroundColor][data-value=green]{background-color:#ddedea}[data-style-type=backgroundColor][data-value=blue]{background-color:#ddebf1}[data-style-type=backgroundColor][data-value=purple]{background-color:#eae4f2}[data-style-type=backgroundColor][data-value=pink]{background-color:#f4dfeb}[data-text-alignment=left]{text-align:left!important;justify-content:flex-start!important}[data-text-alignment=center]{text-align:center!important;justify-content:center!important}[data-text-alignment=right]{text-align:right!important;justify-content:flex-end!important}[data-text-alignment=justify]{text-align:justify!important;justify-content:flex-start!important}.bn-block-column-list{flex-direction:row;display:flex}.bn-block-column{flex:1;padding:12px 20px;overflow-x:auto}.bn-block-column:first-child{padding-left:0}.bn-block-column:last-child{padding-right:0}.bn-thread-mark:not([data-orphan=true]){background:#ffc80026}.bn-thread-mark .bn-thread-mark-selected{background:#ffc80040}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),.ProseMirror th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.ProseMirror .column-resize-handle{z-index:20;pointer-events:none;background-color:#adf;width:4px;position:absolute;top:0;bottom:0;right:-2px}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;content:"";pointer-events:none;background:#c8c8ff66;position:absolute;inset:0}.bn-editor{font-synthesis:style weight;--N800:#172b4d;--N40:#dfe1e6;outline:none;padding-inline:54px}.bn-comment-editor{width:100%;padding:0}.bn-comment-editor .bn-editor{padding:0}.bn-default-styles p,.bn-default-styles h1,.bn-default-styles h2,.bn-default-styles h3,.bn-default-styles h4,.bn-default-styles h5,.bn-default-styles h6,.bn-default-styles li{font-size:inherit;margin:0;padding:0;min-width:2px!important}.bn-default-styles{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Open Sans,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:400}.bn-table-drop-cursor{z-index:20;pointer-events:none;background-color:#adf;position:absolute}.bn-drag-preview{opacity:.001;pointer-events:none;padding:10px;position:absolute;top:0;left:0}.bn-editor .bn-collaboration-cursor__base{position:relative}.bn-editor .bn-collaboration-cursor__base .bn-collaboration-cursor__caret{width:2px;position:absolute;top:1px;bottom:-2px;left:-1px}.bn-editor .bn-collaboration-cursor__base .bn-collaboration-cursor__label{pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none;color:#0000;border-radius:0 1.5px 1.5px 0;max-width:4px;max-height:5px;padding:0;font-size:12px;font-style:normal;font-weight:600;line-height:normal;transition:all .2s;position:absolute;top:-1px;left:0;overflow:hidden}.bn-editor .bn-collaboration-cursor__base[data-active] .bn-collaboration-cursor__label{color:#0d0d0d;border-radius:3px 3px 3px 0;max-width:20rem;max-height:1.1rem;padding:.1rem .3rem;transition:all .2s;top:-17px;left:0}.bn-editor [data-content-type=table] .tableWrapper{--bn-table-widget-size:22px;--bn-table-handle-size:calc(18px / 2);padding:var(--bn-table-handle-size) var(--bn-table-widget-size) var(--bn-table-widget-size) var(--bn-table-handle-size);width:100%;position:relative;overflow-y:hidden}.bn-editor [data-content-type=table] table{word-break:break-word;width:auto!important}.bn-editor [data-content-type=table] th,.bn-editor [data-content-type=table] td{border:1px solid #ddd;padding:5px 10px}.bn-editor [data-content-type=table] th{text-align:left;font-weight:700}.bn-editor [data-content-type=table] th>p,.bn-editor [data-content-type=table] td>p{min-height:1.5rem}.ProseMirror td,.ProseMirror th{min-width:auto!important}.ProseMirror td:not([colwidth]):not(.column-resize-dragging),.ProseMirror th:not([colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)!important}.prosemirror-dropcursor-block{transition-property:top,bottom;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.prosemirror-dropcursor-vertical{transition-property:left,right}[data-show-selection]{background-color:highlight;padding:2px 0}.bn-root{--bn-colors-editor-text:#3f3f3f;--bn-colors-editor-background:#fff;--bn-colors-menu-text:#3f3f3f;--bn-colors-menu-background:#fff;--bn-colors-tooltip-text:#3f3f3f;--bn-colors-tooltip-background:#efefef;--bn-colors-hovered-text:#3f3f3f;--bn-colors-hovered-background:#efefef;--bn-colors-selected-text:#fff;--bn-colors-selected-background:#3f3f3f;--bn-colors-disabled-text:#afafaf;--bn-colors-disabled-background:#efefef;--bn-colors-shadow:#cfcfcf;--bn-colors-border:#efefef;--bn-colors-side-menu:#cfcfcf;--bn-colors-highlights-gray-text:#9b9a97;--bn-colors-highlights-gray-background:#ebeced;--bn-colors-highlights-brown-text:#64473a;--bn-colors-highlights-brown-background:#e9e5e3;--bn-colors-highlights-red-text:#e03e3e;--bn-colors-highlights-red-background:#fbe4e4;--bn-colors-highlights-orange-text:#d9730d;--bn-colors-highlights-orange-background:#f6e9d9;--bn-colors-highlights-yellow-text:#dfab01;--bn-colors-highlights-yellow-background:#fbf3db;--bn-colors-highlights-green-text:#4d6461;--bn-colors-highlights-green-background:#ddedea;--bn-colors-highlights-blue-text:#0b6e99;--bn-colors-highlights-blue-background:#ddebf1;--bn-colors-highlights-purple-text:#6940a5;--bn-colors-highlights-purple-background:#eae4f2;--bn-colors-highlights-pink-text:#ad1a72;--bn-colors-highlights-pink-background:#f4dfeb;--bn-font-family:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--bn-border-radius:6px;--bn-shadow-medium:0 4px 12px var(--bn-colors-shadow);--bn-shadow-light:0 2px 6px var(--bn-colors-border);--bn-border:1px solid var(--bn-colors-border);--bn-border-radius-small:max(var(--bn-border-radius) - 2px, 1px);--bn-border-radius-medium:var(--bn-border-radius);--bn-border-radius-large:max(var(--bn-border-radius) + 2px, 1px)}.bn-root[data-color-scheme=dark]{--bn-colors-editor-text:#cfcfcf;--bn-colors-editor-background:#1f1f1f;--bn-colors-menu-text:#cfcfcf;--bn-colors-menu-background:#1f1f1f;--bn-colors-tooltip-text:#cfcfcf;--bn-colors-tooltip-background:#161616;--bn-colors-hovered-text:#cfcfcf;--bn-colors-hovered-background:#161616;--bn-colors-selected-text:#cfcfcf;--bn-colors-selected-background:#0f0f0f;--bn-colors-disabled-text:#3f3f3f;--bn-colors-disabled-background:#161616;--bn-colors-shadow:#0f0f0f;--bn-colors-border:#161616;--bn-colors-side-menu:#7f7f7f;--bn-colors-highlights-gray-text:#bebdb8;--bn-colors-highlights-gray-background:#9b9a97;--bn-colors-highlights-brown-text:#8e6552;--bn-colors-highlights-brown-background:#64473a;--bn-colors-highlights-red-text:#ec4040;--bn-colors-highlights-red-background:#be3434;--bn-colors-highlights-orange-text:#e3790d;--bn-colors-highlights-orange-background:#b7600a;--bn-colors-highlights-yellow-text:#dfab01;--bn-colors-highlights-yellow-background:#b58b00;--bn-colors-highlights-green-text:#6b8b87;--bn-colors-highlights-green-background:#4d6461;--bn-colors-highlights-blue-text:#0e87bc;--bn-colors-highlights-blue-background:#0b6e99;--bn-colors-highlights-purple-text:#8552d7;--bn-colors-highlights-purple-background:#6940a5;--bn-colors-highlights-pink-text:#da208f;--bn-colors-highlights-pink-background:#ad1a72}.bn-root{font-family:var(--bn-font-family)}.bn-editor{background-color:var(--bn-colors-editor-background);border-radius:var(--bn-border-radius-large);color:var(--bn-colors-editor-text)}.bn-react-node-view-renderer{flex-direction:column;width:100%;display:flex}.bn-block-group .bn-block:not(:has(.bn-toggle-wrapper)) .bn-block-group .bn-block-outer:not([data-prev-depth-changed]):before{border-left:1px solid var(--bn-colors-side-menu)}.bn-block-content:has(.ProseMirror-trailingBreak:only-child):after{color:var(--bn-colors-side-menu)}.bn-root .bn-color-icon{border:var(--bn-border);border-radius:var(--bn-border-radius-small);justify-content:center;align-items:center;display:flex}.bn-error-text{color:red;font-size:12px}[data-style-type=textColor][data-value=gray],.bn-color-icon[data-text-color=gray]{color:var(--bn-colors-highlights-gray-text)}.bn-block:has(>.bn-block-content[data-text-color=gray]){color:var(--bn-colors-highlights-gray-text)}[data-style-type=textColor][data-value=brown],.bn-color-icon[data-text-color=brown]{color:var(--bn-colors-highlights-brown-text)}.bn-block:has(>.bn-block-content[data-text-color=brown]){color:var(--bn-colors-highlights-brown-text)}[data-style-type=textColor][data-value=red],.bn-color-icon[data-text-color=red]{color:var(--bn-colors-highlights-red-text)}.bn-block:has(>.bn-block-content[data-text-color=red]){color:var(--bn-colors-highlights-red-text)}[data-style-type=textColor][data-value=orange],.bn-color-icon[data-text-color=orange]{color:var(--bn-colors-highlights-orange-text)}.bn-block:has(>.bn-block-content[data-text-color=orange]){color:var(--bn-colors-highlights-orange-text)}[data-style-type=textColor][data-value=yellow],.bn-color-icon[data-text-color=yellow]{color:var(--bn-colors-highlights-yellow-text)}.bn-block:has(>.bn-block-content[data-text-color=yellow]){color:var(--bn-colors-highlights-yellow-text)}[data-style-type=textColor][data-value=green],.bn-color-icon[data-text-color=green]{color:var(--bn-colors-highlights-green-text)}.bn-block:has(>.bn-block-content[data-text-color=green]){color:var(--bn-colors-highlights-green-text)}[data-style-type=textColor][data-value=blue],.bn-color-icon[data-text-color=blue]{color:var(--bn-colors-highlights-blue-text)}.bn-block:has(>.bn-block-content[data-text-color=blue]){color:var(--bn-colors-highlights-blue-text)}[data-style-type=textColor][data-value=purple],.bn-color-icon[data-text-color=purple]{color:var(--bn-colors-highlights-purple-text)}.bn-block:has(>.bn-block-content[data-text-color=purple]){color:var(--bn-colors-highlights-purple-text)}[data-style-type=textColor][data-value=pink],.bn-color-icon[data-text-color=pink]{color:var(--bn-colors-highlights-pink-text)}.bn-block:has(>.bn-block-content[data-text-color=pink]){color:var(--bn-colors-highlights-pink-text)}[data-style-type=backgroundColor][data-value=gray],.bn-color-icon[data-background-color=gray]{background-color:var(--bn-colors-highlights-gray-background)}.bn-block:has(>.bn-block-content[data-background-color=gray]){background-color:var(--bn-colors-highlights-gray-background)}[data-style-type=backgroundColor][data-value=brown],.bn-color-icon[data-background-color=brown]{background-color:var(--bn-colors-highlights-brown-background)}.bn-block:has(>.bn-block-content[data-background-color=brown]){background-color:var(--bn-colors-highlights-brown-background)}[data-style-type=backgroundColor][data-value=red],.bn-color-icon[data-background-color=red]{background-color:var(--bn-colors-highlights-red-background)}.bn-block:has(>.bn-block-content[data-background-color=red]){background-color:var(--bn-colors-highlights-red-background)}[data-style-type=backgroundColor][data-value=orange],.bn-color-icon[data-background-color=orange]{background-color:var(--bn-colors-highlights-orange-background)}.bn-block:has(>.bn-block-content[data-background-color=orange]){background-color:var(--bn-colors-highlights-orange-background)}[data-style-type=backgroundColor][data-value=yellow],.bn-color-icon[data-background-color=yellow]{background-color:var(--bn-colors-highlights-yellow-background)}.bn-block:has(>.bn-block-content[data-background-color=yellow]){background-color:var(--bn-colors-highlights-yellow-background)}[data-style-type=backgroundColor][data-value=green],.bn-color-icon[data-background-color=green]{background-color:var(--bn-colors-highlights-green-background)}.bn-block:has(>.bn-block-content[data-background-color=green]){background-color:var(--bn-colors-highlights-green-background)}[data-style-type=backgroundColor][data-value=blue],.bn-color-icon[data-background-color=blue]{background-color:var(--bn-colors-highlights-blue-background)}.bn-block:has(>.bn-block-content[data-background-color=blue]){background-color:var(--bn-colors-highlights-blue-background)}[data-style-type=backgroundColor][data-value=purple],.bn-color-icon[data-background-color=purple]{background-color:var(--bn-colors-highlights-purple-background)}.bn-block:has(>.bn-block-content[data-background-color=purple]){background-color:var(--bn-colors-highlights-purple-background)}[data-style-type=backgroundColor][data-value=pink],.bn-color-icon[data-background-color=pink]{background-color:var(--bn-colors-highlights-pink-background)}.bn-block:has(>.bn-block-content[data-background-color=pink]){background-color:var(--bn-colors-highlights-pink-background)}.bn-root{--bn-ui-base-z-index:0}.bn-side-menu{height:30px}.bn-side-menu[data-block-type=heading][data-level="1"]{height:108px}.bn-side-menu[data-block-type=heading][data-level="2"]{height:84px}.bn-side-menu[data-block-type=heading][data-level="3"]{height:67px}.bn-side-menu[data-block-type=file]{height:38px}.bn-side-menu[data-block-type=audio]{height:60px}.bn-side-menu[data-url=false]{height:54px}.bn-threads-sidebar{border-radius:var(--bn-border-radius-medium);flex-direction:column;gap:10px;display:flex;overflow:auto}.bn-thread-expand-prompt .mantine-Text-root,.bn-thread .bn-header-text{color:var(--bn-colors-menu-text)}.bn-threads-sidebar .bn-thread .bn-editor{background-color:#0000}.bn-threads-sidebar .bn-thread.selected{background-color:#f5f9fd;border:2px solid #c2dcf8}.dark .bn-threads-sidebar .bn-thread.selected{background-color:#20242a;border:2px solid #23405b}.bn-mobile-formatting-toolbar{bottom:var(--bn-mobile-keyboard-offset,0px);z-index:calc(var(--bn-ui-base-z-index) + 40);touch-action:pan-x;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0);transition:bottom .15s ease-out;display:flex;position:fixed;left:0;right:0;overflow-x:auto}.bn-root em-emoji-picker{max-height:100%}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-menu{z-index:50;max-height:var(--popover-available-height);overscroll-behavior:contain;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;min-width:180px;padding:.5rem;display:flex;position:relative;overflow:visible;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;outline:none!important}.bn-ak-menu:not(:focus) .bn-ak-menu-item:not(:focus)[aria-expanded=true]{color:currentColor;background-color:#00000013}.bn-ak-menu:not(:focus) .bn-ak-menu-item:not(:focus)[aria-expanded=true]:where(.dark,.dark *){background-color:#ffffff1a}.bn-ak-menu-item .label{flex:1}.bn-ak-primary{--border:#00000026;--highlight:#ffffff40;--shadow:#00000026;color:#fff;background-color:#007acc;justify-content:center}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-wrapper{background-color:#fff;border-radius:.5rem;flex-direction:column;gap:1.5rem;width:320px;max-width:100%;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.bn-ak-label{padding-left:1rem}.bn-ak-field{flex-direction:column;gap:.5rem;display:flex}.bn-ak-input{color:#000;background-color:#edf0f366;border-style:none;border-radius:.375rem;width:100%;height:2.5rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;box-shadow:inset 0 0 0 1px #0000001a,inset 0 2px 5px #0000000d}.bn-ak-input::placeholder{color:#0009}.bn-ak-input:hover{background-color:#edf0f3}.bn-ak-popover:focus-visible,.bn-ak-popover[data-focus-visible],.bn-ak-input:focus-visible,.bn-ak-input[data-focus-visible]{outline-offset:-1px;outline:2px solid #007acc}.bn-ak-input:where(.dark,.dark *){color:#fff;background-color:#181a1b;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 -1px #ffffff0d,inset 0 2px 5px #00000026}.bn-ak-input:where(.dark,.dark *)::placeholder{color:#ffffff75}.bn-ak-input:hover:where(.dark,.dark *){background-color:#141515}.bn-ak-error{color:#990008;background-color:#e9afb266;border-width:1px;border-color:#e9afb2;border-radius:.375rem;width:fit-content;padding:.5rem 1rem}.bn-ak-error:empty{display:none}.bn-ak-error:where(.dark,.dark *){color:#ffcccf;background-color:#a72f3540;border-color:#c7383f66}.bn-ak-buttons{gap:1rem;padding-top:1rem;display:flex}.bn-ak-button{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#000;outline-offset:2px;height:2.5rem;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);background-color:#fff;border-style:none;border-radius:.5rem;outline-width:2px;outline-color:#007acc;justify-content:center;align-items:center;gap:.25rem;padding-left:1rem;padding-right:1rem;font-size:1rem;font-weight:500;line-height:1.5rem;text-decoration-line:none;display:flex}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-menu{z-index:50;overscroll-behavior:contain;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;min-width:180px;padding:.5rem;display:flex;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;outline:none!important}.bn-ak-menu:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ak-menu-item{cursor:default;border-radius:.25rem;align-items:center;gap:.5rem;padding:.5rem;scroll-margin:.5rem;display:flex;outline:none!important}.bn-ak-menu-item[aria-disabled=true]{opacity:.25}.bn-ak-menu-item[data-active-item]{color:#fff;background-color:#007acc}.bn-ak-menu-item:active,.bn-ak-menu-item[data-active]{background-color:#0062a3;padding-top:9px;padding-bottom:7px}.bn-ak-button{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#000;outline-offset:2px;height:2.5rem;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);background-color:#fff;border-style:none;border-radius:.5rem;outline-width:2px;outline-color:#007acc;justify-content:space-between;align-items:center;gap:.25rem;width:200px;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;text-decoration-line:none;display:flex}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-wrapper{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.bn-ak-popover{z-index:50;max-height:min(var(--popover-available-height,300px), 300px);overscroll-behavior:contain;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;padding:.5rem;display:flex;overflow:auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bn-ak-popover:focus-visible,.bn-ak-popover[data-focus-visible]{outline-offset:-1px;outline:2px solid #007acc}.bn-ak-popover:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ak-select-item{cursor:default;border-radius:.25rem;align-items:center;gap:.5rem;padding:.5rem;scroll-margin:.5rem;display:flex;outline:none!important}.bn-ak-select-item[aria-disabled=true]{opacity:.5}.bn-ak-select-item[data-active-item]{color:#fff;background-color:#007acc}.bn-ak-separator{border-color:#dae2e7;border-top-width:1px;width:100%;height:0;margin-top:.5rem;margin-bottom:.5rem}.bn-ak-group-label{cursor:default;opacity:.6;padding:.5rem;font-size:.875rem;font-weight:500;line-height:1.25rem}.bn-ak-group-label+*{scroll-margin-top:2.5rem}.bn-ak-wrapper{background-color:#fff;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.bn-ak-wrapper:where(.dark,.dark *){background-color:#27292a;box-shadow:0 1px 3px #00000040,0 1px 2px -1px #0000001a}.bn-ak-tab-list{gap:.5rem;display:flex}.bn-ak-tab{-webkit-user-select:none;user-select:none;white-space:nowrap;outline-offset:2px;border-style:none;border-radius:.25rem;outline-width:2px;outline-color:#007acc;justify-content:center;align-items:center;gap:.5rem;height:2.5rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;text-decoration-line:none;display:flex}.bn-ak-tab:hover{background-color:#00000013}.bn-ak-tab[aria-disabled=true]{opacity:.5}.bn-ak-tab[aria-selected=true]{color:#fff;background-color:#007acc}.bn-ak-tab:hover[aria-selected=true]{background-color:#0062a3}.bn-ak-tab[data-focus-visible]{outline-style:solid}.bn-ak-tab:active,.bn-ak-tab[data-active]{padding-top:.125rem}.bn-ak-tab:hover:where(.dark,.dark *){background-color:#ffffff1a}.bn-ak-tab[aria-selected=true]:where(.dark,.dark *){color:#fff;background-color:#007acc}.bn-ak-tab:hover[aria-selected=true]:where(.dark,.dark *){background-color:#0062a3}.bn-ak-panels{padding:.5rem}.bn-ak-button{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#000;outline-offset:2px;height:2.5rem;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);background-color:#fff;border-style:none;border-radius:.25rem;outline-width:2px;outline-color:#007acc;justify-content:center;align-items:center;gap:.5rem;padding-left:1rem;padding-right:1rem;scroll-margin-left:.25rem;scroll-margin-right:.25rem;font-size:1rem;line-height:1.5rem;text-decoration-line:none;display:flex}.bn-ak-button:where(.dark,.dark *){--border:#ffffff1a;--highlight:#ffffff0d;--shadow:#00000040;color:#fff;box-shadow:inset 0 0 0 1px var(--border), inset 0 -1px 0 1px var(--shadow), inset 0 1px 0 var(--highlight);background-color:#ffffff0d}.bn-ak-button:not(:active):hover{--border:#00000054}.bn-ak-button:where(.dark,.dark *):not(:active):hover{--border:#ffffff40}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-secondary{color:currentColor;box-shadow:none;background-color:#0000}.bn-ak-secondary:hover{background-color:#0000000d}.bn-ak-secondary:where(.dark,.dark *){box-shadow:none;background-color:#0000}.bn-ak-secondary:hover:where(.dark,.dark *){background-color:#ffffff0d}.bn-ak-secondary:active:where(.dark,.dark *),.bn-ak-secondary[data-active]:where(.dark,.dark *){box-shadow:none}.bn-ak-toolbar{background-color:#fff;border-radius:.5rem;align-items:center;gap:.25rem;max-width:100%;padding:.25rem;display:flex;overflow-x:auto;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.bn-ak-toolbar:where(.dark,.dark *){background-color:#27292a;box-shadow:0 1px 3px #00000040,0 1px 2px -1px #0000001a}.bn-ak-separator{border-color:#dae2e7;border-right-width:1px;height:2rem}.bn-ak-separator:where(.dark,.dark *){border-color:#45484a}.bn-ak-tooltip{z-index:50;cursor:default;color:#000;background-color:#edf0f3;border-width:1px;border-color:#c8d3da;border-radius:.375rem;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;box-shadow:0 1px 2px #0000000d}.bn-ak-tooltip:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 1px 2px #00000026}.bn-ak-link{color:#006bb3;text-underline-offset:.25em;font-weight:500;text-decoration-line:underline;text-decoration-thickness:1px}.bn-ak-link:hover{text-decoration-thickness:3px}.bn-ak-link:where(.dark,.dark *){color:#47b6ff}.bn-ak-primary{--border:#00000026;--highlight:#ffffff40;--shadow:#00000026;color:#fff;background-color:#007acc}.bn-ak-primary:hover{--border:#00000059;background-color:#006bb3}.bn-ak-primary:where(.dark,.dark *){--border:#ffffff40;--highlight:#ffffff1a;--shadow:#00000040;background-color:#006bb3}.bn-ak-primary:hover:where(.dark,.dark *){--border:#ffffff73;background-color:#007acc}.bn-ak-button[aria-disabled=true]{opacity:.5}.bn-ak-button[data-focus-visible]{outline-style:solid}.bn-ak-button:active,.bn-ak-button[data-active]{box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--border);padding-top:.125rem}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-button:active:where(.dark,.dark *),.bn-ak-button[data-active]:where(.dark,.dark *){box-shadow:inset 0 0 0 1px var(--border), inset 0 1px 1px 1px var(--shadow)}.bn-ak-flat,.bn-ak-flat:where(.dark,.dark *),.bn-ak-flat:active:where(.dark,.dark *),.bn-ak-flat[data-active]:where(.dark,.dark *){box-shadow:none}.bn-ak-anchor{color:#006bb3;text-underline-offset:.25em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;font-weight:500;text-decoration-line:underline}.bn-ak-anchor:hover{text-decoration-thickness:3px}.bn-ak-anchor:where(.dark,.dark *){color:#47b6ff}.bn-ak-hovercard{z-index:50;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;gap:.5rem;width:300px;padding:1rem;display:flex;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bn-ak-hovercard:focus-visible,.bn-ak-hovercard[data-focus-visible]{outline-offset:2px;outline:2px solid #007acc}.bn-ak-hovercard:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ak-avatar{border-radius:9999px;width:4rem}.bn-ak-username{font-size:1.125rem;font-weight:600;line-height:1.75rem}.bn-ak-input-wrapper{align-items:center;gap:.5rem;display:flex}.bn-ak-input-wrapper svg{width:24px}.bn-ak-toolbar{max-width:100vw;height:fit-content;overflow:scroll}.bn-toolbar .bn-ak-button{width:unset}.bn-toolbar .bn-ak-button[data-selected]{box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--border);padding-top:.125rem}.bn-toolbar .bn-ak-button[data-selected]:where(.dark,.dark *){box-shadow:inset 0 0 0 1px var(--border), inset 0 1px 1px 1px var(--shadow)}.bn-toolbar .bn-ak-popover{gap:.5rem}.bn-ariakit .bn-panel{max-width:100vw}.bn-ariakit .bn-tab-panel{flex-direction:column;align-items:center;gap:.5rem;display:flex}.bn-ariakit .bn-file-input{max-width:100%}.bn-ak-button{cursor:pointer;outline-style:none}.bn-ak-menu-item[aria-selected=true],.bn-ak-menu-item:hover{color:#fff;background-color:#007acc}.bn-ak-menu-item{display:flex}.bn-ariakit .bn-dropdown{overflow:visible}.bn-ariakit .bn-suggestion-menu,.bn-ariakit .ai-suggestion-menu{height:fit-content;max-height:inherit;overflow:auto}.bn-ariakit .bn-color-picker-dropdown{overflow:scroll}.bn-ak-suggestion-menu-item-body{flex:1}.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-title{font-size:.875rem}.bn-ak-suggestion-menu-item-subtitle{font-size:.7rem}.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-subtitle{display:none}.bn-ak-suggestion-menu-item-section[data-position=left]{justify-content:center;align-items:center;padding:8px;display:flex}.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-section[data-position=left]{padding:0}.bn-ak-suggestion-menu-item-section[data-position=right]{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);border-radius:4px;padding-inline:4px;font-size:.7rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bn-ariakit .bn-suggestion-menu-loader{justify-content:center;align-items:center;width:16px;height:16px;animation:1s linear infinite spin;display:flex}.bn-ariakit .bn-grid-suggestion-menu{background:var(--bn-colors-menu-background);border-radius:var(--bn-border-radius-large);box-shadow:var(--bn-shadow-medium);height:fit-content;max-height:inherit;justify-items:center;gap:7px;padding:20px;display:grid;overflow-y:auto}.bn-ariakit .bn-grid-suggestion-menu-item{border-radius:var(--bn-border-radius-large);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;margin:2px;padding:4px;font-size:24px;display:flex}.bn-ariakit .bn-grid-suggestion-menu-item[aria-selected=true],.bn-ariakit .bn-grid-suggestion-menu-item:hover{background-color:var(--bn-colors-hovered-background)}.bn-ariakit .bn-grid-suggestion-menu-empty-item,.bn-ariakit .bn-grid-suggestion-menu-loader{color:var(--bn-colors-menu-text);justify-content:center;align-items:center;height:32px;font-size:14px;font-weight:500;display:flex}.bn-ariakit .bn-grid-suggestion-menu-loader span{background-color:var(--bn-colors-side-menu)}.bn-ariakit .bn-side-menu{justify-content:center;align-items:center;display:flex}.bn-side-menu .bn-ak-button{width:fit-content;height:fit-content;padding:0}.bn-ariakit .bn-panel-popover{box-shadow:none;background-color:#0000;border:none}.bn-ariakit .bn-table-handle,.bn-ariakit .bn-table-cell-handle{width:fit-content;height:fit-content;padding:0}.bn-ariakit .bn-side-menu,.bn-ariakit .bn-table-handle,.bn-ariakit .bn-extend-button,.bn-ariakit .bn-table-cell-handle{color:gray}.bn-ariakit .bn-extend-button-editing{background-color:#0000000d}.bn-ariakit .bn-extend-button-editing:where(.dark,.dark *){background-color:#ffffff0d}.bn-ariakit .bn-extend-button-add-remove-columns{cursor:col-resize;width:18px;height:100%;margin-left:4px;padding:0}.bn-ariakit .bn-extend-button-add-remove-rows{cursor:row-resize;width:100%;height:18px;margin-top:4px;padding:0}.bn-ak-button:where(.dark,.dark *){color:#fff}.bn-ak-tab,.bn-ariakit .bn-file-input{color:#000;background-color:#0000}.bn-ak-tab:where(.dark,.dark *),.bn-ariakit .bn-file-input:where(.dark,.dark *){color:#fff}.bn-ak-tooltip{white-space:pre-wrap;flex-direction:column;align-items:center;display:flex}.bn-ariakit .bn-thread-comments{flex-direction:column;gap:16px;display:flex}.bn-ak-avatar{width:24px;height:24px}.bn-ak-username{align-items:center;gap:8px;font-size:14px;line-height:1rem;display:flex}.bn-ak-username>span{font-size:10px}.bn-ak-author-info{align-items:center;gap:16px;display:flex}.bn-ariakit .bn-comment-editor .bn-editor{background-color:#0000}.bn-ak-badge{border-radius:12px;align-items:center;gap:4px;width:fit-content;height:fit-content;padding:2px 10px;display:flex;position:relative}.bn-ak-badge span{align-items:center;height:fit-content;display:flex}.bn-ak-badge-group{flex-wrap:wrap;align-items:center;gap:4px;width:100%;display:flex}.bn-ariakit .bn-thread-comment{flex-direction:column;gap:4px;display:flex;position:relative}.bn-ariakit .bn-action-toolbar .bn-ak-button{width:fit-content;height:1.5rem;padding:8px}.bn-ak-hovercard{z-index:0}.bn-ak-panel-popover{box-shadow:none;background-color:#0000;border:none;padding:0}.bn-ariakit .bn-combobox .bn-ak-input-wrapper{color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;padding:.5rem;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bn-ariakit .bn-combobox .bn-ak-input-wrapper:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ariakit .bn-combobox .bn-ak-input{box-shadow:none;background:0 0;border:none;outline:none}.bn-ariakit .bn-combobox .bn-combobox-icon,.bn-ariakit .bn-combobox .bn-combobox-right-section{justify-content:center;align-items:start;width:24px;display:flex}.bn-ariakit .bn-combobox .bn-combobox-error{color:var(--bn-colors-highlights-red-background)}.bn-ariakit .bn-comment-actions-wrapper{justify-content:flex-end;align-items:start;display:flex}.bn-ak-skeleton{background-color:#ffffff40}.bn-ak-username.bn-ak-skeleton{border-radius:8px;width:100px;height:16px}.bn-ak-expand-sections-prompt{width:fit-content;padding:0}.bn-ak-expand-sections-prompt:hover{background-color:#0000}.bn-ariakit .bn-thread .bn-header-text,.bn-ariakit .bn-thread .bn-resolved-text{font-size:.8rem;font-style:italic}.bn-ariakit .bn-thread.selected .bn-header-text,.bn-ariakit .bn-thread.selected .bn-resolved-text,.bn-ariakit .bn-thread.selected .bn-ak-author-info,.bn-ariakit .bn-thread.selected .bn-ak-expand-sections-prompt{color:var(--bn-colors-selected-text)}
|
|
1
|
+
.bn-block-outer{line-height:1.5;transition:margin .2s}.bn-block{flex-direction:column;display:flex}.bn-block-content{width:100%;padding:3px 0;transition:font-size .2s;display:flex}.bn-block-content.ProseMirror-selectednode>*,.ProseMirror-selectednode>.bn-block-content>*{border-radius:4px;outline:4px solid #64a0ff}.bn-block-content:before{content:"";height:0;margin-right:0;transition:all .2s;overflow:visible}.bn-inline-content{white-space:pre-wrap}.bn-trailing-block{cursor:text;height:30px}.bn-block-group .bn-block-group{margin-left:24px}.bn-block-group .bn-block-group>.bn-block-outer{position:relative}.bn-block-group .bn-block-group>.bn-block-outer:not([data-prev-depth-changed]):before{content:" ";height:100%;transition:all .2s .1s;display:inline;position:absolute;left:-20px}.bn-block-group .bn-block-group>.bn-block-outer[data-prev-depth-change="-2"]:before{height:0}.bn-inline-content code{font-family:monospace}[data-prev-depth-change="1"]{--x:1}[data-prev-depth-change="2"]{--x:2}[data-prev-depth-change="3"]{--x:3}[data-prev-depth-change="4"]{--x:4}[data-prev-depth-change="5"]{--x:5}[data-prev-depth-change="-1"]{--x:-1}[data-prev-depth-change="-2"]{--x:-2}[data-prev-depth-change="-3"]{--x:-3}[data-prev-depth-change="-4"]{--x:-4}[data-prev-depth-change="-5"]{--x:-5}.bn-block-outer[data-prev-depth-change]{margin-left:calc(10px * var(--x))}.bn-block-outer[data-prev-depth-change] .bn-block-outer[data-prev-depth-change]{margin-left:0}[data-content-type=heading]{--level:3em;padding-top:18px}[data-content-type=heading][data-level="2"]{--level:2em}[data-content-type=heading][data-level="3"]{--level:1.3em}[data-content-type=heading][data-level="4"]{--level:1em}[data-content-type=heading][data-level="5"]{--level:.9em}[data-content-type=heading][data-level="6"]{--level:.8em}[data-prev-level="1"]{--prev-level:3em}[data-prev-level="2"]{--prev-level:2em}[data-prev-level="3"]{--prev-level:1.3em}[data-prev-level="4"]{--prev-level:1em}[data-prev-level="5"]{--prev-level:.9em}[data-prev-level="6"]{--prev-level:.8em}.bn-block-outer[data-prev-type=heading]>.bn-block>.bn-block-content{font-size:var(--prev-level);font-weight:700}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=heading],.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>div[data-type=modification]>.bn-block-content[data-content-type=heading]{font-size:var(--level);font-weight:700}[data-content-type=quote] blockquote{color:#7d797a;border-left:2px solid #7d797a;margin:0;padding-left:1em}[data-content-type=divider] hr{border:none;border-top:1px solid #7d797a;flex:1;margin:.5em 0}.bn-block-content:before{content:"";margin-right:0}.bn-block-content[data-content-type=numberedListItem]:before{justify-content:center;min-width:24px;padding-right:4px;display:flex}[data-content-type=numberedListItem]{--index:attr(data-index)}[data-prev-type=numberedListItem]{--prev-index:attr(data-prev-index)}.bn-block-outer[data-prev-type=numberedListItem]:not([data-prev-index=none])>.bn-block>.bn-block-content:before{content:var(--prev-index) "."}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=numberedListItem]:before,.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=numberedListItem]:before{content:var(--index) "."}.bn-block-content[data-content-type=bulletListItem]:before{justify-content:center;min-width:24px;padding-right:4px;display:flex}.bn-block-content[data-content-type=checkListItem]>div:has(>input){height:24px}.bn-block-content[data-content-type=checkListItem]>div>input{cursor:pointer;margin-left:4px;margin-right:8px;width:12px;height:24px;margin-block:0}.bn-block-content[data-content-type=checkListItem][data-checked=true] .bn-inline-content{text-decoration:line-through}.bn-block-content[data-text-alignment=center]{justify-content:center}.bn-block-content[data-text-alignment=right]{justify-content:flex-end}:is(.bn-block:has(>.bn-block-content>div>.bn-toggle-wrapper[data-show-children=false])>.bn-block-group,.bn-block:has(>.react-renderer>.bn-block-content>div>.bn-toggle-wrapper[data-show-children=false])>.bn-block-group){display:none}.bn-toggle-wrapper{align-items:center;display:flex}.bn-toggle-button{color:var(--bn-colors-editor-text);padding:3px}.bn-toggle-button>svg{width:18px;height:18px}.bn-toggle-wrapper[data-show-children=true] .bn-toggle-button{transform:rotate(90deg)}.bn-toggle-add-block-button{color:var(--bn-colors-side-menu);width:fit-content;margin-left:22px;padding-inline:2px;font-size:16px;font-weight:400}.bn-toggle-button,.bn-toggle-add-block-button{border-radius:var(--bn-border-radius-small);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;display:flex}.bn-toggle-button:hover,.bn-toggle-add-block-button:hover{background-color:var(--bn-colors-hovered-background)}.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before,.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before,.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=bulletListItem]:before{content:"•"}[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before,[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before,[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=bulletListItem]:before{content:"◦"}[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before,[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before,[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>.bn-block-content[data-content-type=bulletListItem]:before{content:"▪︎"}.bn-block-content[data-content-type=codeBlock]{color:#fff;background-color:#161616;border-radius:8px;position:relative}.bn-block-content[data-content-type=codeBlock]>pre{white-space:pre;tab-size:2;width:100%;margin:0;padding:24px;overflow-x:auto}.bn-block-content[data-content-type=codeBlock]>div{outline:none!important}.bn-block-content[data-content-type=codeBlock]>div>select{appearance:none;-webkit-user-select:none;user-select:none;cursor:pointer;color:#fff;opacity:0;background-color:#0000;border:none;font-size:.8em;transition:opacity .3s 1s;position:absolute;top:8px;left:18px;outline:none!important}.bn-block-content[data-content-type=codeBlock]>div>select>option{color:#000}.bn-block-content[data-content-type=codeBlock]:hover>div>select,.bn-block-content[data-content-type=codeBlock]>div>select:focus{opacity:.5;transition-delay:.1s}.bn-block-content[data-content-type=pageBreak]>div{border-top:2px dotted #7d797a;width:100%;height:0;margin-block:11px}@media print{.bn-block-content[data-content-type=pageBreak]>div{page-break-after:always}}[data-file-block] .bn-file-block-content-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;margin:0;display:flex}:is([data-file-block] .bn-file-block-content-wrapper:has(.bn-add-file-button),[data-file-block] .bn-file-block-content-wrapper:has(.bn-file-name-with-icon)){width:100%}[data-file-block] .bn-add-file-button{color:#7d797a;background-color:#f2f1ee;border-radius:4px;align-items:center;gap:10px;padding:12px;display:flex}[data-file-block] .bn-add-file-button:where(.dark,.dark *){color:#bebebe;background-color:#464646}.bn-editor[contenteditable=true] [data-file-block] .bn-add-file-button:hover,[data-file-block] .bn-file-name-with-icon:hover,.ProseMirror-selectednode .bn-file-name-with-icon{background-color:#e1e1e1}.bn-editor[contenteditable=true] [data-file-block] .bn-add-file-button:hover:where(.dark,.dark *),[data-file-block] .bn-file-name-with-icon:hover:where(.dark,.dark *),.ProseMirror-selectednode .bn-file-name-with-icon:where(.dark,.dark *){background-color:#5a5a5a}[data-file-block] .bn-add-file-button-icon,[data-file-block] .bn-file-icon{width:24px;height:24px}[data-file-block] .bn-add-file-button-text{font-size:.9rem}[data-file-block] .bn-file-name-with-icon{border-radius:4px;gap:4px;padding:4px;display:flex}[data-file-block] .bn-file-caption{word-break:break-word;padding-block:4px;font-size:.8em}[data-file-block] .bn-file-caption:empty{padding-block:0}[data-file-block] .bn-resize-handle{cursor:ew-resize;background-color:#000;border:1px solid #fff;border-radius:4px;width:8px;height:30px;position:absolute}[data-file-block] .bn-visual-media-wrapper{align-items:center;max-width:100%;display:flex;position:relative}[data-file-block] .bn-visual-media{border-radius:4px;width:100%}[data-content-type=audio]>.bn-file-block-content-wrapper,.bn-audio{width:100%}.bn-block-content:has(.ProseMirror-trailingBreak:only-child):after{pointer-events:none;max-width:100%;margin-inline:-2px;font-style:italic}[data-text-alignment=left]{text-align:left!important;justify-content:flex-start!important}[data-text-alignment=center]{text-align:center!important;justify-content:center!important}[data-text-alignment=right]{text-align:right!important;justify-content:flex-end!important}[data-text-alignment=justify]{text-align:justify!important;justify-content:flex-start!important}.bn-block-column-list{flex-direction:row;display:flex}.bn-block-column{flex:1;padding:12px 20px;overflow-x:auto}.bn-block-column:first-child{padding-left:0}.bn-block-column:last-child{padding-right:0}.bn-thread-mark:not([data-orphan=true]){background:#ffc80026}.bn-thread-mark .bn-thread-mark-selected{background:#ffc80040}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),.ProseMirror th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.ProseMirror .column-resize-handle{z-index:20;pointer-events:none;background-color:#adf;width:4px;position:absolute;top:0;bottom:0;right:-2px}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;content:"";pointer-events:none;background:#c8c8ff66;position:absolute;inset:0}.bn-editor{font-synthesis:style weight;--N800:#172b4d;--N40:#dfe1e6;outline:none;padding-inline:54px}.bn-comment-editor{width:100%;padding:0}.bn-comment-editor .bn-editor{padding:0}.bn-default-styles p,.bn-default-styles h1,.bn-default-styles h2,.bn-default-styles h3,.bn-default-styles h4,.bn-default-styles h5,.bn-default-styles h6,.bn-default-styles li{font-size:inherit;margin:0;padding:0;min-width:2px!important}.bn-default-styles{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Open Sans,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:400}.bn-table-drop-cursor{z-index:20;pointer-events:none;background-color:#adf;position:absolute}.bn-drag-preview{opacity:.001;pointer-events:none;padding:10px;position:absolute;top:0;left:0}.bn-editor .bn-collaboration-cursor__base{position:relative}.bn-editor .bn-collaboration-cursor__base .bn-collaboration-cursor__caret{width:2px;position:absolute;top:1px;bottom:-2px;left:-1px}.bn-editor .bn-collaboration-cursor__base .bn-collaboration-cursor__label{pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none;color:#0000;border-radius:0 1.5px 1.5px 0;max-width:4px;max-height:5px;padding:0;font-size:12px;font-style:normal;font-weight:600;line-height:normal;transition:all .2s;position:absolute;top:-1px;left:0;overflow:hidden}.bn-editor .bn-collaboration-cursor__base[data-active] .bn-collaboration-cursor__label{color:#0d0d0d;border-radius:3px 3px 3px 0;max-width:20rem;max-height:1.1rem;padding:.1rem .3rem;transition:all .2s;top:-17px;left:0}.bn-editor [data-content-type=table] .tableWrapper{--bn-table-widget-size:22px;--bn-table-handle-size:calc(18px / 2);padding:var(--bn-table-handle-size) var(--bn-table-widget-size) var(--bn-table-widget-size) var(--bn-table-handle-size);width:100%;position:relative;overflow-y:hidden}.bn-editor [data-content-type=table] table{word-break:break-word;width:auto!important}.bn-editor [data-content-type=table] th,.bn-editor [data-content-type=table] td{border:1px solid #ddd;padding:5px 10px}.bn-editor [data-content-type=table] th{text-align:left;font-weight:700}.bn-editor [data-content-type=table] th>p,.bn-editor [data-content-type=table] td>p{min-height:1.5rem}.ProseMirror td,.ProseMirror th{min-width:auto!important}.ProseMirror td:not([colwidth]):not(.column-resize-dragging),.ProseMirror th:not([colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)!important}.prosemirror-dropcursor-block{transition-property:top,bottom;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.prosemirror-dropcursor-vertical{transition-property:left,right}[data-show-selection]{background-color:highlight;padding:2px 0}.bn-root{--bn-colors-editor-text:#3f3f3f;--bn-colors-editor-background:#fff;--bn-colors-menu-text:#3f3f3f;--bn-colors-menu-background:#fff;--bn-colors-tooltip-text:#3f3f3f;--bn-colors-tooltip-background:#efefef;--bn-colors-hovered-text:#3f3f3f;--bn-colors-hovered-background:#efefef;--bn-colors-selected-text:#fff;--bn-colors-selected-background:#3f3f3f;--bn-colors-disabled-text:#afafaf;--bn-colors-disabled-background:#efefef;--bn-colors-shadow:#cfcfcf;--bn-colors-border:#efefef;--bn-colors-side-menu:#cfcfcf;--bn-colors-highlights-gray-text:#9b9a97;--bn-colors-highlights-gray-background:#ebeced;--bn-colors-highlights-brown-text:#64473a;--bn-colors-highlights-brown-background:#e9e5e3;--bn-colors-highlights-red-text:#e03e3e;--bn-colors-highlights-red-background:#fbe4e4;--bn-colors-highlights-orange-text:#d9730d;--bn-colors-highlights-orange-background:#f6e9d9;--bn-colors-highlights-yellow-text:#dfab01;--bn-colors-highlights-yellow-background:#fbf3db;--bn-colors-highlights-green-text:#4d6461;--bn-colors-highlights-green-background:#ddedea;--bn-colors-highlights-blue-text:#0b6e99;--bn-colors-highlights-blue-background:#ddebf1;--bn-colors-highlights-purple-text:#6940a5;--bn-colors-highlights-purple-background:#eae4f2;--bn-colors-highlights-pink-text:#ad1a72;--bn-colors-highlights-pink-background:#f4dfeb;--bn-font-family:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--bn-border-radius:6px;--bn-shadow-medium:0 4px 12px var(--bn-colors-shadow);--bn-shadow-light:0 2px 6px var(--bn-colors-border);--bn-border:1px solid var(--bn-colors-border);--bn-border-radius-small:max(var(--bn-border-radius) - 2px, 1px);--bn-border-radius-medium:var(--bn-border-radius);--bn-border-radius-large:max(var(--bn-border-radius) + 2px, 1px)}.bn-root[data-color-scheme=dark]{--bn-colors-editor-text:#cfcfcf;--bn-colors-editor-background:#1f1f1f;--bn-colors-menu-text:#cfcfcf;--bn-colors-menu-background:#1f1f1f;--bn-colors-tooltip-text:#cfcfcf;--bn-colors-tooltip-background:#161616;--bn-colors-hovered-text:#cfcfcf;--bn-colors-hovered-background:#161616;--bn-colors-selected-text:#cfcfcf;--bn-colors-selected-background:#0f0f0f;--bn-colors-disabled-text:#3f3f3f;--bn-colors-disabled-background:#161616;--bn-colors-shadow:#0f0f0f;--bn-colors-border:#161616;--bn-colors-side-menu:#7f7f7f;--bn-colors-highlights-gray-text:#bebdb8;--bn-colors-highlights-gray-background:#9b9a97;--bn-colors-highlights-brown-text:#8e6552;--bn-colors-highlights-brown-background:#64473a;--bn-colors-highlights-red-text:#ec4040;--bn-colors-highlights-red-background:#be3434;--bn-colors-highlights-orange-text:#e3790d;--bn-colors-highlights-orange-background:#b7600a;--bn-colors-highlights-yellow-text:#dfab01;--bn-colors-highlights-yellow-background:#b58b00;--bn-colors-highlights-green-text:#6b8b87;--bn-colors-highlights-green-background:#4d6461;--bn-colors-highlights-blue-text:#0e87bc;--bn-colors-highlights-blue-background:#0b6e99;--bn-colors-highlights-purple-text:#8552d7;--bn-colors-highlights-purple-background:#6940a5;--bn-colors-highlights-pink-text:#da208f;--bn-colors-highlights-pink-background:#ad1a72}.bn-root{font-family:var(--bn-font-family)}.bn-editor{background-color:var(--bn-colors-editor-background);border-radius:var(--bn-border-radius-large);color:var(--bn-colors-editor-text)}.bn-react-node-view-renderer{flex-direction:column;width:100%;display:flex}.bn-block-group .bn-block:not(:has(.bn-toggle-wrapper)) .bn-block-group .bn-block-outer:not([data-prev-depth-changed]):before{border-left:1px solid var(--bn-colors-side-menu)}.bn-block-content:has(.ProseMirror-trailingBreak:only-child):after{color:var(--bn-colors-side-menu)}.bn-root .bn-color-icon{border:var(--bn-border);border-radius:var(--bn-border-radius-small);justify-content:center;align-items:center;display:flex}.bn-error-text{color:red;font-size:12px}[data-style-type=textColor][data-value=gray],[data-text-color=gray]{color:var(--bn-colors-highlights-gray-text)}.bn-block:has(>.bn-block-content[data-text-color=gray]){color:var(--bn-colors-highlights-gray-text)}[data-style-type=textColor][data-value=brown],[data-text-color=brown]{color:var(--bn-colors-highlights-brown-text)}.bn-block:has(>.bn-block-content[data-text-color=brown]){color:var(--bn-colors-highlights-brown-text)}[data-style-type=textColor][data-value=red],[data-text-color=red]{color:var(--bn-colors-highlights-red-text)}.bn-block:has(>.bn-block-content[data-text-color=red]){color:var(--bn-colors-highlights-red-text)}[data-style-type=textColor][data-value=orange],[data-text-color=orange]{color:var(--bn-colors-highlights-orange-text)}.bn-block:has(>.bn-block-content[data-text-color=orange]){color:var(--bn-colors-highlights-orange-text)}[data-style-type=textColor][data-value=yellow],[data-text-color=yellow]{color:var(--bn-colors-highlights-yellow-text)}.bn-block:has(>.bn-block-content[data-text-color=yellow]){color:var(--bn-colors-highlights-yellow-text)}[data-style-type=textColor][data-value=green],[data-text-color=green]{color:var(--bn-colors-highlights-green-text)}.bn-block:has(>.bn-block-content[data-text-color=green]){color:var(--bn-colors-highlights-green-text)}[data-style-type=textColor][data-value=blue],[data-text-color=blue]{color:var(--bn-colors-highlights-blue-text)}.bn-block:has(>.bn-block-content[data-text-color=blue]){color:var(--bn-colors-highlights-blue-text)}[data-style-type=textColor][data-value=purple],[data-text-color=purple]{color:var(--bn-colors-highlights-purple-text)}.bn-block:has(>.bn-block-content[data-text-color=purple]){color:var(--bn-colors-highlights-purple-text)}[data-style-type=textColor][data-value=pink],[data-text-color=pink]{color:var(--bn-colors-highlights-pink-text)}.bn-block:has(>.bn-block-content[data-text-color=pink]){color:var(--bn-colors-highlights-pink-text)}[data-style-type=backgroundColor][data-value=gray],[data-background-color=gray]{background-color:var(--bn-colors-highlights-gray-background)}.bn-block:has(>.bn-block-content[data-background-color=gray]){background-color:var(--bn-colors-highlights-gray-background)}[data-style-type=backgroundColor][data-value=brown],[data-background-color=brown]{background-color:var(--bn-colors-highlights-brown-background)}.bn-block:has(>.bn-block-content[data-background-color=brown]){background-color:var(--bn-colors-highlights-brown-background)}[data-style-type=backgroundColor][data-value=red],[data-background-color=red]{background-color:var(--bn-colors-highlights-red-background)}.bn-block:has(>.bn-block-content[data-background-color=red]){background-color:var(--bn-colors-highlights-red-background)}[data-style-type=backgroundColor][data-value=orange],[data-background-color=orange]{background-color:var(--bn-colors-highlights-orange-background)}.bn-block:has(>.bn-block-content[data-background-color=orange]){background-color:var(--bn-colors-highlights-orange-background)}[data-style-type=backgroundColor][data-value=yellow],[data-background-color=yellow]{background-color:var(--bn-colors-highlights-yellow-background)}.bn-block:has(>.bn-block-content[data-background-color=yellow]){background-color:var(--bn-colors-highlights-yellow-background)}[data-style-type=backgroundColor][data-value=green],[data-background-color=green]{background-color:var(--bn-colors-highlights-green-background)}.bn-block:has(>.bn-block-content[data-background-color=green]){background-color:var(--bn-colors-highlights-green-background)}[data-style-type=backgroundColor][data-value=blue],[data-background-color=blue]{background-color:var(--bn-colors-highlights-blue-background)}.bn-block:has(>.bn-block-content[data-background-color=blue]){background-color:var(--bn-colors-highlights-blue-background)}[data-style-type=backgroundColor][data-value=purple],[data-background-color=purple]{background-color:var(--bn-colors-highlights-purple-background)}.bn-block:has(>.bn-block-content[data-background-color=purple]){background-color:var(--bn-colors-highlights-purple-background)}[data-style-type=backgroundColor][data-value=pink],[data-background-color=pink]{background-color:var(--bn-colors-highlights-pink-background)}.bn-block:has(>.bn-block-content[data-background-color=pink]){background-color:var(--bn-colors-highlights-pink-background)}.bn-root{--bn-ui-base-z-index:0}.bn-side-menu{height:30px}.bn-side-menu[data-block-type=heading][data-level="1"]{height:108px}.bn-side-menu[data-block-type=heading][data-level="2"]{height:84px}.bn-side-menu[data-block-type=heading][data-level="3"]{height:67px}.bn-side-menu[data-block-type=file]{height:38px}.bn-side-menu[data-block-type=audio]{height:60px}.bn-side-menu[data-url=false]{height:54px}.bn-threads-sidebar{border-radius:var(--bn-border-radius-medium);flex-direction:column;gap:10px;display:flex;overflow:auto}.bn-thread-expand-prompt .mantine-Text-root,.bn-thread .bn-header-text{color:var(--bn-colors-menu-text)}.bn-threads-sidebar .bn-thread .bn-editor{background-color:#0000}.bn-threads-sidebar .bn-thread.selected{background-color:#f5f9fd;border:2px solid #c2dcf8}.dark .bn-threads-sidebar .bn-thread.selected{background-color:#20242a;border:2px solid #23405b}.bn-mobile-formatting-toolbar{bottom:var(--bn-mobile-keyboard-offset,0px);z-index:calc(var(--bn-ui-base-z-index) + 40);touch-action:pan-x;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0);transition:bottom .15s ease-out;display:flex;position:fixed;left:0;right:0;overflow-x:auto}.bn-root em-emoji-picker{max-height:100%}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-menu{z-index:50;max-height:var(--popover-available-height);overscroll-behavior:contain;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;min-width:180px;padding:.5rem;display:flex;position:relative;overflow:visible;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;outline:none!important}.bn-ak-menu:not(:focus) .bn-ak-menu-item:not(:focus)[aria-expanded=true]{color:currentColor;background-color:#00000013}.bn-ak-menu:not(:focus) .bn-ak-menu-item:not(:focus)[aria-expanded=true]:where(.dark,.dark *){background-color:#ffffff1a}.bn-ak-menu-item .label{flex:1}.bn-ak-primary{--border:#00000026;--highlight:#ffffff40;--shadow:#00000026;color:#fff;background-color:#007acc;justify-content:center}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-wrapper{background-color:#fff;border-radius:.5rem;flex-direction:column;gap:1.5rem;width:320px;max-width:100%;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.bn-ak-label{padding-left:1rem}.bn-ak-field{flex-direction:column;gap:.5rem;display:flex}.bn-ak-input{color:#000;background-color:#edf0f366;border-style:none;border-radius:.375rem;width:100%;height:2.5rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;box-shadow:inset 0 0 0 1px #0000001a,inset 0 2px 5px #0000000d}.bn-ak-input::placeholder{color:#0009}.bn-ak-input:hover{background-color:#edf0f3}.bn-ak-popover:focus-visible,.bn-ak-popover[data-focus-visible],.bn-ak-input:focus-visible,.bn-ak-input[data-focus-visible]{outline-offset:-1px;outline:2px solid #007acc}.bn-ak-input:where(.dark,.dark *){color:#fff;background-color:#181a1b;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 -1px #ffffff0d,inset 0 2px 5px #00000026}.bn-ak-input:where(.dark,.dark *)::placeholder{color:#ffffff75}.bn-ak-input:hover:where(.dark,.dark *){background-color:#141515}.bn-ak-error{color:#990008;background-color:#e9afb266;border-width:1px;border-color:#e9afb2;border-radius:.375rem;width:fit-content;padding:.5rem 1rem}.bn-ak-error:empty{display:none}.bn-ak-error:where(.dark,.dark *){color:#ffcccf;background-color:#a72f3540;border-color:#c7383f66}.bn-ak-buttons{gap:1rem;padding-top:1rem;display:flex}.bn-ak-button{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#000;outline-offset:2px;height:2.5rem;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);background-color:#fff;border-style:none;border-radius:.5rem;outline-width:2px;outline-color:#007acc;justify-content:center;align-items:center;gap:.25rem;padding-left:1rem;padding-right:1rem;font-size:1rem;font-weight:500;line-height:1.5rem;text-decoration-line:none;display:flex}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-menu{z-index:50;overscroll-behavior:contain;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;min-width:180px;padding:.5rem;display:flex;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;outline:none!important}.bn-ak-menu:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ak-menu-item{cursor:default;border-radius:.25rem;align-items:center;gap:.5rem;padding:.5rem;scroll-margin:.5rem;display:flex;outline:none!important}.bn-ak-menu-item[aria-disabled=true]{opacity:.25}.bn-ak-menu-item[data-active-item]{color:#fff;background-color:#007acc}.bn-ak-menu-item:active,.bn-ak-menu-item[data-active]{background-color:#0062a3;padding-top:9px;padding-bottom:7px}.bn-ak-button{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#000;outline-offset:2px;height:2.5rem;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);background-color:#fff;border-style:none;border-radius:.5rem;outline-width:2px;outline-color:#007acc;justify-content:space-between;align-items:center;gap:.25rem;width:200px;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;text-decoration-line:none;display:flex}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-wrapper{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.bn-ak-popover{z-index:50;max-height:min(var(--popover-available-height,300px), 300px);overscroll-behavior:contain;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;padding:.5rem;display:flex;overflow:auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bn-ak-popover:focus-visible,.bn-ak-popover[data-focus-visible]{outline-offset:-1px;outline:2px solid #007acc}.bn-ak-popover:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ak-select-item{cursor:default;border-radius:.25rem;align-items:center;gap:.5rem;padding:.5rem;scroll-margin:.5rem;display:flex;outline:none!important}.bn-ak-select-item[aria-disabled=true]{opacity:.5}.bn-ak-select-item[data-active-item]{color:#fff;background-color:#007acc}.bn-ak-separator{border-color:#dae2e7;border-top-width:1px;width:100%;height:0;margin-top:.5rem;margin-bottom:.5rem}.bn-ak-group-label{cursor:default;opacity:.6;padding:.5rem;font-size:.875rem;font-weight:500;line-height:1.25rem}.bn-ak-group-label+*{scroll-margin-top:2.5rem}.bn-ak-wrapper{background-color:#fff;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.bn-ak-wrapper:where(.dark,.dark *){background-color:#27292a;box-shadow:0 1px 3px #00000040,0 1px 2px -1px #0000001a}.bn-ak-tab-list{gap:.5rem;display:flex}.bn-ak-tab{-webkit-user-select:none;user-select:none;white-space:nowrap;outline-offset:2px;border-style:none;border-radius:.25rem;outline-width:2px;outline-color:#007acc;justify-content:center;align-items:center;gap:.5rem;height:2.5rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;text-decoration-line:none;display:flex}.bn-ak-tab:hover{background-color:#00000013}.bn-ak-tab[aria-disabled=true]{opacity:.5}.bn-ak-tab[aria-selected=true]{color:#fff;background-color:#007acc}.bn-ak-tab:hover[aria-selected=true]{background-color:#0062a3}.bn-ak-tab[data-focus-visible]{outline-style:solid}.bn-ak-tab:active,.bn-ak-tab[data-active]{padding-top:.125rem}.bn-ak-tab:hover:where(.dark,.dark *){background-color:#ffffff1a}.bn-ak-tab[aria-selected=true]:where(.dark,.dark *){color:#fff;background-color:#007acc}.bn-ak-tab:hover[aria-selected=true]:where(.dark,.dark *){background-color:#0062a3}.bn-ak-panels{padding:.5rem}.bn-ak-button{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#000;outline-offset:2px;height:2.5rem;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);background-color:#fff;border-style:none;border-radius:.25rem;outline-width:2px;outline-color:#007acc;justify-content:center;align-items:center;gap:.5rem;padding-left:1rem;padding-right:1rem;scroll-margin-left:.25rem;scroll-margin-right:.25rem;font-size:1rem;line-height:1.5rem;text-decoration-line:none;display:flex}.bn-ak-button:where(.dark,.dark *){--border:#ffffff1a;--highlight:#ffffff0d;--shadow:#00000040;color:#fff;box-shadow:inset 0 0 0 1px var(--border), inset 0 -1px 0 1px var(--shadow), inset 0 1px 0 var(--highlight);background-color:#ffffff0d}.bn-ak-button:not(:active):hover{--border:#00000054}.bn-ak-button:where(.dark,.dark *):not(:active):hover{--border:#ffffff40}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-secondary{color:currentColor;box-shadow:none;background-color:#0000}.bn-ak-secondary:hover{background-color:#0000000d}.bn-ak-secondary:where(.dark,.dark *){box-shadow:none;background-color:#0000}.bn-ak-secondary:hover:where(.dark,.dark *){background-color:#ffffff0d}.bn-ak-secondary:active:where(.dark,.dark *),.bn-ak-secondary[data-active]:where(.dark,.dark *){box-shadow:none}.bn-ak-toolbar{background-color:#fff;border-radius:.5rem;align-items:center;gap:.25rem;max-width:100%;padding:.25rem;display:flex;overflow-x:auto;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.bn-ak-toolbar:where(.dark,.dark *){background-color:#27292a;box-shadow:0 1px 3px #00000040,0 1px 2px -1px #0000001a}.bn-ak-separator{border-color:#dae2e7;border-right-width:1px;height:2rem}.bn-ak-separator:where(.dark,.dark *){border-color:#45484a}.bn-ak-tooltip{z-index:50;cursor:default;color:#000;background-color:#edf0f3;border-width:1px;border-color:#c8d3da;border-radius:.375rem;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;box-shadow:0 1px 2px #0000000d}.bn-ak-tooltip:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 1px 2px #00000026}.bn-ak-link{color:#006bb3;text-underline-offset:.25em;font-weight:500;text-decoration-line:underline;text-decoration-thickness:1px}.bn-ak-link:hover{text-decoration-thickness:3px}.bn-ak-link:where(.dark,.dark *){color:#47b6ff}.bn-ak-primary{--border:#00000026;--highlight:#ffffff40;--shadow:#00000026;color:#fff;background-color:#007acc}.bn-ak-primary:hover{--border:#00000059;background-color:#006bb3}.bn-ak-primary:where(.dark,.dark *){--border:#ffffff40;--highlight:#ffffff1a;--shadow:#00000040;background-color:#006bb3}.bn-ak-primary:hover:where(.dark,.dark *){--border:#ffffff73;background-color:#007acc}.bn-ak-button[aria-disabled=true]{opacity:.5}.bn-ak-button[data-focus-visible]{outline-style:solid}.bn-ak-button:active,.bn-ak-button[data-active]{box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--border);padding-top:.125rem}@media (width>=640px){.bn-ak-button{gap:.5rem}}.bn-ak-button:active:where(.dark,.dark *),.bn-ak-button[data-active]:where(.dark,.dark *){box-shadow:inset 0 0 0 1px var(--border), inset 0 1px 1px 1px var(--shadow)}.bn-ak-flat,.bn-ak-flat:where(.dark,.dark *),.bn-ak-flat:active:where(.dark,.dark *),.bn-ak-flat[data-active]:where(.dark,.dark *){box-shadow:none}.bn-ak-anchor{color:#006bb3;text-underline-offset:.25em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;font-weight:500;text-decoration-line:underline}.bn-ak-anchor:hover{text-decoration-thickness:3px}.bn-ak-anchor:where(.dark,.dark *){color:#47b6ff}.bn-ak-hovercard{z-index:50;color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;flex-direction:column;gap:.5rem;width:300px;padding:1rem;display:flex;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bn-ak-hovercard:focus-visible,.bn-ak-hovercard[data-focus-visible]{outline-offset:2px;outline:2px solid #007acc}.bn-ak-hovercard:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ak-avatar{border-radius:9999px;width:4rem}.bn-ak-username{font-size:1.125rem;font-weight:600;line-height:1.75rem}.bn-ak-input-wrapper{align-items:center;gap:.5rem;display:flex}.bn-ak-input-wrapper svg{width:24px}.bn-ak-toolbar{max-width:100vw;height:fit-content;overflow:scroll}.bn-toolbar .bn-ak-button{width:unset}.bn-toolbar .bn-ak-button[data-selected]{box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--border);padding-top:.125rem}.bn-toolbar .bn-ak-button[data-selected]:where(.dark,.dark *){box-shadow:inset 0 0 0 1px var(--border), inset 0 1px 1px 1px var(--shadow)}.bn-toolbar .bn-ak-popover{gap:.5rem}.bn-ariakit .bn-panel{max-width:100vw}.bn-ariakit .bn-tab-panel{flex-direction:column;align-items:center;gap:.5rem;display:flex}.bn-ariakit .bn-file-input{max-width:100%}.bn-ak-button{cursor:pointer;outline-style:none}.bn-ak-menu-item[aria-selected=true],.bn-ak-menu-item:hover{color:#fff;background-color:#007acc}.bn-ak-menu-item{display:flex}.bn-ariakit .bn-dropdown{overflow:visible}.bn-ariakit .bn-suggestion-menu,.bn-ariakit .ai-suggestion-menu{height:fit-content;max-height:inherit;overflow:auto}.bn-ariakit .bn-color-picker-dropdown{overflow:scroll}.bn-ak-suggestion-menu-item-body{flex:1}.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-title{font-size:.875rem}.bn-ak-suggestion-menu-item-subtitle{font-size:.7rem}.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-subtitle{display:none}.bn-ak-suggestion-menu-item-section[data-position=left]{justify-content:center;align-items:center;padding:8px;display:flex}.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-section[data-position=left]{padding:0}.bn-ak-suggestion-menu-item-section[data-position=right]{--border:#00000021;--highlight:#fff3;--shadow:#0000001a;box-shadow:inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight), inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);border-radius:4px;padding-inline:4px;font-size:.7rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bn-ariakit .bn-suggestion-menu-loader{justify-content:center;align-items:center;width:16px;height:16px;animation:1s linear infinite spin;display:flex}.bn-ariakit .bn-grid-suggestion-menu{background:var(--bn-colors-menu-background);border-radius:var(--bn-border-radius-large);box-shadow:var(--bn-shadow-medium);height:fit-content;max-height:inherit;justify-items:center;gap:7px;padding:20px;display:grid;overflow-y:auto}.bn-ariakit .bn-grid-suggestion-menu-item{border-radius:var(--bn-border-radius-large);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;margin:2px;padding:4px;font-size:24px;display:flex}.bn-ariakit .bn-grid-suggestion-menu-item[aria-selected=true],.bn-ariakit .bn-grid-suggestion-menu-item:hover{background-color:var(--bn-colors-hovered-background)}.bn-ariakit .bn-grid-suggestion-menu-empty-item,.bn-ariakit .bn-grid-suggestion-menu-loader{color:var(--bn-colors-menu-text);justify-content:center;align-items:center;height:32px;font-size:14px;font-weight:500;display:flex}.bn-ariakit .bn-grid-suggestion-menu-loader span{background-color:var(--bn-colors-side-menu)}.bn-ariakit .bn-side-menu{justify-content:center;align-items:center;display:flex}.bn-side-menu .bn-ak-button{width:fit-content;height:fit-content;padding:0}.bn-ariakit .bn-panel-popover{box-shadow:none;background-color:#0000;border:none}.bn-ariakit .bn-table-handle,.bn-ariakit .bn-table-cell-handle{width:fit-content;height:fit-content;padding:0}.bn-ariakit .bn-side-menu,.bn-ariakit .bn-table-handle,.bn-ariakit .bn-extend-button,.bn-ariakit .bn-table-cell-handle{color:gray}.bn-ariakit .bn-extend-button-editing{background-color:#0000000d}.bn-ariakit .bn-extend-button-editing:where(.dark,.dark *){background-color:#ffffff0d}.bn-ariakit .bn-extend-button-add-remove-columns{cursor:col-resize;width:18px;height:100%;margin-left:4px;padding:0}.bn-ariakit .bn-extend-button-add-remove-rows{cursor:row-resize;width:100%;height:18px;margin-top:4px;padding:0}.bn-ak-button:where(.dark,.dark *){color:#fff}.bn-ak-tab,.bn-ariakit .bn-file-input{color:#000;background-color:#0000}.bn-ak-tab:where(.dark,.dark *),.bn-ariakit .bn-file-input:where(.dark,.dark *){color:#fff}.bn-ak-tooltip{white-space:pre-wrap;flex-direction:column;align-items:center;display:flex}.bn-ariakit .bn-thread-comments{flex-direction:column;gap:16px;display:flex}.bn-ak-avatar{width:24px;height:24px}.bn-ak-username{align-items:center;gap:8px;font-size:14px;line-height:1rem;display:flex}.bn-ak-username>span{font-size:10px}.bn-ak-author-info{align-items:center;gap:16px;display:flex}.bn-ariakit .bn-comment-editor .bn-editor{background-color:#0000}.bn-ak-badge{border-radius:12px;align-items:center;gap:4px;width:fit-content;height:fit-content;padding:2px 10px;display:flex;position:relative}.bn-ak-badge span{align-items:center;height:fit-content;display:flex}.bn-ak-badge-group{flex-wrap:wrap;align-items:center;gap:4px;width:100%;display:flex}.bn-ariakit .bn-thread-comment{flex-direction:column;gap:4px;display:flex;position:relative}.bn-ariakit .bn-action-toolbar .bn-ak-button{width:fit-content;height:1.5rem;padding:8px}.bn-ak-hovercard{z-index:0}.bn-ak-panel-popover{box-shadow:none;background-color:#0000;border:none;padding:0}.bn-ariakit .bn-combobox .bn-ak-input-wrapper{color:#000;background-color:#fff;border:1px solid #dae2e7;border-radius:.5rem;padding:.5rem;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.bn-ariakit .bn-combobox .bn-ak-input-wrapper:where(.dark,.dark *){color:#fff;background-color:#27292a;border-color:#3b3e40;box-shadow:0 10px 15px -3px #00000040,0 4px 6px -4px #0000001a}.bn-ariakit .bn-combobox .bn-ak-input{box-shadow:none;background:0 0;border:none;outline:none}.bn-ariakit .bn-combobox .bn-combobox-icon,.bn-ariakit .bn-combobox .bn-combobox-right-section{justify-content:center;align-items:start;width:24px;display:flex}.bn-ariakit .bn-combobox .bn-combobox-error{color:var(--bn-colors-highlights-red-background)}.bn-ariakit .bn-comment-actions-wrapper{justify-content:flex-end;align-items:start;display:flex}.bn-ak-skeleton{background-color:#ffffff40}.bn-ak-username.bn-ak-skeleton{border-radius:8px;width:100px;height:16px}.bn-ak-expand-sections-prompt{width:fit-content;padding:0}.bn-ak-expand-sections-prompt:hover{background-color:#0000}.bn-ariakit .bn-thread .bn-header-text,.bn-ariakit .bn-thread .bn-resolved-text{font-size:.8rem;font-style:italic}.bn-ariakit .bn-thread.selected .bn-header-text,.bn-ariakit .bn-thread.selected .bn-resolved-text,.bn-ariakit .bn-thread.selected .bn-ak-author-info,.bn-ariakit .bn-thread.selected .bn-ak-expand-sections-prompt{color:var(--bn-colors-selected-text)}
|
|
2
2
|
/*$vite$:1*/
|
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";
|