@blocknote/ariakit 0.24.1 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocknote-ariakit.cjs +2 -0
- package/dist/blocknote-ariakit.cjs.map +1 -0
- package/dist/blocknote-ariakit.js +468 -260
- package/dist/blocknote-ariakit.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +6 -6
- package/src/ariakitStyles.css +183 -0
- package/src/badge/Badge.tsx +77 -0
- package/src/comments/Card.tsx +39 -0
- package/src/comments/Comment.tsx +87 -0
- package/src/comments/Editor.tsx +47 -0
- package/src/components.ts +16 -0
- package/src/menu/Button.tsx +44 -0
- package/src/popover/Popover.tsx +5 -1
- package/src/style.css +108 -4
- package/src/toolbar/Toolbar.tsx +8 -1
- package/src/toolbar/ToolbarButton.tsx +3 -8
- package/types/src/badge/Badge.d.ts +15 -0
- package/types/src/comments/Card.d.ts +9 -0
- package/types/src/comments/Comment.d.ts +9 -0
- package/types/src/comments/Editor.d.ts +8 -0
- package/types/src/menu/Button.d.ts +15 -0
- package/types/src/toolbar/Toolbar.d.ts +1 -0
- package/types/src/toolbar/ToolbarButton.d.ts +2 -1
- package/LICENSE +0 -373
- package/dist/blocknote-ariakit.umd.cjs +0 -2
- package/dist/blocknote-ariakit.umd.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-ariakit.umd.cjs","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.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/components.ts","../src/BlockNoteView.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}>\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"]\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}>\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}>\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}>\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"]\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onClick={onClick}\n {...rest}>\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\">\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}>\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}>\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}>\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\">\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\">\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const { className, children, onMouseEnter, onMouseLeave, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}>\n {children}\n </AriakitToolbar>\n );\n }\n);\n","import {\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n ToolbarItem as AriakitToolbarItem,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n ...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 className=\"link\"\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 data-test={\n props.mainTooltip.slice(0, 1).toLowerCase() +\n props.mainTooltip.replace(/\\s+/g, \"\").slice(1)\n }\n // size={\"xs\"}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}>\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\">\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n }\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}>\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}>\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}>\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import { 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 { 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\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Generic: {\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","AriakitButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","onDragEnd","onDragStart","draggable","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","components","BlockNoteView","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
|