diff --git a/.claude/skills/create-example/SKILL.md b/.claude/skills/create-example/SKILL.md index dbf95af451..47f91486d0 100644 --- a/.claude/skills/create-example/SKILL.md +++ b/.claude/skills/create-example/SKILL.md @@ -45,7 +45,7 @@ Contains all of the example's configuration. Here's an annotated example (from ` "Slash Menu", "Appearance & Styling" ], - + "dependencies": { "@mui/icons-material": "^5.16.1", "@mui/material": "^5.16.1" @@ -54,6 +54,11 @@ Contains all of the example's configuration. Here's an annotated example (from ` "pro": true ``` +Two constraints on dependencies: + +- `"uiLib"` (optional; `"mantine"` | `"ariakit"` | `"shadcn"`, default `"mantine"`) selects which single BlockNote UI package the generated `package.json` depends on. The mantine variant also carries `@mantine/core`/`@mantine/hooks` (peer dependencies of `@blocknote/mantine`). Do not add UI packages to `"dependencies"` manually; set `uiLib` instead. +- Examples with `"docs": true` are all compiled into the docs site's single dependency context, so `vp run gen` fails if two docs-embedded examples declare incompatible version ranges of the same package (e.g. `lib0` for yjs 13 vs 14). Reconcile the ranges or set `"docs": false` on one of them. + `README.md` A Markdown description of the example. Made of four parts: diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..eb1fb001f4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Committed output of `pnpm run gen` — collapsed in GitHub diffs and excluded +# from language stats. CI (build.yml) verifies it stays in sync with examples/. +playground/src/examples.gen.tsx linguist-generated=true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00aead0595..a868797ff3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,11 @@ jobs: - name: Install Dependencies run: vp install + - name: Check generated files are up to date + run: | + vp run --filter @blocknote/dev-scripts gen + git diff --exit-code || (echo "Generated files are out of date. Run 'pnpm run gen' and commit the result." && exit 1) + - name: Build packages run: vp run -r build diff --git a/docs/app/(home)/_components/FAQ.tsx b/docs/app/(home)/_components/FAQ.tsx deleted file mode 100644 index 5fbe0bda40..0000000000 --- a/docs/app/(home)/_components/FAQ.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from "react"; - -const faqs = [ - { - question: "Isn't it easier to use a Headless editor framework?", - answer: - "There are a number of really powerful headless text editor frameworks available. In fact, BlockNote is built on Prosemirror and TipTap. However, even when using a headless library, it takes several months and requires deep expertise to build a fully-featured editor with a polished UI that your users expect.", - }, - { - question: "Is BlockNote ready for production use?", - answer: - "BlockNote is used by dozens of companies in production, ranging from startups to large enterprises and public institutions. Also, we didn't reinvent the wheel. The core editor is built on top of Prosemirror - a battle tested framework that powers software from Atlassian, Gitlab, the New York Times, and many others.", - }, - { - question: "Can I add my own extensions to BlockNote?", - answer: - "BlockNote comes with lot of functionality out-of-the-box, but we understand that every use case is different. You can easily customize the built-in UI Components, or create your own custom Blocks, Inline Content, and Styles. If you want to go even further, you can extend the core editor with additional Prosemirror or TipTap plugins.", - }, - { - question: "Is BlockNote really free?", - answer: - "100% of BlockNote is open source. We offer consultancy, support services and commercial licenses for specific XL packages to help sustain BlockNote. Explore our pricing page for more details.", - }, -]; - -export const FAQ: React.FC = () => { - return ( -
-
-
-

- Questions? -

-
- -
- {faqs.map((faq, index) => ( -
-

- {faq.question} -

-

- {faq.answer} -

-
- ))} -
-
-
- ); -}; diff --git a/docs/app/(home)/_components/FrameworkPill.tsx b/docs/app/(home)/_components/FrameworkPill.tsx deleted file mode 100644 index 82e6b90216..0000000000 --- a/docs/app/(home)/_components/FrameworkPill.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from "react"; - -export const FrameworkPill: React.FC<{ - name: string; - color: string; - icon?: React.ReactNode; -}> = ({ name, color, icon }) => ( -
- {icon ||
} - {name} -
-); diff --git a/docs/app/(home)/_components/Letter.tsx b/docs/app/(home)/_components/Letter.tsx deleted file mode 100644 index dc5cff7b3b..0000000000 --- a/docs/app/(home)/_components/Letter.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import React from "react"; - -export const Letter: React.FC = () => { - return ( -
- {/* Background Decor - Subtle Grid */} -
- -
-
-
-

- Let's build. -

-
- -
-
-
-

- Building a rich text editor is one of the hardest engineering - challenges on the web. It used to take months of specialized - work. -

-

- We believe that great tools should be{" "} - sovereign by default. You shouldn't have - to choose between a cohesive UX and owning your - infrastructure. -

-

- That's why we built BlockNote. A{" "} - batteries-included editor that gives you a - Notion-quality experience in minutes, while staying grounded - in open standards like{" "} - - ProseMirror - {" "} - and Yjs. -

-
-
-

- Whether you're a startup or a public institution, you - deserve software that lasts. Join us to{" "} - - shape the future - - - - {" "} - of the open web. -

-
-
- -
- {/* Floating "Card" for Impact - DARK MODE */} -
-
-
-

- Enter BlockNote. -

-

- Forget low-level details. Work with a strongly typed API. - Get modern UI components out-of-the-box. -

-
- -
-
-
-
-
-
-
- - The Team - - - BlockNote Creators - -
-
-
-
-
-
-
-
-
-
- ); -}; diff --git a/docs/app/(home)/_components/Marquee.tsx b/docs/app/(home)/_components/Marquee.tsx deleted file mode 100644 index ec2afe390b..0000000000 --- a/docs/app/(home)/_components/Marquee.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from "react"; -import { FrameworkPill } from "./FrameworkPill"; - -export const Marquee: React.FC = () => ( -
-
- - - - - - - - {/* Duplicates */} - - - - - - - -
-
- - - - - - - - {/* Duplicates */} - - - - - - - -
-
-); diff --git a/docs/app/(home)/_components/Shared.tsx b/docs/app/(home)/_components/Shared.tsx deleted file mode 100644 index 578d2aeaaa..0000000000 --- a/docs/app/(home)/_components/Shared.tsx +++ /dev/null @@ -1,15 +0,0 @@ -"use client"; -import ThemedImage from "@/components/ThemedImage"; -import LogoDark from "@/public/img/logos/banner.dark.svg"; -import LogoLight from "@/public/img/logos/banner.svg"; -import React from "react"; - -export const Logo: React.FC<{ className?: string }> = ({ className }) => { - return ( - - ); -}; diff --git a/docs/app/(home)/_components/Testimonials.tsx b/docs/app/(home)/_components/Testimonials.tsx deleted file mode 100644 index f185335bc9..0000000000 --- a/docs/app/(home)/_components/Testimonials.tsx +++ /dev/null @@ -1,101 +0,0 @@ -"use client"; -import Link from "next/link"; -import React from "react"; - -interface Testimonial { - company: string; - quote: string; - author: string; - role: string; -} - -const testimonials: Testimonial[] = [ - { - company: "Acme Corp", - quote: - "BlockNote let us ship a polished editor in days instead of months. Our users love it.", - author: "Sarah Chen", - role: "VP Engineering", - }, - { - company: "Startup Inc", - quote: - "We evaluated every rich text editor on the market. BlockNote was the only one that felt modern.", - author: "Marcus Johnson", - role: "CTO", - }, - { - company: "Enterprise Co", - quote: - "The TypeScript support is exceptional. Our team was productive from day one.", - author: "Elena Rodriguez", - role: "Lead Developer", - }, -]; - -import { SpotlightCard } from "./SpotlightCard"; - -const TestimonialCard: React.FC<{ testimonial: Testimonial }> = ({ - testimonial, -}) => ( - -
- {testimonial.company} -
-

- "{testimonial.quote}" -

-
-
- {testimonial.author - .split(" ") - .map((n) => n[0]) - .join("")} -
-
-
- {testimonial.author} -
-
- {testimonial.role}, {testimonial.company} -
-
-
-
-); - -export const Testimonials: React.FC = () => { - return ( -
-
-
-

- Trusted by teams everywhere. -

-

- From startups to enterprises, teams choose BlockNote to build their - document experiences. -

-
- -
- {testimonials.map((testimonial, index) => ( - - ))} -
- -
- - See who's using BlockNote - - → - - -
-
-
- ); -}; diff --git a/docs/app/demo/_components/utils.ts b/docs/app/demo/_components/utils.ts index 1053616a09..a59be5b736 100644 --- a/docs/app/demo/_components/utils.ts +++ b/docs/app/demo/_components/utils.ts @@ -49,7 +49,7 @@ export const HARDCODED_USERS = [ }, ]; -export const getRandomUser = () => { +const getRandomUser = () => { return HARDCODED_USERS[Math.floor(Math.random() * HARDCODED_USERS.length)]; }; diff --git a/docs/components/AuthNavButton.tsx b/docs/components/AuthNavButton.tsx index 152fc44807..c74adfe19f 100644 --- a/docs/components/AuthNavButton.tsx +++ b/docs/components/AuthNavButton.tsx @@ -17,7 +17,7 @@ interface UserImageProps { user: User; } -export const UserImage = ({ user }: UserImageProps) => { +const UserImage = ({ user }: UserImageProps) => { if (user.image) { return (

- {props.gradientBackground && ( - -
- - )} - {props.children} - - ); -} diff --git a/docs/components/fumadocs/layout/sidebar/base.tsx b/docs/components/fumadocs/layout/sidebar/base.tsx deleted file mode 100644 index 5d5d15fc13..0000000000 --- a/docs/components/fumadocs/layout/sidebar/base.tsx +++ /dev/null @@ -1,490 +0,0 @@ -"use client"; -import { ChevronDown, ExternalLink } from "lucide-react"; -import { - type ComponentProps, - createContext, - type PointerEvent, - type ReactNode, - type RefObject, - use, - useEffect, - useMemo, - useRef, - useState, -} from "react"; -import Link, { type LinkProps } from "fumadocs-core/link"; -import { useOnChange } from "fumadocs-core/utils/use-on-change"; -import { cn } from "../../../../lib/fumadocs/cn"; -import { - ScrollArea, - type ScrollAreaProps, - ScrollViewport, -} from "../../ui/scroll-area"; -import { isActive } from "../../../../lib/fumadocs/urls"; -import { - Collapsible, - CollapsibleContent, - type CollapsibleContentProps, - CollapsibleTrigger, - type CollapsibleTriggerProps, -} from "../../ui/collapsible"; -import { useMediaQuery } from "fumadocs-core/utils/use-media-query"; -import scrollIntoView from "scroll-into-view-if-needed"; -import { usePathname } from "fumadocs-core/framework"; -import ReactDOM from "react-dom"; - -interface SidebarContext { - open: boolean; - setOpen: React.Dispatch>; - collapsed: boolean; - setCollapsed: React.Dispatch>; - - /** - * When set to false, don't close the sidebar when navigate to another page - */ - closeOnRedirect: RefObject; - defaultOpenLevel: number; - prefetch?: boolean; - mode: Mode; -} - -export interface SidebarProviderProps { - /** - * Open folders by default if their level is lower or equal to a specific level - * (Starting from 1) - * - * @defaultValue 0 - */ - defaultOpenLevel?: number; - - /** - * Prefetch links, default behaviour depends on your React.js framework. - */ - prefetch?: boolean; - - children?: ReactNode; -} - -type Mode = "drawer" | "full"; - -const SidebarContext = createContext(null); - -const FolderContext = createContext<{ - open: boolean; - setOpen: React.Dispatch>; - depth: number; - collapsible: boolean; -} | null>(null); - -export function SidebarProvider({ - defaultOpenLevel = 0, - prefetch, - children, -}: SidebarProviderProps) { - const closeOnRedirect = useRef(true); - const [open, setOpen] = useState(false); - const [collapsed, setCollapsed] = useState(false); - const pathname = usePathname(); - const mode: Mode = useMediaQuery("(width < 768px)") ? "drawer" : "full"; - - useOnChange(pathname, () => { - if (closeOnRedirect.current) { - setOpen(false); - } - closeOnRedirect.current = true; - }); - - return ( - ({ - open, - setOpen, - collapsed, - setCollapsed, - closeOnRedirect, - defaultOpenLevel, - prefetch, - mode, - }), - [open, collapsed, defaultOpenLevel, prefetch, mode], - )} - > - {children} - - ); -} - -export function useSidebar(): SidebarContext { - const ctx = use(SidebarContext); - if (!ctx) { - throw new Error( - "Missing SidebarContext, make sure you have wrapped the component in and the context is available.", - ); - } - - return ctx; -} - -export function useFolder() { - return use(FolderContext); -} - -export function useFolderDepth() { - return use(FolderContext)?.depth ?? 0; -} - -export function SidebarContent({ - children, -}: { - children: (state: { - ref: RefObject; - collapsed: boolean; - hovered: boolean; - onPointerEnter: (event: PointerEvent) => void; - onPointerLeave: (event: PointerEvent) => void; - }) => ReactNode; -}) { - const { collapsed, mode } = useSidebar(); - const [hover, setHover] = useState(false); - const ref = useRef(null); - const timerRef = useRef(0); - - useOnChange(collapsed, () => { - if (collapsed) { - setHover(false); - } - }); - - if (mode !== "full") { - return; - } - - function shouldIgnoreHover(e: PointerEvent): boolean { - const element = ref.current; - if (!element) { - return true; - } - - return ( - !collapsed || - e.pointerType === "touch" || - element.getAnimations().length > 0 - ); - } - - return children({ - ref, - collapsed, - hovered: hover, - onPointerEnter(e) { - if (shouldIgnoreHover(e)) { - return; - } - window.clearTimeout(timerRef.current); - setHover(true); - }, - onPointerLeave(e) { - if (shouldIgnoreHover(e)) { - return; - } - window.clearTimeout(timerRef.current); - - timerRef.current = window.setTimeout( - () => setHover(false), - // if mouse is leaving the viewport, add a close delay - Math.min(e.clientX, document.body.clientWidth - e.clientX) > 100 - ? 0 - : 500, - ); - }, - }); -} - -export function SidebarDrawerOverlay(props: ComponentProps<"div">) { - const { open, setOpen, mode } = useSidebar(); - const [hidden, setHidden] = useState(!open); - - if (open && hidden) { - setHidden(false); - } - if (mode !== "drawer" || hidden) { - return; - } - return ( -
setOpen(false)} - onAnimationEnd={() => { - if (!open) { - ReactDOM.flushSync(() => setHidden(true)); - } - }} - {...props} - /> - ); -} - -export function SidebarDrawerContent({ - className, - children, - ...props -}: ComponentProps<"aside">) { - const { open, mode } = useSidebar(); - const [hidden, setHidden] = useState(!open); - - if (open && hidden) { - setHidden(false); - } - if (mode !== "drawer") { - return; - } - return ( - - ); -} - -export function SidebarViewport({ className, ...props }: ScrollAreaProps) { - return ( - - cn( - "min-h-0 flex-1", - typeof className === "function" ? className(s) : className, - ) - } - {...props} - > - - {props.children} - - - ); -} - -export function SidebarSeparator(props: ComponentProps<"p">) { - const depth = useFolderDepth(); - return ( -

- {props.children} -

- ); -} - -export function SidebarItem({ - icon, - children, - ...props -}: LinkProps & { - icon?: ReactNode; -}) { - const pathname = usePathname(); - const ref = useRef(null); - const { prefetch } = useSidebar(); - const active = - props.href !== undefined && isActive(props.href, pathname, false); - - useAutoScroll(active, ref); - - return ( - - {icon ?? (props.external ? : null)} - {children} - - ); -} - -export function SidebarFolder({ - defaultOpen: defaultOpenProp, - collapsible = true, - active = false, - children, - ...props -}: ComponentProps<"div"> & { - active?: boolean; - defaultOpen?: boolean; - collapsible?: boolean; -}) { - const { defaultOpenLevel } = useSidebar(); - const depth = useFolderDepth() + 1; - const defaultOpen = - collapsible === false || - active || - (defaultOpenProp ?? defaultOpenLevel >= depth); - const [open, setOpen] = useState(defaultOpen); - - useOnChange(defaultOpen, (v) => { - if (v) { - setOpen(v); - } - }); - - return ( - - ({ open, setOpen, depth, collapsible }), - [collapsible, depth, open], - )} - > - {children} - - - ); -} - -export function SidebarFolderTrigger({ - children, - ...props -}: CollapsibleTriggerProps) { - const { open, collapsible } = use(FolderContext)!; - - if (collapsible) { - return ( - - {children} - - - ); - } - - return
)}>{children}
; -} - -export function SidebarFolderLink({ children, ...props }: LinkProps) { - const ref = useRef(null); - const { open, setOpen, collapsible } = use(FolderContext)!; - const { prefetch } = useSidebar(); - const pathname = usePathname(); - const active = - props.href !== undefined && isActive(props.href, pathname, false); - - useAutoScroll(active, ref); - - return ( - { - if (!collapsible) { - return; - } - - if ( - e.target instanceof Element && - e.target.matches("[data-icon], [data-icon] *") - ) { - setOpen(!open); - e.preventDefault(); - } else { - setOpen(active ? !open : true); - } - }} - prefetch={prefetch} - {...props} - > - {children} - {collapsible && ( - - )} - - ); -} - -export function SidebarFolderContent(props: CollapsibleContentProps) { - return {props.children}; -} - -export function SidebarTrigger({ - children, - ...props -}: ComponentProps<"button">) { - const { setOpen } = useSidebar(); - - return ( - - ); -} - -export function SidebarCollapseTrigger(props: ComponentProps<"button">) { - const { collapsed, setCollapsed } = useSidebar(); - - return ( - - ); -} - -/** - * scroll to the element if `active` is true - */ -export function useAutoScroll( - active: boolean, - ref: RefObject, -) { - const { mode } = useSidebar(); - - useEffect(() => { - if (active && ref.current) { - scrollIntoView(ref.current, { - boundary: document.getElementById( - mode === "drawer" ? "nd-sidebar-mobile" : "nd-sidebar", - ), - scrollMode: "if-needed", - }); - } - }, [active, mode, ref]); -} diff --git a/docs/components/fumadocs/layout/sidebar/link-item.tsx b/docs/components/fumadocs/layout/sidebar/link-item.tsx deleted file mode 100644 index 95dd4543d4..0000000000 --- a/docs/components/fumadocs/layout/sidebar/link-item.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import type { HTMLAttributes } from "react"; -import type * as Base from "./base"; -import type { LinkItemType } from "../link-item"; - -type InternalComponents = Pick< - typeof Base, - | "SidebarFolder" - | "SidebarFolderLink" - | "SidebarFolderContent" - | "SidebarFolderTrigger" - | "SidebarItem" ->; - -export function createLinkItemRenderer({ - SidebarFolder, - SidebarFolderContent, - SidebarFolderLink, - SidebarFolderTrigger, - SidebarItem, -}: InternalComponents) { - /** - * Render sidebar items from page tree - */ - return function SidebarLinkItem({ - item, - ...props - }: HTMLAttributes & { - item: Exclude; - }) { - if (item.type === "custom") { - return
{item.children}
; - } - - if (item.type === "menu") { - return ( - - {item.url ? ( - - {item.icon} - {item.text} - - ) : ( - - {item.icon} - {item.text} - - )} - - {item.items.map((child, i) => ( - - ))} - - - ); - } - - return ( - - {item.text} - - ); - }; -} diff --git a/docs/components/fumadocs/layout/sidebar/page-tree.tsx b/docs/components/fumadocs/layout/sidebar/page-tree.tsx deleted file mode 100644 index c9f9b89098..0000000000 --- a/docs/components/fumadocs/layout/sidebar/page-tree.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { useTreeContext, useTreePath } from "@fumadocs/base-ui/contexts/tree"; -import { type FC, type ReactNode, useMemo, Fragment } from "react"; -import type * as PageTree from "fumadocs-core/page-tree"; -import type * as Base from "./base"; - -export interface SidebarPageTreeComponents { - Item: FC<{ item: PageTree.Item }>; - Folder: FC<{ item: PageTree.Folder; children: ReactNode }>; - Separator: FC<{ item: PageTree.Separator }>; -} - -type InternalComponents = Pick< - typeof Base, - | "SidebarSeparator" - | "SidebarFolder" - | "SidebarFolderLink" - | "SidebarFolderContent" - | "SidebarFolderTrigger" - | "SidebarItem" ->; - -export function createPageTreeRenderer({ - SidebarFolder, - SidebarFolderContent, - SidebarFolderLink, - SidebarFolderTrigger, - SidebarSeparator, - SidebarItem, -}: InternalComponents) { - function PageTreeFolder({ - item, - children, - }: { - item: PageTree.Folder; - children: ReactNode; - }) { - const path = useTreePath(); - - return ( - - {item.index ? ( - - {item.icon} - {item.name} - - ) : ( - - {item.icon} - {item.name} - - )} - {children} - - ); - } - - /** - * Render sidebar items from page tree - */ - return function SidebarPageTree( - components: Partial, - ) { - const { root } = useTreeContext(); - const { Separator, Item, Folder = PageTreeFolder } = components; - - return useMemo(() => { - function renderSidebarList(items: PageTree.Node[]) { - return items.map((item, i) => { - if (item.type === "separator") { - if (Separator) { - return ; - } - return ( - - {item.icon} - {item.name} - - ); - } - - if (item.type === "folder") { - return ( - - {renderSidebarList(item.children)} - - ); - } - - if (Item) { - return ; - } - return ( - - {item.name} - - ); - }); - } - - return ( - {renderSidebarList(root.children)} - ); - }, [Folder, Item, Separator, root]); - }; -} diff --git a/docs/components/fumadocs/layout/sidebar/tabs/dropdown.tsx b/docs/components/fumadocs/layout/sidebar/tabs/dropdown.tsx deleted file mode 100644 index 20ce10c509..0000000000 --- a/docs/components/fumadocs/layout/sidebar/tabs/dropdown.tsx +++ /dev/null @@ -1,115 +0,0 @@ -"use client"; -import { Check, ChevronsUpDown } from "lucide-react"; -import { type ComponentProps, type ReactNode, useMemo, useState } from "react"; -import Link from "fumadocs-core/link"; -import { usePathname } from "fumadocs-core/framework"; -import { cn } from "../../../../../lib/fumadocs/cn"; -import { normalize, isActive } from "../../../../../lib/fumadocs/urls"; -import { useSidebar } from "../base"; -import { Popover, PopoverContent, PopoverTrigger } from "../../../ui/popover"; -import type { SidebarTab } from "./index"; - -export interface SidebarTabWithProps extends SidebarTab { - props?: ComponentProps<"a">; -} - -export function SidebarTabsDropdown({ - options, - placeholder, - ...props -}: { - placeholder?: ReactNode; - options: SidebarTabWithProps[]; -} & ComponentProps<"button">) { - const [open, setOpen] = useState(false); - const { closeOnRedirect } = useSidebar(); - const pathname = usePathname(); - - const selected = useMemo(() => { - return options.findLast((item) => isTabActive(item, pathname)); - }, [options, pathname]); - - const onClick = () => { - closeOnRedirect.current = false; - setOpen(false); - }; - - const item = selected ? ( - <> -
- {selected.icon} -
-
-

{selected.title}

-

- {selected.description} -

-
- - ) : ( - placeholder - ); - - return ( - - {item && ( - - {item} - - - )} - - {options.map((item) => { - const isActive = selected && item.url === selected.url; - if (!isActive && item.unlisted) { - return; - } - - return ( - -
- {item.icon} -
-
-

{item.title}

-

- {item.description} -

-
- - - - ); - })} -
-
- ); -} - -export function isTabActive(tab: SidebarTab, pathname: string) { - if (tab.urls) { - return tab.urls.has(normalize(pathname)); - } - - return isActive(tab.url, pathname, true); -} diff --git a/docs/components/fumadocs/layout/sidebar/tabs/index.tsx b/docs/components/fumadocs/layout/sidebar/tabs/index.tsx deleted file mode 100644 index 8b95dd290e..0000000000 --- a/docs/components/fumadocs/layout/sidebar/tabs/index.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import type * as PageTree from "fumadocs-core/page-tree"; -import type { ReactNode } from "react"; - -export interface SidebarTab { - /** - * Redirect URL of the folder, usually the index page - */ - url: string; - - icon?: ReactNode; - title: ReactNode; - description?: ReactNode; - - /** - * Detect from a list of urls - */ - urls?: Set; - unlisted?: boolean; -} - -export interface GetSidebarTabsOptions { - transform?: (option: SidebarTab, node: PageTree.Folder) => SidebarTab | null; -} - -const defaultTransform: GetSidebarTabsOptions["transform"] = (option, node) => { - if (!node.icon) { - return option; - } - - return { - ...option, - icon: ( -
- {node.icon} -
- ), - }; -}; - -export function getSidebarTabs( - tree: PageTree.Root, - { transform = defaultTransform }: GetSidebarTabsOptions = {}, -): SidebarTab[] { - const results: SidebarTab[] = []; - - function scanOptions( - node: PageTree.Root | PageTree.Folder, - unlisted?: boolean, - ) { - if ("root" in node && node.root) { - const urls = getFolderUrls(node); - - if (urls.size > 0) { - const option: SidebarTab = { - url: urls.values().next().value ?? "", - title: node.name, - icon: node.icon, - unlisted, - description: node.description, - urls, - }; - - const mapped = transform ? transform(option, node) : option; - if (mapped) { - results.push(mapped); - } - } - } - - for (const child of node.children) { - if (child.type === "folder") { - scanOptions(child, unlisted); - } - } - } - - scanOptions(tree); - if (tree.fallback) { - scanOptions(tree.fallback, true); - } - - return results; -} - -function getFolderUrls( - folder: PageTree.Folder, - output: Set = new Set(), -): Set { - if (folder.index) { - output.add(folder.index.url); - } - - for (const child of folder.children) { - if (child.type === "page" && !child.external) { - output.add(child.url); - } - if (child.type === "folder") { - getFolderUrls(child, output); - } - } - - return output; -} diff --git a/docs/components/fumadocs/ui/scroll-area.tsx b/docs/components/fumadocs/ui/scroll-area.tsx deleted file mode 100644 index 2f381fad1b..0000000000 --- a/docs/components/fumadocs/ui/scroll-area.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { ScrollArea as Primitive } from "@base-ui/react/scroll-area"; -import * as React from "react"; -import { cn } from "../../../lib/fumadocs/cn"; - -const ScrollArea = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - cn( - "overflow-hidden", - typeof className === "function" ? className(s) : className, - ) - } - {...props} - > - {children} - - - -)); - -ScrollArea.displayName = Primitive.Root.displayName; - -const ScrollViewport = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - cn( - "size-full rounded-[inherit]", - typeof className === "function" ? className(s) : className, - ) - } - {...props} - > - {children} - -)); - -ScrollViewport.displayName = Primitive.Viewport.displayName; - -const ScrollBar = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, orientation = "vertical", ...props }, ref) => ( - - cn( - "flex select-none transition-opacity", - !s.hovering && "opacity-0", - orientation === "vertical" && "h-full w-1.5", - orientation === "horizontal" && "h-1.5 flex-col", - typeof className === "function" ? className(s) : className, - ) - } - {...props} - > - - -)); -ScrollBar.displayName = Primitive.Scrollbar.displayName; - -export { ScrollArea, ScrollBar, ScrollViewport }; -export type ScrollAreaProps = Primitive.Root.Props; diff --git a/docs/emails/magic-link.tsx b/docs/emails/magic-link.tsx index 486e9f32df..6d8bed878f 100644 --- a/docs/emails/magic-link.tsx +++ b/docs/emails/magic-link.tsx @@ -10,12 +10,12 @@ import { Text, } from "@react-email/components"; -export interface MagicLinkEmailProps { +interface MagicLinkEmailProps { name?: string; url?: string; } -export const MagicLinkEmail = ({ name, url }: MagicLinkEmailProps) => { +const MagicLinkEmail = ({ name, url }: MagicLinkEmailProps) => { return ( diff --git a/docs/emails/verify-email.tsx b/docs/emails/verify-email.tsx index b6d8be7954..18580f304c 100644 --- a/docs/emails/verify-email.tsx +++ b/docs/emails/verify-email.tsx @@ -10,12 +10,12 @@ import { Text, } from "@react-email/components"; -export interface VerifyEmailProps { +interface VerifyEmailProps { name?: string; url?: string; } -export const VerifyEmail = ({ name, url }: VerifyEmailProps) => { +const VerifyEmail = ({ name, url }: VerifyEmailProps) => { return ( diff --git a/docs/emails/welcome.tsx b/docs/emails/welcome.tsx index 1110f1dc3a..41c0e5a675 100644 --- a/docs/emails/welcome.tsx +++ b/docs/emails/welcome.tsx @@ -10,11 +10,11 @@ import { Link, } from "@react-email/components"; -export interface WelcomeEmailProps { +interface WelcomeEmailProps { name?: string; } -export const WelcomeEmail = ({ name }: WelcomeEmailProps) => { +const WelcomeEmail = ({ name }: WelcomeEmailProps) => { return ( diff --git a/docs/lib/auth-client.ts b/docs/lib/auth-client.ts index ba5062cb3c..37f9a1b7b4 100644 --- a/docs/lib/auth-client.ts +++ b/docs/lib/auth-client.ts @@ -14,4 +14,4 @@ export const authClient = createAuthClient({ ], }); -export const { useSession, signIn, signOut, signUp } = authClient; +export const { useSession, signIn, signUp } = authClient; diff --git a/docs/lib/auth.ts b/docs/lib/auth.ts index f23ac97c28..d6870d70e3 100644 --- a/docs/lib/auth.ts +++ b/docs/lib/auth.ts @@ -14,7 +14,7 @@ import { Pool } from "pg"; import { PRODUCTS } from "./product-list"; import { sendEmail } from "./send-mail"; -export const polarClient = new Polar({ +const polarClient = new Polar({ accessToken: process.env.POLAR_ACCESS_TOKEN, // Use 'sandbox' if you're using the Polar Sandbox environment // Remember that access tokens, products, etc. are completely separated between environments. diff --git a/docs/lib/fumadocs/merge-refs.ts b/docs/lib/fumadocs/merge-refs.ts deleted file mode 100644 index 1efe9054e4..0000000000 --- a/docs/lib/fumadocs/merge-refs.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type * as React from "react"; - -export function mergeRefs( - ...refs: (React.Ref | undefined)[] -): React.RefCallback { - return (value) => { - refs.forEach((ref) => { - if (typeof ref === "function") { - ref(value); - } else if (ref) { - ref.current = value; - } - }); - }; -} diff --git a/docs/lib/fumadocs/urls.ts b/docs/lib/fumadocs/urls.ts index 92fe7971ba..02e71bff8b 100644 --- a/docs/lib/fumadocs/urls.ts +++ b/docs/lib/fumadocs/urls.ts @@ -1,4 +1,4 @@ -export function normalize(urlOrPath: string) { +function normalize(urlOrPath: string) { if (urlOrPath.length > 1 && urlOrPath.endsWith("/")) { return urlOrPath.slice(0, -1); } diff --git a/docs/lib/product-list.ts b/docs/lib/product-list.ts index 49e52033c7..a4987d98d4 100644 --- a/docs/lib/product-list.ts +++ b/docs/lib/product-list.ts @@ -30,4 +30,4 @@ export const PRODUCTS = { } as const, } as const; -export type ProductSlug = (typeof PRODUCTS)[keyof typeof PRODUCTS]["slug"]; +type ProductSlug = (typeof PRODUCTS)[keyof typeof PRODUCTS]["slug"]; diff --git a/docs/lib/source/examples.ts b/docs/lib/source/examples.ts index 0d86f2a5ce..528be03ae9 100644 --- a/docs/lib/source/examples.ts +++ b/docs/lib/source/examples.ts @@ -17,6 +17,13 @@ export function getPageImage(page: InferPageType) { }; } +/** + * Consumed via the `import * as examples` namespace in + * app/llms-full.txt/route.ts (`source.getLLMText(...)`), which static + * analysis can miss — keep this exported. + * + * @public + */ export async function getLLMText(page: InferPageType) { const processed = await page.data.getText("processed"); diff --git a/docs/lib/source/pages.ts b/docs/lib/source/pages.ts index ada917c408..3e3c188d8f 100644 --- a/docs/lib/source/pages.ts +++ b/docs/lib/source/pages.ts @@ -17,7 +17,7 @@ export function getPageImage(page: InferPageType) { }; } -export async function getLLMText(page: InferPageType) { +async function getLLMText(page: InferPageType) { const processed = await page.data.getText("processed"); return `# ${page.data.title} diff --git a/docs/package.json b/docs/package.json index a2771cd1cf..6cacc62db9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -27,7 +27,6 @@ "@blocknote/mantine": "workspace:*", "@blocknote/math-block": "workspace:*", "@blocknote/react": "workspace:*", - "@blocknote/server-util": "workspace:*", "@blocknote/shadcn": "workspace:*", "@blocknote/xl-ai": "workspace:*", "@blocknote/xl-docx-exporter": "workspace:*", @@ -35,9 +34,7 @@ "@blocknote/xl-multi-column": "workspace:*", "@blocknote/xl-odt-exporter": "workspace:*", "@blocknote/xl-pdf-exporter": "workspace:*", - "@floating-ui/react": "^0.27.18", "@fumadocs/base-ui": "16.5.0", - "@liveblocks/client": "^3.19.5", "@liveblocks/react": "^3.19.5", "@liveblocks/react-blocknote": "^3.19.5", "@liveblocks/react-tiptap": "^3.19.5", @@ -71,7 +68,6 @@ "@uppy/screen-capture": "^3.2.0", "@uppy/status-bar": "^3.1.1", "@uppy/webcam": "^3.4.2", - "@uppy/xhr-upload": "^3.4.0", "@vercel/analytics": "^1.6.1", "@y-sweet/react": "^0.6.3", "@y/prosemirror": "^2.0.0-6", @@ -89,11 +85,9 @@ "fumadocs-twoslash": "^3.1.12", "fumadocs-typescript": "^5.1.1", "fumadocs-ui": "npm:@fumadocs/base-ui@16.5.0", - "katex": "^0.16.11", "lib0": "1.0.0-rc.22", "lucide-react": "^0.562.0", "mathjax-full": "^3.2.2", - "mermaid": "^11.0.0", "motion": "^12.28.1", "next": "^16.3.0", "next-themes": "^0.4.6", @@ -101,32 +95,21 @@ "pg": "^8.17.1", "react": "^19.2.5", "react-dom": "^19.2.5", - "react-email": "^5.2.5", "react-github-btn": "^1.4.0", "react-icons": "^5.5.0", "react-use-measure": "^2.1.7", - "scroll-into-view-if-needed": "^3.1.0", "shiki": "^4.4.3", "tailwind-merge": "^3.4.0", "typescript-5": "npm:typescript@^5.9.3", "y-partykit": "^0.0.25", "y-websocket": "^2.1.0", "yjs": "^13.6.27", - "zod": "^4.3.5" + "zod": "^4.3.5", + "@blocknote/server-util": "workspace:*", + "@uppy/xhr-upload": "^3.4.0", + "@liveblocks/client": "^3.19.5" }, "devDependencies": { - "@blocknote/code-block": "workspace:*", - "@blocknote/core": "workspace:*", - "@blocknote/mantine": "workspace:*", - "@blocknote/react": "workspace:*", - "@blocknote/server-util": "workspace:*", - "@blocknote/shadcn": "workspace:*", - "@blocknote/xl-ai": "workspace:*", - "@blocknote/xl-docx-exporter": "workspace:*", - "@blocknote/xl-email-exporter": "workspace:*", - "@blocknote/xl-multi-column": "workspace:*", - "@blocknote/xl-odt-exporter": "workspace:*", - "@blocknote/xl-pdf-exporter": "workspace:*", "@tailwindcss/postcss": "^4.1.18", "@types/better-sqlite3": "^7.6.13", "@types/mdx": "^2.0.13", @@ -138,7 +121,6 @@ "babel-plugin-react-compiler": "^1.0.0", "next-validate-link": "^1.6.4", "postcss": "^8.5.6", - "serve": "^14.2.6", "tailwindcss": "^4.1.18", "tw-animate-css": "^1.4.0", "typescript": "^7.0.2" diff --git a/examples/01-basic/01-minimal/package.json b/examples/01-basic/01-minimal/package.json index 4620f5b52c..e4b4865118 100644 --- a/examples/01-basic/01-minimal/package.json +++ b/examples/01-basic/01-minimal/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/02-block-objects/package.json b/examples/01-basic/02-block-objects/package.json index 555151f0d4..7ed74da53a 100644 --- a/examples/01-basic/02-block-objects/package.json +++ b/examples/01-basic/02-block-objects/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/03-multi-column/package.json b/examples/01-basic/03-multi-column/package.json index 06976ca750..9a1eacfc77 100644 --- a/examples/01-basic/03-multi-column/package.json +++ b/examples/01-basic/03-multi-column/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/04-default-blocks/package.json b/examples/01-basic/04-default-blocks/package.json index 3b5cf0b82f..fc1e22ddbe 100644 --- a/examples/01-basic/04-default-blocks/package.json +++ b/examples/01-basic/04-default-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/05-removing-default-blocks/package.json b/examples/01-basic/05-removing-default-blocks/package.json index c4c5e81127..d9ce36a2e0 100644 --- a/examples/01-basic/05-removing-default-blocks/package.json +++ b/examples/01-basic/05-removing-default-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/06-block-manipulation/package.json b/examples/01-basic/06-block-manipulation/package.json index ef8e0c7410..11c76756bb 100644 --- a/examples/01-basic/06-block-manipulation/package.json +++ b/examples/01-basic/06-block-manipulation/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/07-selection-blocks/package.json b/examples/01-basic/07-selection-blocks/package.json index d0680ef1ee..e73822c9be 100644 --- a/examples/01-basic/07-selection-blocks/package.json +++ b/examples/01-basic/07-selection-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/08-ariakit/.bnexample.json b/examples/01-basic/08-ariakit/.bnexample.json index 6d4a02dd52..e17539d514 100644 --- a/examples/01-basic/08-ariakit/.bnexample.json +++ b/examples/01-basic/08-ariakit/.bnexample.json @@ -2,5 +2,6 @@ "playground": true, "docs": true, "author": "matthewlipski", - "tags": ["Basic"] + "tags": ["Basic"], + "uiLib": "ariakit" } diff --git a/examples/01-basic/08-ariakit/package.json b/examples/01-basic/08-ariakit/package.json index bfacf75ebe..23878e0090 100644 --- a/examples/01-basic/08-ariakit/package.json +++ b/examples/01-basic/08-ariakit/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,13 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", - "@mantine/core": "^9.0.2", - "@mantine/hooks": "^9.0.2", + "@blocknote/ariakit": "latest", "react": "^19.2.3", "react-dom": "^19.2.3" }, diff --git a/examples/01-basic/09-shadcn/.bnexample.json b/examples/01-basic/09-shadcn/.bnexample.json index baf1eb6306..530672d524 100644 --- a/examples/01-basic/09-shadcn/.bnexample.json +++ b/examples/01-basic/09-shadcn/.bnexample.json @@ -4,5 +4,6 @@ "author": "matthewlipski", "tags": ["Basic"], "tailwind": true, - "stackBlitz": false + "stackBlitz": false, + "uiLib": "shadcn" } diff --git a/examples/01-basic/09-shadcn/package.json b/examples/01-basic/09-shadcn/package.json index f99ef73611..e6bf9cea5e 100644 --- a/examples/01-basic/09-shadcn/package.json +++ b/examples/01-basic/09-shadcn/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,13 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", "@blocknote/shadcn": "latest", - "@mantine/core": "^9.0.2", - "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "tailwindcss": "^4.1.14", diff --git a/examples/01-basic/10-localization/package.json b/examples/01-basic/10-localization/package.json index 603d1ff35e..ca30848598 100644 --- a/examples/01-basic/10-localization/package.json +++ b/examples/01-basic/10-localization/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/11-custom-placeholder/package.json b/examples/01-basic/11-custom-placeholder/package.json index db8ec4afde..b6e00c1b8b 100644 --- a/examples/01-basic/11-custom-placeholder/package.json +++ b/examples/01-basic/11-custom-placeholder/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/12-multi-editor/package.json b/examples/01-basic/12-multi-editor/package.json index 445ffd3171..dd80ec12b9 100644 --- a/examples/01-basic/12-multi-editor/package.json +++ b/examples/01-basic/12-multi-editor/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/13-custom-paste-handler/package.json b/examples/01-basic/13-custom-paste-handler/package.json index ae7dda211a..e88db9d6d8 100644 --- a/examples/01-basic/13-custom-paste-handler/package.json +++ b/examples/01-basic/13-custom-paste-handler/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/14-editor-scrollable/package.json b/examples/01-basic/14-editor-scrollable/package.json index 917a0dfe99..e1e4b4f8fb 100644 --- a/examples/01-basic/14-editor-scrollable/package.json +++ b/examples/01-basic/14-editor-scrollable/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/15-shadowdom/package.json b/examples/01-basic/15-shadowdom/package.json index 679bcf8d31..700b32b8fb 100644 --- a/examples/01-basic/15-shadowdom/package.json +++ b/examples/01-basic/15-shadowdom/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/16-read-only-editor/package.json b/examples/01-basic/16-read-only-editor/package.json index 472b98f48b..31bd55b898 100644 --- a/examples/01-basic/16-read-only-editor/package.json +++ b/examples/01-basic/16-read-only-editor/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/17-no-trailing-block/package.json b/examples/01-basic/17-no-trailing-block/package.json index b94e2a0ef0..66653c4510 100644 --- a/examples/01-basic/17-no-trailing-block/package.json +++ b/examples/01-basic/17-no-trailing-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/01-basic/testing/package.json b/examples/01-basic/testing/package.json index 709f1c5620..47d27d7b94 100644 --- a/examples/01-basic/testing/package.json +++ b/examples/01-basic/testing/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/02-backend/01-file-uploading/package.json b/examples/02-backend/01-file-uploading/package.json index 7eb964abda..945c6ff329 100644 --- a/examples/02-backend/01-file-uploading/package.json +++ b/examples/02-backend/01-file-uploading/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/02-backend/02-saving-loading/package.json b/examples/02-backend/02-saving-loading/package.json index bd4f9a3e9a..e9ea5e316f 100644 --- a/examples/02-backend/02-saving-loading/package.json +++ b/examples/02-backend/02-saving-loading/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/02-backend/03-s3/package.json b/examples/02-backend/03-s3/package.json index 7f35ac55b6..26b42898f4 100644 --- a/examples/02-backend/03-s3/package.json +++ b/examples/02-backend/03-s3/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/02-backend/04-rendering-static-documents/package.json b/examples/02-backend/04-rendering-static-documents/package.json index 835304540b..250b837504 100644 --- a/examples/02-backend/04-rendering-static-documents/package.json +++ b/examples/02-backend/04-rendering-static-documents/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/01-ui-elements-remove/package.json b/examples/03-ui-components/01-ui-elements-remove/package.json index 22bac6662f..395df7aae9 100644 --- a/examples/03-ui-components/01-ui-elements-remove/package.json +++ b/examples/03-ui-components/01-ui-elements-remove/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/02-formatting-toolbar-buttons/package.json b/examples/03-ui-components/02-formatting-toolbar-buttons/package.json index 1c7d2284f1..08d97ce1ab 100644 --- a/examples/03-ui-components/02-formatting-toolbar-buttons/package.json +++ b/examples/03-ui-components/02-formatting-toolbar-buttons/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json b/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json index b61ae2bc24..8ada2d7ed2 100644 --- a/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json +++ b/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/03-formatting-toolbar-block-type-items/src/Alert.tsx b/examples/03-ui-components/03-formatting-toolbar-block-type-items/src/Alert.tsx index 4b2af03fbe..9538876ae5 100644 --- a/examples/03-ui-components/03-formatting-toolbar-block-type-items/src/Alert.tsx +++ b/examples/03-ui-components/03-formatting-toolbar-block-type-items/src/Alert.tsx @@ -6,7 +6,7 @@ import { MdCancel, MdCheckCircle, MdError, MdInfo } from "react-icons/md"; import "./styles.css"; // The types of alerts that users can choose from. -export const alertTypes = [ +const alertTypes = [ { title: "Warning", value: "warning", diff --git a/examples/03-ui-components/04-side-menu-buttons/package.json b/examples/03-ui-components/04-side-menu-buttons/package.json index 031fed7af8..4da0af92a9 100644 --- a/examples/03-ui-components/04-side-menu-buttons/package.json +++ b/examples/03-ui-components/04-side-menu-buttons/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/05-side-menu-drag-handle-items/.bnexample.json b/examples/03-ui-components/05-side-menu-drag-handle-items/.bnexample.json index 2e64fc3cdb..b878ee2d53 100644 --- a/examples/03-ui-components/05-side-menu-drag-handle-items/.bnexample.json +++ b/examples/03-ui-components/05-side-menu-drag-handle-items/.bnexample.json @@ -2,8 +2,5 @@ "playground": true, "docs": true, "author": "matthewlipski", - "tags": ["Intermediate", "Blocks", "UI Components", "Block Side Menu"], - "dependencies": { - "react-icons": "^5.5.0" - } + "tags": ["Intermediate", "Blocks", "UI Components", "Block Side Menu"] } diff --git a/examples/03-ui-components/05-side-menu-drag-handle-items/package.json b/examples/03-ui-components/05-side-menu-drag-handle-items/package.json index 52caf57742..1351699ba1 100644 --- a/examples/03-ui-components/05-side-menu-drag-handle-items/package.json +++ b/examples/03-ui-components/05-side-menu-drag-handle-items/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,16 +11,13 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", - "react-dom": "^19.2.3", - "react-icons": "^5.5.0" + "react-dom": "^19.2.3" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json b/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json index a66c649006..1c11c0b18b 100644 --- a/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json +++ b/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json b/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json index 955377f1a9..935ae9c87b 100644 --- a/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json +++ b/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json b/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json index 5ad89bd485..475b185cbf 100644 --- a/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json +++ b/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json b/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json index 0cf06466cb..fe3db8bfff 100644 --- a/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json +++ b/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json b/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json index 7009d0a507..f477e2eb2a 100644 --- a/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json +++ b/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/10-suggestion-menus-grid-mentions/src/App.tsx b/examples/03-ui-components/10-suggestion-menus-grid-mentions/src/App.tsx index 8050cadb21..b1f9006348 100644 --- a/examples/03-ui-components/10-suggestion-menus-grid-mentions/src/App.tsx +++ b/examples/03-ui-components/10-suggestion-menus-grid-mentions/src/App.tsx @@ -45,7 +45,7 @@ const getMentionMenuItems = ( })); }; -export function App() { +function App() { const editor = useCreateBlockNote({ schema, initialContent: [ diff --git a/examples/03-ui-components/11-uppy-file-panel/package.json b/examples/03-ui-components/11-uppy-file-panel/package.json index 057f760509..d20e0f457b 100644 --- a/examples/03-ui-components/11-uppy-file-panel/package.json +++ b/examples/03-ui-components/11-uppy-file-panel/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/12-static-formatting-toolbar/package.json b/examples/03-ui-components/12-static-formatting-toolbar/package.json index 0eb66c2bd1..78f1b04ada 100644 --- a/examples/03-ui-components/12-static-formatting-toolbar/package.json +++ b/examples/03-ui-components/12-static-formatting-toolbar/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/13-custom-ui/package.json b/examples/03-ui-components/13-custom-ui/package.json index d2b605b31f..6c1ea958cc 100644 --- a/examples/03-ui-components/13-custom-ui/package.json +++ b/examples/03-ui-components/13-custom-ui/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json b/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json index c0843c027a..a13b321651 100644 --- a/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json +++ b/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/15-advanced-tables/package.json b/examples/03-ui-components/15-advanced-tables/package.json index f45298da20..ab9cbba2ad 100644 --- a/examples/03-ui-components/15-advanced-tables/package.json +++ b/examples/03-ui-components/15-advanced-tables/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/16-link-toolbar-buttons/package.json b/examples/03-ui-components/16-link-toolbar-buttons/package.json index 42bac9f029..0cfd5cb7ed 100644 --- a/examples/03-ui-components/16-link-toolbar-buttons/package.json +++ b/examples/03-ui-components/16-link-toolbar-buttons/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/17-advanced-tables-2/package.json b/examples/03-ui-components/17-advanced-tables-2/package.json index 5757f78f11..6079e5c236 100644 --- a/examples/03-ui-components/17-advanced-tables-2/package.json +++ b/examples/03-ui-components/17-advanced-tables-2/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/18-drag-n-drop/package.json b/examples/03-ui-components/18-drag-n-drop/package.json index ad486ac884..358bd3f7b7 100644 --- a/examples/03-ui-components/18-drag-n-drop/package.json +++ b/examples/03-ui-components/18-drag-n-drop/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/19-suggestion-menus-grouping-ordering/package.json b/examples/03-ui-components/19-suggestion-menus-grouping-ordering/package.json index 87bb1652e4..0d38ba730a 100644 --- a/examples/03-ui-components/19-suggestion-menus-grouping-ordering/package.json +++ b/examples/03-ui-components/19-suggestion-menus-grouping-ordering/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/03-ui-components/20-portal-elements/package.json b/examples/03-ui-components/20-portal-elements/package.json index 2557f4ac07..28aad9ddc1 100644 --- a/examples/03-ui-components/20-portal-elements/package.json +++ b/examples/03-ui-components/20-portal-elements/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/01-theming-dom-attributes/package.json b/examples/04-theming/01-theming-dom-attributes/package.json index 1ab1beffbb..658936570a 100644 --- a/examples/04-theming/01-theming-dom-attributes/package.json +++ b/examples/04-theming/01-theming-dom-attributes/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/02-changing-font/package.json b/examples/04-theming/02-changing-font/package.json index b2afd18dae..c3d43316b7 100644 --- a/examples/04-theming/02-changing-font/package.json +++ b/examples/04-theming/02-changing-font/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/03-theming-css/package.json b/examples/04-theming/03-theming-css/package.json index 680672be45..19e7c0b872 100644 --- a/examples/04-theming/03-theming-css/package.json +++ b/examples/04-theming/03-theming-css/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/04-theming-css-variables/package.json b/examples/04-theming/04-theming-css-variables/package.json index c9f3fef269..7b1f22d66b 100644 --- a/examples/04-theming/04-theming-css-variables/package.json +++ b/examples/04-theming/04-theming-css-variables/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/05-theming-css-variables-code/package.json b/examples/04-theming/05-theming-css-variables-code/package.json index f44be59d4e..0a86b2be85 100644 --- a/examples/04-theming/05-theming-css-variables-code/package.json +++ b/examples/04-theming/05-theming-css-variables-code/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/06-code-block/package.json b/examples/04-theming/06-code-block/package.json index 681bc31cf4..0e613992c1 100644 --- a/examples/04-theming/06-code-block/package.json +++ b/examples/04-theming/06-code-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/04-theming/07-custom-code-block/.bnexample.json b/examples/04-theming/07-custom-code-block/.bnexample.json index 0ab79ff45e..1e00c36bc2 100644 --- a/examples/04-theming/07-custom-code-block/.bnexample.json +++ b/examples/04-theming/07-custom-code-block/.bnexample.json @@ -4,7 +4,6 @@ "author": "nperez0111", "tags": ["Basic"], "dependencies": { - "@blocknote/code-block": "latest", "@shikijs/core": "^4.4.3", "@shikijs/engine-javascript": "^4.4.3", "@shikijs/langs-precompiled": "^4.4.3", diff --git a/examples/04-theming/07-custom-code-block/package.json b/examples/04-theming/07-custom-code-block/package.json index 07a7589951..4169d97327 100644 --- a/examples/04-theming/07-custom-code-block/package.json +++ b/examples/04-theming/07-custom-code-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,16 +11,13 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", - "@blocknote/code-block": "latest", "@shikijs/core": "^4.4.3", "@shikijs/engine-javascript": "^4.4.3", "@shikijs/langs-precompiled": "^4.4.3", diff --git a/examples/05-interoperability/01-converting-blocks-to-html/package.json b/examples/05-interoperability/01-converting-blocks-to-html/package.json index fb89069bb2..ae3242ddad 100644 --- a/examples/05-interoperability/01-converting-blocks-to-html/package.json +++ b/examples/05-interoperability/01-converting-blocks-to-html/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/05-interoperability/02-converting-blocks-from-html/package.json b/examples/05-interoperability/02-converting-blocks-from-html/package.json index 857e923d93..c5c8aeff1a 100644 --- a/examples/05-interoperability/02-converting-blocks-from-html/package.json +++ b/examples/05-interoperability/02-converting-blocks-from-html/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/05-interoperability/03-converting-blocks-to-md/package.json b/examples/05-interoperability/03-converting-blocks-to-md/package.json index 4e2fe75051..7a065c412d 100644 --- a/examples/05-interoperability/03-converting-blocks-to-md/package.json +++ b/examples/05-interoperability/03-converting-blocks-to-md/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/05-interoperability/04-converting-blocks-from-md/package.json b/examples/05-interoperability/04-converting-blocks-from-md/package.json index bc4491fcc6..0a4caa9e9b 100644 --- a/examples/05-interoperability/04-converting-blocks-from-md/package.json +++ b/examples/05-interoperability/04-converting-blocks-from-md/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/05-interoperability/05-converting-blocks-to-pdf/package.json b/examples/05-interoperability/05-converting-blocks-to-pdf/package.json index 30c28d0430..607419efe2 100644 --- a/examples/05-interoperability/05-converting-blocks-to-pdf/package.json +++ b/examples/05-interoperability/05-converting-blocks-to-pdf/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/05-interoperability/06-converting-blocks-to-docx/.bnexample.json b/examples/05-interoperability/06-converting-blocks-to-docx/.bnexample.json index f370c604f4..db0c73a568 100644 --- a/examples/05-interoperability/06-converting-blocks-to-docx/.bnexample.json +++ b/examples/05-interoperability/06-converting-blocks-to-docx/.bnexample.json @@ -7,8 +7,7 @@ "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", "@blocknote/xl-docx-exporter": "latest", - "@blocknote/xl-multi-column": "latest", - "katex": "^0.16.11" + "@blocknote/xl-multi-column": "latest" }, "pro": true } diff --git a/examples/05-interoperability/06-converting-blocks-to-docx/package.json b/examples/05-interoperability/06-converting-blocks-to-docx/package.json index 2a70496c6e..0863fc5f5d 100644 --- a/examples/05-interoperability/06-converting-blocks-to-docx/package.json +++ b/examples/05-interoperability/06-converting-blocks-to-docx/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", @@ -23,8 +21,7 @@ "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", "@blocknote/xl-docx-exporter": "latest", - "@blocknote/xl-multi-column": "latest", - "katex": "^0.16.11" + "@blocknote/xl-multi-column": "latest" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/05-interoperability/07-converting-blocks-to-odt/.bnexample.json b/examples/05-interoperability/07-converting-blocks-to-odt/.bnexample.json index 3fee215859..83fb39eb86 100644 --- a/examples/05-interoperability/07-converting-blocks-to-odt/.bnexample.json +++ b/examples/05-interoperability/07-converting-blocks-to-odt/.bnexample.json @@ -7,8 +7,7 @@ "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", "@blocknote/xl-multi-column": "latest", - "@blocknote/xl-odt-exporter": "latest", - "katex": "^0.16.11" + "@blocknote/xl-odt-exporter": "latest" }, "pro": true } diff --git a/examples/05-interoperability/07-converting-blocks-to-odt/package.json b/examples/05-interoperability/07-converting-blocks-to-odt/package.json index 2e814b5849..b3f5f4c507 100644 --- a/examples/05-interoperability/07-converting-blocks-to-odt/package.json +++ b/examples/05-interoperability/07-converting-blocks-to-odt/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", @@ -23,8 +21,7 @@ "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", "@blocknote/xl-multi-column": "latest", - "@blocknote/xl-odt-exporter": "latest", - "katex": "^0.16.11" + "@blocknote/xl-odt-exporter": "latest" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json b/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json index 12f951eec2..50fdd11c00 100644 --- a/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json +++ b/examples/05-interoperability/08-converting-blocks-to-react-email/.bnexample.json @@ -6,8 +6,7 @@ "dependencies": { "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", - "@blocknote/xl-email-exporter": "latest", - "@react-email/render": "^2.0.4" + "@blocknote/xl-email-exporter": "latest" }, "pro": true } diff --git a/examples/05-interoperability/08-converting-blocks-to-react-email/package.json b/examples/05-interoperability/08-converting-blocks-to-react-email/package.json index c69fbbbcc0..b552c362d3 100644 --- a/examples/05-interoperability/08-converting-blocks-to-react-email/package.json +++ b/examples/05-interoperability/08-converting-blocks-to-react-email/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,19 +11,16 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", - "@blocknote/xl-email-exporter": "latest", - "@react-email/render": "^2.0.4" + "@blocknote/xl-email-exporter": "latest" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/05-interoperability/09-blocks-to-html-static-render/package.json b/examples/05-interoperability/09-blocks-to-html-static-render/package.json index 979c7cbc37..79f50599d7 100644 --- a/examples/05-interoperability/09-blocks-to-html-static-render/package.json +++ b/examples/05-interoperability/09-blocks-to-html-static-render/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/05-interoperability/10-static-html-render/package.json b/examples/05-interoperability/10-static-html-render/package.json index 8d7eb9dc21..426863ab2c 100644 --- a/examples/05-interoperability/10-static-html-render/package.json +++ b/examples/05-interoperability/10-static-html-render/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/01-alert-block/package.json b/examples/06-custom-schema/01-alert-block/package.json index 40e17cc050..dc150febc8 100644 --- a/examples/06-custom-schema/01-alert-block/package.json +++ b/examples/06-custom-schema/01-alert-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/01-alert-block/src/Alert.tsx b/examples/06-custom-schema/01-alert-block/src/Alert.tsx index 079cb8bebc..32aaf5301b 100644 --- a/examples/06-custom-schema/01-alert-block/src/Alert.tsx +++ b/examples/06-custom-schema/01-alert-block/src/Alert.tsx @@ -6,7 +6,7 @@ import { MdCancel, MdCheckCircle, MdError, MdInfo } from "react-icons/md"; import "./styles.css"; // The types of alerts that users can choose from. -export const alertTypes = [ +const alertTypes = [ { title: "Warning", value: "warning", diff --git a/examples/06-custom-schema/02-suggestion-menus-mentions/package.json b/examples/06-custom-schema/02-suggestion-menus-mentions/package.json index bc356957cb..c59f54af9c 100644 --- a/examples/06-custom-schema/02-suggestion-menus-mentions/package.json +++ b/examples/06-custom-schema/02-suggestion-menus-mentions/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/02-suggestion-menus-mentions/src/App.tsx b/examples/06-custom-schema/02-suggestion-menus-mentions/src/App.tsx index 59efcc45f2..6b36358a27 100644 --- a/examples/06-custom-schema/02-suggestion-menus-mentions/src/App.tsx +++ b/examples/06-custom-schema/02-suggestion-menus-mentions/src/App.tsx @@ -44,7 +44,7 @@ const getMentionMenuItems = ( })); }; -export function App() { +function App() { const editor = useCreateBlockNote({ schema, initialContent: [ diff --git a/examples/06-custom-schema/03-font-style/package.json b/examples/06-custom-schema/03-font-style/package.json index 6f8d1a5eef..5886b22d84 100644 --- a/examples/06-custom-schema/03-font-style/package.json +++ b/examples/06-custom-schema/03-font-style/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/04-pdf-file-block/package.json b/examples/06-custom-schema/04-pdf-file-block/package.json index 046f0b346b..ce02e44250 100644 --- a/examples/06-custom-schema/04-pdf-file-block/package.json +++ b/examples/06-custom-schema/04-pdf-file-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/04-pdf-file-block/src/PDF.tsx b/examples/06-custom-schema/04-pdf-file-block/src/PDF.tsx index 8ce605ea70..31ca5460e8 100644 --- a/examples/06-custom-schema/04-pdf-file-block/src/PDF.tsx +++ b/examples/06-custom-schema/04-pdf-file-block/src/PDF.tsx @@ -9,7 +9,7 @@ import { RiFilePdfFill } from "react-icons/ri"; import "./styles.css"; -export const PDFPreview = ( +const PDFPreview = ( props: Omit, "contentRef">, ) => { return ( diff --git a/examples/06-custom-schema/05-alert-block-full-ux/package.json b/examples/06-custom-schema/05-alert-block-full-ux/package.json index 108adeeaa6..e926d09b32 100644 --- a/examples/06-custom-schema/05-alert-block-full-ux/package.json +++ b/examples/06-custom-schema/05-alert-block-full-ux/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/05-alert-block-full-ux/src/Alert.tsx b/examples/06-custom-schema/05-alert-block-full-ux/src/Alert.tsx index 079cb8bebc..32aaf5301b 100644 --- a/examples/06-custom-schema/05-alert-block-full-ux/src/Alert.tsx +++ b/examples/06-custom-schema/05-alert-block-full-ux/src/Alert.tsx @@ -6,7 +6,7 @@ import { MdCancel, MdCheckCircle, MdError, MdInfo } from "react-icons/md"; import "./styles.css"; // The types of alerts that users can choose from. -export const alertTypes = [ +const alertTypes = [ { title: "Warning", value: "warning", diff --git a/examples/06-custom-schema/06-toggleable-blocks/package.json b/examples/06-custom-schema/06-toggleable-blocks/package.json index caed51c711..2fc2a6c5f6 100644 --- a/examples/06-custom-schema/06-toggleable-blocks/package.json +++ b/examples/06-custom-schema/06-toggleable-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/07-configuring-blocks/package.json b/examples/06-custom-schema/07-configuring-blocks/package.json index 26e72285d5..6764eec72f 100644 --- a/examples/06-custom-schema/07-configuring-blocks/package.json +++ b/examples/06-custom-schema/07-configuring-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/08-non-editable-block/package.json b/examples/06-custom-schema/08-non-editable-block/package.json index 98f9f06457..b922cd0392 100644 --- a/examples/06-custom-schema/08-non-editable-block/package.json +++ b/examples/06-custom-schema/08-non-editable-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/09-math-block/.bnexample.json b/examples/06-custom-schema/09-math-block/.bnexample.json index d7b46b399c..49427098e7 100644 --- a/examples/06-custom-schema/09-math-block/.bnexample.json +++ b/examples/06-custom-schema/09-math-block/.bnexample.json @@ -11,7 +11,6 @@ ], "dependencies": { "@blocknote/code-block": "latest", - "@blocknote/math-block": "latest", - "react-icons": "^5.5.0" + "@blocknote/math-block": "latest" } } diff --git a/examples/06-custom-schema/09-math-block/package.json b/examples/06-custom-schema/09-math-block/package.json index e1390e5959..6d5e7b760c 100644 --- a/examples/06-custom-schema/09-math-block/package.json +++ b/examples/06-custom-schema/09-math-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,18 +11,15 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@blocknote/code-block": "latest", - "@blocknote/math-block": "latest", - "react-icons": "^5.5.0" + "@blocknote/math-block": "latest" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/06-custom-schema/10-diagram-block/.bnexample.json b/examples/06-custom-schema/10-diagram-block/.bnexample.json index 915c0c3db7..9645ff304b 100644 --- a/examples/06-custom-schema/10-diagram-block/.bnexample.json +++ b/examples/06-custom-schema/10-diagram-block/.bnexample.json @@ -11,7 +11,6 @@ ], "dependencies": { "@blocknote/code-block": "latest", - "@blocknote/diagram-block": "latest", - "react-icons": "^5.5.0" + "@blocknote/diagram-block": "latest" } } diff --git a/examples/06-custom-schema/10-diagram-block/package.json b/examples/06-custom-schema/10-diagram-block/package.json index 1e52cdd52c..486f8356f6 100644 --- a/examples/06-custom-schema/10-diagram-block/package.json +++ b/examples/06-custom-schema/10-diagram-block/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,18 +11,15 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@blocknote/code-block": "latest", - "@blocknote/diagram-block": "latest", - "react-icons": "^5.5.0" + "@blocknote/diagram-block": "latest" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/06-custom-schema/11-source-with-preview/package.json b/examples/06-custom-schema/11-source-with-preview/package.json index 9d5da6eaf0..db9a0db7fe 100644 --- a/examples/06-custom-schema/11-source-with-preview/package.json +++ b/examples/06-custom-schema/11-source-with-preview/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/draggable-inline-content/package.json b/examples/06-custom-schema/draggable-inline-content/package.json index 27a1e5c335..eef48021b9 100644 --- a/examples/06-custom-schema/draggable-inline-content/package.json +++ b/examples/06-custom-schema/draggable-inline-content/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/react-custom-blocks/package.json b/examples/06-custom-schema/react-custom-blocks/package.json index 418b4e92f6..fae6347e87 100644 --- a/examples/06-custom-schema/react-custom-blocks/package.json +++ b/examples/06-custom-schema/react-custom-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/react-custom-inline-content/package.json b/examples/06-custom-schema/react-custom-inline-content/package.json index 24e282e524..4045e83f83 100644 --- a/examples/06-custom-schema/react-custom-inline-content/package.json +++ b/examples/06-custom-schema/react-custom-inline-content/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/06-custom-schema/react-custom-styles/package.json b/examples/06-custom-schema/react-custom-styles/package.json index 72b89da0d9..b4e1d8f68c 100644 --- a/examples/06-custom-schema/react-custom-styles/package.json +++ b/examples/06-custom-schema/react-custom-styles/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/01-partykit/package.json b/examples/07-collaboration/01-partykit/package.json index b22a23baa0..64d56a792c 100644 --- a/examples/07-collaboration/01-partykit/package.json +++ b/examples/07-collaboration/01-partykit/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/02-liveblocks/package.json b/examples/07-collaboration/02-liveblocks/package.json index aa06459e0a..349c57f52f 100644 --- a/examples/07-collaboration/02-liveblocks/package.json +++ b/examples/07-collaboration/02-liveblocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/03-y-sweet/package.json b/examples/07-collaboration/03-y-sweet/package.json index 87e6e2e969..bab50990dd 100644 --- a/examples/07-collaboration/03-y-sweet/package.json +++ b/examples/07-collaboration/03-y-sweet/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/04-electric-sql/package.json b/examples/07-collaboration/04-electric-sql/package.json index d3e9f8bdec..e67a70b1b4 100644 --- a/examples/07-collaboration/04-electric-sql/package.json +++ b/examples/07-collaboration/04-electric-sql/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/05-comments/package.json b/examples/07-collaboration/05-comments/package.json index d3bcfb0438..18d48622be 100644 --- a/examples/07-collaboration/05-comments/package.json +++ b/examples/07-collaboration/05-comments/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/06-comments-with-sidebar/package.json b/examples/07-collaboration/06-comments-with-sidebar/package.json index 4319a3e3a9..7f0c2b58bd 100644 --- a/examples/07-collaboration/06-comments-with-sidebar/package.json +++ b/examples/07-collaboration/06-comments-with-sidebar/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/07-ghost-writer/.bnexample.json b/examples/07-collaboration/07-ghost-writer/.bnexample.json index 2c30ef42bd..a18c07fa84 100644 --- a/examples/07-collaboration/07-ghost-writer/.bnexample.json +++ b/examples/07-collaboration/07-ghost-writer/.bnexample.json @@ -4,6 +4,7 @@ "author": "nperez0111", "tags": ["Advanced", "Development", "Collaboration"], "dependencies": { + "prosemirror-view": "^1.42.2", "y-partykit": "^0.0.25", "yjs": "^13.6.27" } diff --git a/examples/07-collaboration/07-ghost-writer/package.json b/examples/07-collaboration/07-ghost-writer/package.json index 58cc65914b..ba4c4e4632 100644 --- a/examples/07-collaboration/07-ghost-writer/package.json +++ b/examples/07-collaboration/07-ghost-writer/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,15 +11,14 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", + "prosemirror-view": "^1.42.2", "y-partykit": "^0.0.25", "yjs": "^13.6.27" }, diff --git a/examples/07-collaboration/08-forking/package.json b/examples/07-collaboration/08-forking/package.json index d9d2ca9461..46f8da4eab 100644 --- a/examples/07-collaboration/08-forking/package.json +++ b/examples/07-collaboration/08-forking/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/09-comments-testing/package.json b/examples/07-collaboration/09-comments-testing/package.json index 0974a4ba35..b4fd6716ce 100644 --- a/examples/07-collaboration/09-comments-testing/package.json +++ b/examples/07-collaboration/09-comments-testing/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/10-suggestion-multi-editor/.bnexample.json b/examples/07-collaboration/10-suggestion-multi-editor/.bnexample.json index f19d4b6251..4e054b79c4 100644 --- a/examples/07-collaboration/10-suggestion-multi-editor/.bnexample.json +++ b/examples/07-collaboration/10-suggestion-multi-editor/.bnexample.json @@ -6,7 +6,6 @@ "dependencies": { "@y/protocols": "^1.0.6-rc.1", "@y/y": "^14.0.0-rc.23", - "@y/prosemirror": "^2.0.0-6", - "@y/websocket": "^4.0.0-rc.2" + "@y/prosemirror": "^2.0.0-6" } } diff --git a/examples/07-collaboration/10-suggestion-multi-editor/package.json b/examples/07-collaboration/10-suggestion-multi-editor/package.json index 683ec57c6d..1b04c23cdf 100644 --- a/examples/07-collaboration/10-suggestion-multi-editor/package.json +++ b/examples/07-collaboration/10-suggestion-multi-editor/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,19 +11,16 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@y/protocols": "^1.0.6-rc.1", "@y/y": "^14.0.0-rc.23", - "@y/prosemirror": "^2.0.0-6", - "@y/websocket": "^4.0.0-rc.2" + "@y/prosemirror": "^2.0.0-6" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/07-collaboration/11-versioning-yjs13/.bnexample.json b/examples/07-collaboration/11-versioning-yjs13/.bnexample.json index d04a59bb2e..725ddf4b43 100644 --- a/examples/07-collaboration/11-versioning-yjs13/.bnexample.json +++ b/examples/07-collaboration/11-versioning-yjs13/.bnexample.json @@ -5,7 +5,6 @@ "tags": ["Advanced", "Development", "Collaboration"], "dependencies": { "y-websocket": "^2.1.0", - "yjs": "^13.6.27", - "lib0": "^0.2.99" + "yjs": "^13.6.27" } } diff --git a/examples/07-collaboration/11-versioning-yjs13/package.json b/examples/07-collaboration/11-versioning-yjs13/package.json index 7d1f2d3db0..b387e36334 100644 --- a/examples/07-collaboration/11-versioning-yjs13/package.json +++ b/examples/07-collaboration/11-versioning-yjs13/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,18 +11,15 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "y-websocket": "^2.1.0", - "yjs": "^13.6.27", - "lib0": "^0.2.99" + "yjs": "^13.6.27" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/07-collaboration/11-versioning-yjs13/src/App.tsx b/examples/07-collaboration/11-versioning-yjs13/src/App.tsx index 015b90c6ec..485783043d 100644 --- a/examples/07-collaboration/11-versioning-yjs13/src/App.tsx +++ b/examples/07-collaboration/11-versioning-yjs13/src/App.tsx @@ -13,7 +13,7 @@ import "@blocknote/mantine/style.css"; import * as Y from "yjs"; import { WebsocketProvider } from "y-websocket"; -import { toBase64, fromBase64 } from "lib0/buffer"; +import { toBase64, fromBase64 } from "./base64"; import { VersionHistorySidebar } from "./VersionHistorySidebar"; import "./style.css"; diff --git a/examples/07-collaboration/11-versioning-yjs13/src/base64.ts b/examples/07-collaboration/11-versioning-yjs13/src/base64.ts new file mode 100644 index 0000000000..a96ae9a8fd --- /dev/null +++ b/examples/07-collaboration/11-versioning-yjs13/src/base64.ts @@ -0,0 +1,18 @@ +// Minimal base64 helpers for persisting Yjs updates to localStorage, so this +// example doesn't need a direct dependency on yjs' internal `lib0` package. +export function toBase64(bytes: Uint8Array): string { + let binary = ""; + for (const byte of bytes) { + binary += String.fromCharCode(byte); + } + return btoa(binary); +} + +export function fromBase64(encoded: string): Uint8Array { + const binary = atob(encoded); + const bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i++) { + bytes[i] = binary.charCodeAt(i); + } + return bytes; +} diff --git a/examples/07-collaboration/11-versioning-yjs13/src/localStorageEndpoints.ts b/examples/07-collaboration/11-versioning-yjs13/src/localStorageEndpoints.ts index d1e6a187af..e762d8b9b3 100644 --- a/examples/07-collaboration/11-versioning-yjs13/src/localStorageEndpoints.ts +++ b/examples/07-collaboration/11-versioning-yjs13/src/localStorageEndpoints.ts @@ -1,5 +1,5 @@ import * as Y from "yjs"; -import { toBase64, fromBase64 } from "lib0/buffer"; +import { toBase64, fromBase64 } from "./base64"; import { CURRENT_VERSION_ID, @@ -44,7 +44,7 @@ function writeContents(storageKey: string, contents: Record) { * Uses `Y.encodeStateAsUpdate` / `Y.applyUpdate` (v1 encoding) instead of the * v2 encoding used by the `@y/y` (v14) equivalent. */ -export function createLocalStorageVersioningEndpoints( +function createLocalStorageVersioningEndpoints( storageKey = DEFAULT_STORAGE_KEY, ): VersioningEndpoints { const listSnapshots: VersioningEndpoints< diff --git a/examples/07-collaboration/12-multi-doc-versioning/package.json b/examples/07-collaboration/12-multi-doc-versioning/package.json index f9bed71f4e..910a878ef0 100644 --- a/examples/07-collaboration/12-multi-doc-versioning/package.json +++ b/examples/07-collaboration/12-multi-doc-versioning/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/12-multi-doc-versioning/src/identity.ts b/examples/07-collaboration/12-multi-doc-versioning/src/identity.ts index f5777f3abf..681bc31c8c 100644 --- a/examples/07-collaboration/12-multi-doc-versioning/src/identity.ts +++ b/examples/07-collaboration/12-multi-doc-versioning/src/identity.ts @@ -11,7 +11,7 @@ const STORAGE_KEY = "bn-multi-doc-user"; * users simultaneously. The `?as=` URL param takes precedence and is * persisted into sessionStorage. */ -export const getCurrentUser = (): User | null => { +const getCurrentUser = (): User | null => { try { const fromUrl = new URLSearchParams(window.location.search).get("as"); if (fromUrl && USERS.some((u) => u.id === fromUrl)) { diff --git a/examples/07-collaboration/12-multi-doc-versioning/src/userdata.ts b/examples/07-collaboration/12-multi-doc-versioning/src/userdata.ts index 5afb4ca869..f9c9c9ab85 100644 --- a/examples/07-collaboration/12-multi-doc-versioning/src/userdata.ts +++ b/examples/07-collaboration/12-multi-doc-versioning/src/userdata.ts @@ -1,6 +1,6 @@ import type { User } from "@blocknote/core"; -export function getById(id: string): User { +function getById(id: string): User { return ( USERS.find((u) => u.id === id) ?? { id, diff --git a/examples/07-collaboration/13-versioning-yjs14/package.json b/examples/07-collaboration/13-versioning-yjs14/package.json index cce229a35b..26ab2c4cbc 100644 --- a/examples/07-collaboration/13-versioning-yjs14/package.json +++ b/examples/07-collaboration/13-versioning-yjs14/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/13-versioning-yjs14/src/reconcile.ts b/examples/07-collaboration/13-versioning-yjs14/src/reconcile.ts index 3a2e09e58e..751a42a57d 100644 --- a/examples/07-collaboration/13-versioning-yjs14/src/reconcile.ts +++ b/examples/07-collaboration/13-versioning-yjs14/src/reconcile.ts @@ -195,7 +195,7 @@ function toPartial( * positional diff is correctly recognised here as an in-place update or a move, * which is the semantic operation a human actually performed. */ -export function applyVersion( +function applyVersion( editor: BlockNoteEditor, target: VersionBlock[], ): void { diff --git a/examples/07-collaboration/13-versioning-yjs14/src/snapshotBuilder.ts b/examples/07-collaboration/13-versioning-yjs14/src/snapshotBuilder.ts index de104ba037..7466f701d9 100644 --- a/examples/07-collaboration/13-versioning-yjs14/src/snapshotBuilder.ts +++ b/examples/07-collaboration/13-versioning-yjs14/src/snapshotBuilder.ts @@ -31,7 +31,7 @@ export type EditHistoryStep = { }; /** One captured transaction, as a V2 Yjs update plus its attribution and timestamp. */ -export type CapturedPatch = { +type CapturedPatch = { /** V2 Yjs update containing only this transaction's changes. */ update: Uint8Array; /** The author id this transaction was attributed to, if any. */ diff --git a/examples/07-collaboration/13-versioning-yjs14/src/userdata.ts b/examples/07-collaboration/13-versioning-yjs14/src/userdata.ts index e692a99add..6392db1375 100644 --- a/examples/07-collaboration/13-versioning-yjs14/src/userdata.ts +++ b/examples/07-collaboration/13-versioning-yjs14/src/userdata.ts @@ -4,7 +4,7 @@ import type { User, UserStore } from "@blocknote/core"; // version sidebar / diff tooltips would show a bare number (e.g. "1") instead // of a name. The seed (`sampleDocument.ts`) attributes each contribution to one // of these ids via `attribution.by`. -export const USERS: User[] = [ +const USERS: User[] = [ { id: "1", username: "Alice", avatarUrl: "", color: "#e6194b" }, { id: "2", username: "Bob", avatarUrl: "", color: "#3cb44b" }, { id: "3", username: "Carol", avatarUrl: "", color: "#f58231" }, diff --git a/examples/07-collaboration/14-suggestion-gallery/package.json b/examples/07-collaboration/14-suggestion-gallery/package.json index 34aeb8f0b1..3489be7286 100644 --- a/examples/07-collaboration/14-suggestion-gallery/package.json +++ b/examples/07-collaboration/14-suggestion-gallery/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/07-collaboration/14-suggestion-gallery/src/scenarios.ts b/examples/07-collaboration/14-suggestion-gallery/src/scenarios.ts index e485ed3f87..6523a97421 100644 --- a/examples/07-collaboration/14-suggestion-gallery/src/scenarios.ts +++ b/examples/07-collaboration/14-suggestion-gallery/src/scenarios.ts @@ -23,7 +23,7 @@ import type { GalleryEditor, GalleryPartialBlock } from "./gallerySchema"; * notes in sync with the `TODO` / `KNOWN LIMITATION` / `test.skip` / `test.fails` * notes in the y-prosemirror e2e tests — that's where each is proven. */ -export type Feedback = { +type Feedback = { severity: "info" | "low" | "high"; note: string; }; diff --git a/examples/08-extensions/01-tiptap-arrow-conversion/package.json b/examples/08-extensions/01-tiptap-arrow-conversion/package.json index e9444ee9b7..51b6e91221 100644 --- a/examples/08-extensions/01-tiptap-arrow-conversion/package.json +++ b/examples/08-extensions/01-tiptap-arrow-conversion/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/08-extensions/02-versioning/package.json b/examples/08-extensions/02-versioning/package.json index 46b9bb8380..906047d803 100644 --- a/examples/08-extensions/02-versioning/package.json +++ b/examples/08-extensions/02-versioning/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/09-ai/01-minimal/package.json b/examples/09-ai/01-minimal/package.json index 0a3582c06d..c670d8353d 100644 --- a/examples/09-ai/01-minimal/package.json +++ b/examples/09-ai/01-minimal/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/09-ai/02-playground/package.json b/examples/09-ai/02-playground/package.json index 5e884617df..4387e7bdfb 100644 --- a/examples/09-ai/02-playground/package.json +++ b/examples/09-ai/02-playground/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/09-ai/02-playground/src/components/RadioGroupComponent.module.css b/examples/09-ai/02-playground/src/components/RadioGroupComponent.module.css deleted file mode 100644 index 46eedff7db..0000000000 --- a/examples/09-ai/02-playground/src/components/RadioGroupComponent.module.css +++ /dev/null @@ -1,33 +0,0 @@ -.root { - position: relative; - padding: var(--mantine-spacing-md); - transition: border-color 150ms ease; - - &[data-checked] { - border-color: var(--mantine-primary-color-filled); - } - - @mixin hover { - @mixin light { - background-color: var(--mantine-color-gray-0); - } - - @mixin dark { - background-color: var(--mantine-color-dark-6); - } - } -} - -.label { - font-family: var(--mantine-font-family-monospace); - font-weight: bold; - font-size: var(--mantine-font-size-md); - line-height: 1.3; - color: var(--mantine-color-bright); -} - -.description { - margin-top: 8px; - color: var(--mantine-color-dimmed); - font-size: var(--mantine-font-size-xs); -} diff --git a/examples/09-ai/02-playground/src/components/RadioGroupComponent.tsx b/examples/09-ai/02-playground/src/components/RadioGroupComponent.tsx deleted file mode 100644 index e001dffa32..0000000000 --- a/examples/09-ai/02-playground/src/components/RadioGroupComponent.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { Radio, Stack } from "@mantine/core"; -import React from "react"; - -interface RadioGroupComponentProps { - label: string; - items: Array<{ - name: string; - description: string; - value: string; - }>; - value: string; - onChange: (value: string) => void; -} - -const RadioGroupComponent: React.FC = ({ - label, - items, - value, - onChange, -}) => ( - - - {items.map((item) => ( - - // TODO: doesn't work well with our mantine version or styles - // - // - // - //
- // {item.name} - // {item.description} - //
- //
- //
- ))} -
-
-); - -export default RadioGroupComponent; diff --git a/examples/09-ai/03-custom-ai-menu-items/package.json b/examples/09-ai/03-custom-ai-menu-items/package.json index 9192cc331a..b41b3edecd 100644 --- a/examples/09-ai/03-custom-ai-menu-items/package.json +++ b/examples/09-ai/03-custom-ai-menu-items/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/09-ai/04-with-collaboration/.bnexample.json b/examples/09-ai/04-with-collaboration/.bnexample.json index 83bed82fe4..77b72a0475 100644 --- a/examples/09-ai/04-with-collaboration/.bnexample.json +++ b/examples/09-ai/04-with-collaboration/.bnexample.json @@ -7,6 +7,7 @@ "@blocknote/xl-ai": "latest", "@mantine/core": "^9.0.2", "ai": "^6.0.5", + "prosemirror-view": "^1.42.2", "y-partykit": "^0.0.25", "yjs": "^13.6.27" } diff --git a/examples/09-ai/04-with-collaboration/package.json b/examples/09-ai/04-with-collaboration/package.json index ac18052d0c..cdd163f15b 100644 --- a/examples/09-ai/04-with-collaboration/package.json +++ b/examples/09-ai/04-with-collaboration/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,17 +11,16 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@blocknote/xl-ai": "latest", "ai": "^6.0.5", + "prosemirror-view": "^1.42.2", "y-partykit": "^0.0.25", "yjs": "^13.6.27" }, diff --git a/examples/09-ai/05-manual-execution/.bnexample.json b/examples/09-ai/05-manual-execution/.bnexample.json index 890b2909fe..be5adc8adc 100644 --- a/examples/09-ai/05-manual-execution/.bnexample.json +++ b/examples/09-ai/05-manual-execution/.bnexample.json @@ -6,8 +6,6 @@ "dependencies": { "@blocknote/xl-ai": "latest", "@mantine/core": "^9.0.2", - "ai": "^6.0.5", - "y-partykit": "^0.0.25", "yjs": "^13.6.27" } } diff --git a/examples/09-ai/05-manual-execution/package.json b/examples/09-ai/05-manual-execution/package.json index b8c1893631..9c5c51bd9d 100644 --- a/examples/09-ai/05-manual-execution/package.json +++ b/examples/09-ai/05-manual-execution/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,18 +11,14 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@blocknote/xl-ai": "latest", - "ai": "^6.0.5", - "y-partykit": "^0.0.25", "yjs": "^13.6.27" }, "devDependencies": { diff --git a/examples/09-ai/05-manual-execution/src/getEnv.ts b/examples/09-ai/05-manual-execution/src/getEnv.ts deleted file mode 100644 index b225fc462e..0000000000 --- a/examples/09-ai/05-manual-execution/src/getEnv.ts +++ /dev/null @@ -1,20 +0,0 @@ -// helper function to get env variables across next / vite -// only needed so this example works in BlockNote demos and docs -export function getEnv(key: string) { - const env = (import.meta as any).env - ? { - BLOCKNOTE_AI_SERVER_API_KEY: (import.meta as any).env - .VITE_BLOCKNOTE_AI_SERVER_API_KEY, - BLOCKNOTE_AI_SERVER_BASE_URL: (import.meta as any).env - .VITE_BLOCKNOTE_AI_SERVER_BASE_URL, - } - : { - BLOCKNOTE_AI_SERVER_API_KEY: - process.env.NEXT_PUBLIC_BLOCKNOTE_AI_SERVER_API_KEY, - BLOCKNOTE_AI_SERVER_BASE_URL: - process.env.NEXT_PUBLIC_BLOCKNOTE_AI_SERVER_BASE_URL, - }; - - const value = env[key as keyof typeof env]; - return value; -} diff --git a/examples/09-ai/06-client-side-transport/.bnexample.json b/examples/09-ai/06-client-side-transport/.bnexample.json index 0ac2b679fc..043403cdfa 100644 --- a/examples/09-ai/06-client-side-transport/.bnexample.json +++ b/examples/09-ai/06-client-side-transport/.bnexample.json @@ -6,7 +6,6 @@ "dependencies": { "@ai-sdk/groq": "^3.0.2", "@blocknote/xl-ai": "latest", - "@mantine/core": "^9.0.2", - "ai": "^6.0.5" + "@mantine/core": "^9.0.2" } } diff --git a/examples/09-ai/06-client-side-transport/package.json b/examples/09-ai/06-client-side-transport/package.json index 1455c6e9e2..44758e16a4 100644 --- a/examples/09-ai/06-client-side-transport/package.json +++ b/examples/09-ai/06-client-side-transport/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,18 +11,15 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", "react-dom": "^19.2.3", "@ai-sdk/groq": "^3.0.2", - "@blocknote/xl-ai": "latest", - "ai": "^6.0.5" + "@blocknote/xl-ai": "latest" }, "devDependencies": { "@types/react": "^19.2.3", diff --git a/examples/09-ai/07-server-persistence/package.json b/examples/09-ai/07-server-persistence/package.json index c9c2d9b6bb..3607185c10 100644 --- a/examples/09-ai/07-server-persistence/package.json +++ b/examples/09-ai/07-server-persistence/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/README.md b/examples/README.md index 072497def2..e06177aed0 100644 --- a/examples/README.md +++ b/examples/README.md @@ -2,6 +2,16 @@ Here, we collect a number of examples using BlockNote. You can run the examples via the Playground (`npm start` or [online version](https://blocknote-main.vercel.app/)). +Each example directory is a self-contained project — you can open one directly in StackBlitz (`https://stackblitz.com/github/TypeCellOS/BlockNote/tree/main/examples//`) to try it out or reproduce an issue against the latest release. + ### (contributors) Adding examples -Just create a folder, add an `App.tsx` file, `.bnexample.json` and `README.md` file. Then run `npm run gen` to generate the rest of the template. +Just create a folder, add an `App.tsx` file (in `src/`), `.bnexample.json` and `README.md` file. Then run `npm run gen` to generate the rest of the template, and `npm install` to install any new dependencies. + +Notes on `.bnexample.json`: + +- `dependencies` should list only packages the example's source actually imports. `@blocknote/core`, `@blocknote/react`, the UI library, `react`, and `react-dom` are added automatically. +- `uiLib` (`"mantine"` | `"ariakit"` | `"shadcn"`, default `"mantine"`) selects which BlockNote UI package the example uses — each example gets exactly one. +- Examples with `"docs": true` are bundled together on the docs site, so `gen` fails if two of them require incompatible versions of the same package. Reconcile the versions or set `"docs": false` on one. + +The generated files (`package.json`, `vite.config.ts`, etc.) are committed but must never be edited by hand — CI checks that re-running `gen` produces no diff. diff --git a/examples/vanilla-js/react-vanilla-custom-blocks/package.json b/examples/vanilla-js/react-vanilla-custom-blocks/package.json index 15f8cf4441..4e119bce69 100644 --- a/examples/vanilla-js/react-vanilla-custom-blocks/package.json +++ b/examples/vanilla-js/react-vanilla-custom-blocks/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/vanilla-js/react-vanilla-custom-inline-content/package.json b/examples/vanilla-js/react-vanilla-custom-inline-content/package.json index 253464ac02..b8321873c9 100644 --- a/examples/vanilla-js/react-vanilla-custom-inline-content/package.json +++ b/examples/vanilla-js/react-vanilla-custom-inline-content/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/vanilla-js/react-vanilla-custom-styles/package.json b/examples/vanilla-js/react-vanilla-custom-styles/package.json index 97d555728a..2c992f3afb 100644 --- a/examples/vanilla-js/react-vanilla-custom-styles/package.json +++ b/examples/vanilla-js/react-vanilla-custom-styles/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/examples/vanilla-js/vanilla-custom-side-menu/package.json b/examples/vanilla-js/vanilla-custom-side-menu/package.json index a26d149f86..1e00b1f6c3 100644 --- a/examples/vanilla-js/vanilla-custom-side-menu/package.json +++ b/examples/vanilla-js/vanilla-custom-side-menu/package.json @@ -3,7 +3,7 @@ "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "type": "module", "private": true, - "version": "0.12.4", + "version": "0.0.0", "scripts": { "start": "vite", "dev": "vite", @@ -11,11 +11,9 @@ "preview": "vite preview" }, "dependencies": { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", + "@blocknote/mantine": "latest", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", "react": "^19.2.3", diff --git a/knip.json b/knip.json new file mode 100644 index 0000000000..a2a867cca2 --- /dev/null +++ b/knip.json @@ -0,0 +1,139 @@ +{ + "$schema": "https://unpkg.com/knip@5/schema.json", + "ignoreBinaries": ["mkcert", "vp_build", "email"], + "ignoreDependencies": [ + "oxlint-tsgolint", + "bumpp", + "changelogen", + "@blocknote/shared", + "image-meta", + "@react-email/.+" + ], + "ignoreFiles": ["**/__snapshots__/**"], + "ignore": [ + "packages/*/types/**", + "packages/shadcn/src/components/ui/**", + "docs/components/fumadocs/**", + "**/shiki.bundle.ts" + ], + "rules": { + "optionalPeerDependencies": "off", + "catalog": "off" + }, + "workspaces": { + ".": { + "entry": ["scripts/*.mjs"] + }, + "packages/*": { + "entry": ["src/index.{ts,tsx}"], + "project": ["src/**", "*.{ts,tsx}"] + }, + "packages/core": { + "entry": [ + "src/index.ts", + "src/comments/index.ts", + "src/blocks/index.ts", + "src/i18n/index.ts", + "src/extensions/index.ts", + "src/yjs/index.ts", + "src/y/index.ts", + "vite.config.bundled.ts", + "scripts/*.mjs" + ], + "project": ["src/**", "*.{ts,tsx}"] + }, + "packages/math-block": { + "entry": ["src/index.ts", "src/*-exporter/index.{ts,tsx}"], + "project": ["src/**", "*.{ts,tsx}"] + }, + "packages/diagram-block": { + "entry": ["src/index.ts", "src/*-exporter/index.{ts,tsx}"], + "project": ["src/**", "*.{ts,tsx}"] + }, + "packages/xl-ai": { + "entry": ["src/index.ts", "src/i18n/locales/index.ts", "src/server.ts"], + "project": ["src/**", "*.{ts,tsx}"] + }, + "packages/dev-scripts": { + "entry": ["src/index.{ts,tsx}", "examples/template-react/*.template.tsx"], + "ignore": ["examples/template-react/vite-env.d.ts.template.tsx"] + }, + "examples/*/*": { + "ignoreDependencies": [ + "@blocknote/core", + "@blocknote/react", + "@blocknote/mantine", + "@mantine/core", + "@mantine/hooks" + ] + }, + "examples/02-backend/04-rendering-static-documents": { + "ignoreDependencies": [ + "@blocknote/core", + "@blocknote/react", + "@blocknote/mantine", + "@mantine/core", + "@mantine/hooks", + "@blocknote/server-util" + ] + }, + "examples/03-ui-components/11-uppy-file-panel": { + "ignoreDependencies": [ + "@blocknote/core", + "@blocknote/react", + "@blocknote/mantine", + "@mantine/core", + "@mantine/hooks", + "@uppy/xhr-upload" + ] + }, + "examples/07-collaboration/02-liveblocks": { + "entry": ["src/App.tsx", "liveblocks.config.ts"], + "ignoreDependencies": [ + "@blocknote/core", + "@blocknote/react", + "@blocknote/mantine", + "@mantine/core", + "@mantine/hooks", + "@liveblocks/client" + ] + }, + "docs": { + "ignoreDependencies": [".+"] + }, + "playground": { + "ignoreDependencies": [ + "@blocknote/.+", + "@mantine/hooks", + "katex", + "@react-pdf/math" + ] + }, + "tests": { + "entry": [ + "src/end-to-end/**/*.test.{ts,tsx}", + "src/unit/**/*.test.{ts,tsx}", + "playwright/index.tsx", + "vite.config.browser.ts" + ], + "paths": { + "@examples/*": ["../examples/*"], + "@shared/*": ["../shared/*"] + }, + "ignoreDependencies": [ + "@blocknote/ariakit", + "@blocknote/shadcn", + "@vitest/ui" + ] + }, + "tests/nextjs-test-app": { + "entry": ["app/**/{page,layout,route}.tsx", "next.config.ts"], + "ignoreDependencies": [ + "@mantine/core", + "@mantine/hooks", + "react", + "react-dom" + ] + } + } +} diff --git a/package.json b/package.json index 0323f0ce02..8396dfa593 100644 --- a/package.json +++ b/package.json @@ -4,14 +4,12 @@ "devDependencies": { "bumpp": "^11.1.0", "changelogen": "^0.6.1", - "concurrently": "9.1.2", "eslint-plugin-import": "^2.32.0", - "glob": "^10.5.0", + "knip": "^6.32.2", "oxlint-tsgolint": "^7.0.2001", "serve": "14.2.6", "typescript": "^7.0.2", - "vite-plus": "catalog:", - "wait-on": "9.0.5" + "vite-plus": "catalog:" }, "packageManager": "pnpm@11.8.0+sha512.c1f5e7c4cb241c8f174b743851d82f42b802324afc8b0f116b96adb15aa06664948dde36960a3ba1079ba5b4b29dd0140135b94b5b5f5263592249d68e555f26", "private": true, @@ -29,6 +27,7 @@ "e2e": "bash tests/docker-run.sh -e CI=1 -- --run", "e2e:updateSnaps": "bash tests/docker-run.sh -e CI=1 -- --run -u", "e2e:report": "serve -l 4173 tests/playwright-report", + "knip": "knip --no-config-hints", "lint": "vp lint --type-aware", "typecheck": "tsc --noEmit -p tsconfig.json", "postpublish": "rm -rf packages/core/README.md && rm -rf packages/react/README.md", diff --git a/packages/ariakit/package.json b/packages/ariakit/package.json index 20eb178ed1..42528a2fc2 100644 --- a/packages/ariakit/package.json +++ b/packages/ariakit/package.json @@ -68,7 +68,6 @@ "rimraf": "^5.0.10", "rollup-plugin-webpack-stats": "^0.2.6", "typescript": "^7.0.2", - "vite-plugin-externalize-deps": "^0.10.0", "vite-plus": "catalog:" }, "peerDependencies": { diff --git a/packages/ariakit/vite.config.ts b/packages/ariakit/vite.config.ts index 779d940bb7..ea9d7fae9a 100644 --- a/packages/ariakit/vite.config.ts +++ b/packages/ariakit/vite.config.ts @@ -21,10 +21,6 @@ export default defineConfig( }, }, }, - test: { - environment: "jsdom", - setupFiles: ["./vitestSetup.ts"], - }, plugins: [react(), webpackStats()], // used so that vitest resolves the core package from the sources instead of the built version resolve: { diff --git a/packages/core/src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts b/packages/core/src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts index 71598b7d69..941743fb4f 100644 --- a/packages/core/src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts +++ b/packages/core/src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts @@ -150,7 +150,7 @@ function flattenColumns( * @param placement Whether to insert the blocks before or after the reference * block. */ -export function moveBlocks( +function moveBlocks( editor: BlockNoteEditor, blocks: Block[], referenceBlock: BlockIdentifier, diff --git a/packages/core/src/api/blockManipulation/tables/tables.ts b/packages/core/src/api/blockManipulation/tables/tables.ts index 6e19d6f45e..14db2d6d46 100644 --- a/packages/core/src/api/blockManipulation/tables/tables.ts +++ b/packages/core/src/api/blockManipulation/tables/tables.ts @@ -184,7 +184,7 @@ type OccupancyGrid = (RelativeCellIndices & { * * @returns an {@link OccupancyGrid} */ -export function getTableCellOccupancyGrid( +function getTableCellOccupancyGrid( block: BlockFromConfigNoChildren, ): OccupancyGrid { const { height, width } = getDimensionsOfTable(block); @@ -257,7 +257,7 @@ export function getTableCellOccupancyGrid( * * @note This will remove duplicates from the occupancy grid. And does no bounds checking for validity of the occupancy grid. */ -export function getTableRowsFromOccupancyGrid( +function getTableRowsFromOccupancyGrid( occupancyGrid: OccupancyGrid, ): TableContent["rows"] { // Because a cell can have a rowspan or colspan, it can occupy multiple cells in the occupancy grid diff --git a/packages/core/src/api/exporters/html/util/serializeBlocksInternalHTML.ts b/packages/core/src/api/exporters/html/util/serializeBlocksInternalHTML.ts index 0f890b77ab..b3bc3beaf2 100644 --- a/packages/core/src/api/exporters/html/util/serializeBlocksInternalHTML.ts +++ b/packages/core/src/api/exporters/html/util/serializeBlocksInternalHTML.ts @@ -14,7 +14,7 @@ import { } from "../../../nodeConversions/blockToNode.js"; import { nodeToCustomInlineContent } from "../../../nodeConversions/nodeToBlock.js"; -export function serializeInlineContentInternalHTML< +function serializeInlineContentInternalHTML< BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema, diff --git a/packages/core/src/blocks/File/helpers/render/createFileNameWithIcon.ts b/packages/core/src/blocks/File/helpers/render/createFileNameWithIcon.ts index 05ba0d6281..bd1ae7de95 100644 --- a/packages/core/src/blocks/File/helpers/render/createFileNameWithIcon.ts +++ b/packages/core/src/blocks/File/helpers/render/createFileNameWithIcon.ts @@ -3,7 +3,7 @@ import { BlockFromConfigNoChildren, } from "../../../../schema/index.js"; -export const FILE_ICON_SVG = ``; +const FILE_ICON_SVG = ``; export const createFileNameWithIcon = ( block: BlockFromConfigNoChildren< diff --git a/packages/core/src/blocks/ListItem/ListItemKeyboardShortcuts.ts b/packages/core/src/blocks/ListItem/ListItemKeyboardShortcuts.ts deleted file mode 100644 index 0b33335788..0000000000 --- a/packages/core/src/blocks/ListItem/ListItemKeyboardShortcuts.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { splitBlockCommand } from "../../api/blockManipulation/commands/splitBlock/splitBlock.js"; -import { updateBlockCommand } from "../../api/blockManipulation/commands/updateBlock/updateBlock.js"; -import { getBlockInfoFromSelection } from "../../api/getBlockInfoFromPos.js"; -import { BlockNoteEditor } from "../../editor/BlockNoteEditor.js"; - -export const handleEnter = (editor: BlockNoteEditor) => { - const { blockInfo, selectionEmpty } = editor.transact((tr) => { - return { - blockInfo: getBlockInfoFromSelection(tr), - selectionEmpty: tr.selection.anchor === tr.selection.head, - }; - }); - - if (!blockInfo.isBlockContainer) { - return false; - } - const { bnBlock: blockContainer, blockContent } = blockInfo; - - if ( - !( - blockContent.node.type.name === "toggleListItem" || - blockContent.node.type.name === "bulletListItem" || - blockContent.node.type.name === "numberedListItem" || - blockContent.node.type.name === "checkListItem" - ) || - !selectionEmpty - ) { - return false; - } - - return editor._tiptapEditor.commands.first(({ state, chain, commands }) => [ - () => - // Changes list item block to a paragraph block if the content is empty. - commands.command(() => { - if (blockContent.node.childCount === 0) { - return commands.command( - updateBlockCommand(blockContainer.beforePos, { - type: "paragraph", - props: {}, - }), - ); - } - - return false; - }), - - () => - // Splits the current block, moving content inside that's after the cursor - // to a new block of the same type below. - commands.command(() => { - if (blockContent.node.childCount > 0) { - chain() - .deleteSelection() - .command(splitBlockCommand(state.selection.from, true)) - .run(); - - return true; - } - - return false; - }), - ]); -}; diff --git a/packages/core/src/blocks/Table/TableExtension.ts b/packages/core/src/blocks/Table/TableExtension.ts index 70cea2ee9f..c541794491 100644 --- a/packages/core/src/blocks/Table/TableExtension.ts +++ b/packages/core/src/blocks/Table/TableExtension.ts @@ -10,7 +10,7 @@ import { tableEditing, } from "prosemirror-tables"; -export const RESIZE_MIN_WIDTH = 35; +const RESIZE_MIN_WIDTH = 35; export const EMPTY_CELL_WIDTH = 120; export const EMPTY_CELL_HEIGHT = 31; diff --git a/packages/core/src/comments/threadstore/tiptap/types.ts b/packages/core/src/comments/threadstore/tiptap/types.ts index 3301983d44..f7c5524960 100644 --- a/packages/core/src/comments/threadstore/tiptap/types.ts +++ b/packages/core/src/comments/threadstore/tiptap/types.ts @@ -24,9 +24,9 @@ export type TCollabComment = { content: any; }; -export type ThreadType = "archived" | "unarchived"; +type ThreadType = "archived" | "unarchived"; -export type GetThreadsOptions = { +type GetThreadsOptions = { /** * The types of threads to get * @default ['unarchived'] @@ -34,7 +34,7 @@ export type GetThreadsOptions = { types?: Array; }; -export type DeleteCommentOptions = { +type DeleteCommentOptions = { /** * If `true`, the thread will also be deleted if the deleted comment was the first comment in the thread. */ @@ -46,7 +46,7 @@ export type DeleteCommentOptions = { deleteContent?: boolean; }; -export type DeleteThreadOptions = { +type DeleteThreadOptions = { /** * If `true`, will remove the comments on the thread, * otherwise will only mark the thread as deleted diff --git a/packages/core/src/editor/transformPasted.ts b/packages/core/src/editor/transformPasted.ts index 4f0515df95..3169f600db 100644 --- a/packages/core/src/editor/transformPasted.ts +++ b/packages/core/src/editor/transformPasted.ts @@ -68,7 +68,7 @@ function removeChild(node: Fragment, n: number) { * This makes sure the content that we paste is always a table (and not a tableRow) * A table works better for the remaing paste handling logic, as it's actually a blockContent node */ -export function wrapTableRows(f: Fragment, schema: Schema) { +function wrapTableRows(f: Fragment, schema: Schema) { const newItems: any[] = []; for (let i = 0; i < f.childCount; i++) { if (f.child(i).type.name === "tableRow") { diff --git a/packages/core/src/extensions/SideMenu/dragging.ts b/packages/core/src/extensions/SideMenu/dragging.ts index f8ba326538..0848bd3f99 100644 --- a/packages/core/src/extensions/SideMenu/dragging.ts +++ b/packages/core/src/extensions/SideMenu/dragging.ts @@ -8,7 +8,6 @@ import { fragmentToBlocks } from "../../api/nodeConversions/fragmentToBlocks.js" import { getNodeById } from "../../api/nodeUtil.js"; import { Block } from "../../blocks/defaultBlocks.js"; import type { BlockNoteEditor } from "../../editor/BlockNoteEditor.js"; -import { UiElementPosition } from "../../extensions-shared/UiElementPosition.js"; import { BlockSchema, InlineContentSchema, @@ -18,15 +17,6 @@ import { MultipleNodeSelection } from "./MultipleNodeSelection.js"; let dragImageElement: Element | undefined; -export type SideMenuState< - BSchema extends BlockSchema, - I extends InlineContentSchema, - S extends StyleSchema, -> = UiElementPosition & { - // The block that the side menu is attached to. - block: Block; -}; - function blockPositionsFromSelection(selection: Selection, doc: Node) { // Absolute positions just before the first block spanned by the selection, and just after the last block. Having the // selection start and end just before and just after the target blocks ensures no whitespace/line breaks are left diff --git a/packages/core/src/extensions/SyntaxHighlighting/shiki.ts b/packages/core/src/extensions/SyntaxHighlighting/shiki.ts index a0e8cec88b..96e371226c 100644 --- a/packages/core/src/extensions/SyntaxHighlighting/shiki.ts +++ b/packages/core/src/extensions/SyntaxHighlighting/shiki.ts @@ -4,8 +4,8 @@ import { createParser } from "prosemirror-highlight/shiki"; import type { SyntaxHighlightingOptions } from "./SyntaxHighlighting.js"; import { CustomBlockNoteSchema } from "../../schema/schema.js"; -export const shikiParserSymbol = Symbol.for("blocknote.shikiParser"); -export const shikiHighlighterPromiseSymbol = Symbol.for( +const shikiParserSymbol = Symbol.for("blocknote.shikiParser"); +const shikiHighlighterPromiseSymbol = Symbol.for( "blocknote.shikiHighlighterPromise", ); diff --git a/packages/core/src/extensions/tiptap-extensions/Link/helpers/whitespace.ts b/packages/core/src/extensions/tiptap-extensions/Link/helpers/whitespace.ts index 5fbba2f26a..e8ecf8cd81 100644 --- a/packages/core/src/extensions/tiptap-extensions/Link/helpers/whitespace.ts +++ b/packages/core/src/extensions/tiptap-extensions/Link/helpers/whitespace.ts @@ -1,6 +1,6 @@ // From DOMPurify // https://github.com/cure53/DOMPurify/blob/main/src/regexp.ts -export const UNICODE_WHITESPACE_PATTERN = +const UNICODE_WHITESPACE_PATTERN = "[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]"; export const UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN); diff --git a/packages/core/src/extensions/tiptap-extensions/Link/index.ts b/packages/core/src/extensions/tiptap-extensions/Link/index.ts deleted file mode 100644 index bc54c007eb..0000000000 --- a/packages/core/src/extensions/tiptap-extensions/Link/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { Link, LinkExtension } from "./link.js"; -export { isAllowedUri } from "./link.js"; diff --git a/packages/core/src/extensions/tiptap-extensions/Link/link.ts b/packages/core/src/extensions/tiptap-extensions/Link/link.ts index 1769dfa544..8bd0effb9a 100644 --- a/packages/core/src/extensions/tiptap-extensions/Link/link.ts +++ b/packages/core/src/extensions/tiptap-extensions/Link/link.ts @@ -52,7 +52,7 @@ function shouldAutoLink(url: string): boolean { return true; } -export type LinkOptions = { +type LinkOptions = { HTMLAttributes: Record; editor?: BlockNoteEditor; onClick?: ( @@ -65,7 +65,7 @@ export type LinkOptions = { /** * BlockNote Link mark extension. */ -export const Link = Mark.create({ +const Link = Mark.create({ name: "link", keepOnSplit: false, diff --git a/packages/core/src/util/topo-sort.ts b/packages/core/src/util/topo-sort.ts index ea0f7fa891..2e224f303a 100644 --- a/packages/core/src/util/topo-sort.ts +++ b/packages/core/src/util/topo-sort.ts @@ -122,11 +122,11 @@ function reverse(deps: DirectedAcyclicGraph): DependencyGraph { return reversedDeps; } -export function createDependencyGraph(): DependencyMap { +function createDependencyGraph(): DependencyMap { return new Map(); } -export function addDependency( +function addDependency( graph: DependencyMap, from: NodeId, to: NodeId, @@ -138,27 +138,6 @@ export function addDependency( return graph; } -export function removeDependency( - graph: DependencyMap, - from: NodeId, - to: NodeId, -): boolean { - const dependents = graph.get(from); - if (!dependents) { - return false; - } - return dependents.delete(to); -} - -export function hasDependency( - graph: DependencyMap, - from: NodeId, - to: NodeId, -): boolean { - const dependents = graph.get(from); - return dependents ? dependents.has(to) : false; -} - /** * Sorts a list of items by their dependencies * @returns A function which can retrieve the priority of an item diff --git a/packages/core/src/y/comments/yjsHelpers.ts b/packages/core/src/y/comments/yjsHelpers.ts index 1ed4ff492f..fd91836631 100644 --- a/packages/core/src/y/comments/yjsHelpers.ts +++ b/packages/core/src/y/comments/yjsHelpers.ts @@ -55,7 +55,7 @@ type SingleUserCommentReactionData = { userId: string; }; -export function yTypeToReaction(yType: Y.Type): SingleUserCommentReactionData { +function yTypeToReaction(yType: Y.Type): SingleUserCommentReactionData { return { emoji: yType.getAttr("emoji"), createdAt: new Date(yType.getAttr("createdAt")), diff --git a/packages/core/src/yjs/comments/yjsHelpers.ts b/packages/core/src/yjs/comments/yjsHelpers.ts index 0c8d09205d..b442a6160e 100644 --- a/packages/core/src/yjs/comments/yjsHelpers.ts +++ b/packages/core/src/yjs/comments/yjsHelpers.ts @@ -55,9 +55,7 @@ type SingleUserCommentReactionData = { userId: string; }; -export function yMapToReaction( - yMap: Y.Map, -): SingleUserCommentReactionData { +function yMapToReaction(yMap: Y.Map): SingleUserCommentReactionData { return { emoji: yMap.get("emoji"), createdAt: new Date(yMap.get("createdAt")), diff --git a/packages/dev-scripts/examples/genDocs.ts b/packages/dev-scripts/examples/genDocs.ts index 9ed1063fea..9a6eb99585 100644 --- a/packages/dev-scripts/examples/genDocs.ts +++ b/packages/dev-scripts/examples/genDocs.ts @@ -158,9 +158,40 @@ export const exampleGroupsData: ExampleGroupsData = ${JSON.stringify(exampleGrou writeGeneratedFile(target, code, written); } +// Tracks which docs-embedded example first claimed each dependency range, so +// two examples declaring incompatible ranges of the same package fail the gen +// run instead of silently last-write-winning in docs/package.json. The docs +// site compiles all embedded examples in a single dependency context, so only +// one range can exist per package (e.g. `yjs`+`lib0@0.2` vs `@y/y`+`lib0@1.0`). +// `@blocknote/*` is exempt: those are rewritten to `workspace:*` below. +const dependencyClaims = new Map(); + +function checkDependencyConflicts( + project: Project, + dependencies: Record, +) { + for (const [name, range] of Object.entries(dependencies)) { + if (name.startsWith("@blocknote/")) { + continue; + } + const claim = dependencyClaims.get(name); + if (claim && claim.range !== range) { + throw new Error( + `Dependency conflict in docs-embedded examples: "${name}" is declared ` + + `as "${claim.range}" by ${claim.example} but as "${range}" by ` + + `${project.fullSlug}. The docs site installs a single version per ` + + `package, so reconcile the ranges in the examples' .bnexample.json ` + + `files, or set "docs": false on one of them.`, + ); + } + dependencyClaims.set(name, { range, example: project.fullSlug }); + } +} + async function addDependenciesToExample(project: Project, written: string[]) { const dependencies = project.config.dependencies || {}; const devDependencies = project.config.devDependencies || {}; + checkDependencyConflicts(project, { ...dependencies, ...devDependencies }); if ( Object.keys(dependencies).length > 0 || Object.keys(devDependencies).length > 0 diff --git a/packages/dev-scripts/examples/template-react/package.json.template.tsx b/packages/dev-scripts/examples/template-react/package.json.template.tsx index 7dab151ca4..188f6edd06 100644 --- a/packages/dev-scripts/examples/template-react/package.json.template.tsx +++ b/packages/dev-scripts/examples/template-react/package.json.template.tsx @@ -1,11 +1,32 @@ import { getCatalogVersion, type Project } from "../util.js"; +// Each example gets exactly one BlockNote UI library, selected via the +// `uiLib` field in its `.bnexample.json` (default: mantine). The Mantine +// variant also carries `@mantine/core`/`@mantine/hooks` because +// `@blocknote/mantine` declares them as peer dependencies, and the generated +// package.json must install standalone (e.g. StackBlitz via `npm install`). +function uiLibDependencies(project: Project): Record { + switch (project.config.uiLib) { + case "ariakit": + return { "@blocknote/ariakit": "latest" }; + case "shadcn": + return { "@blocknote/shadcn": "latest" }; + case "mantine": + case undefined: + return { + "@blocknote/mantine": "latest", + "@mantine/core": "^9.0.2", + "@mantine/hooks": "^9.0.2", + }; + } +} + const template = (project: Project) => ({ name: "@blocknote/example-" + project.fullSlug.replace("/", "-"), description: "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", type: "module", private: true, - version: "0.12.4", + version: "0.0.0", scripts: { start: "vite", dev: "vite", @@ -13,13 +34,9 @@ const template = (project: Project) => ({ preview: "vite preview", }, dependencies: { - "@blocknote/ariakit": "latest", "@blocknote/core": "latest", - "@blocknote/mantine": "latest", "@blocknote/react": "latest", - "@blocknote/shadcn": "latest", - "@mantine/core": "^9.0.2", - "@mantine/hooks": "^9.0.2", + ...uiLibDependencies(project), react: "^19.2.3", "react-dom": "^19.2.3", ...(project.config.tailwind diff --git a/packages/dev-scripts/examples/util.ts b/packages/dev-scripts/examples/util.ts index ccb48efcba..fd1849474d 100644 --- a/packages/dev-scripts/examples/util.ts +++ b/packages/dev-scripts/examples/util.ts @@ -118,6 +118,11 @@ export type Project = { pro?: boolean; tailwind?: boolean; stackBlitz?: boolean; + /** + * Which BlockNote UI library the generated package.json depends on + * (default: mantine). + */ + uiLib?: "mantine" | "ariakit" | "shadcn"; }; readme: string; }; @@ -156,7 +161,7 @@ export function getCatalogVersion(name: string): string { ); } -export function groupBy(arr: T[], key: (el: T) => string) { +function groupBy(arr: T[], key: (el: T) => string) { const groups: Record = {}; arr.forEach((val) => { const k = key(val); diff --git a/packages/mantine/package.json b/packages/mantine/package.json index c44d435acb..3687d84c48 100644 --- a/packages/mantine/package.json +++ b/packages/mantine/package.json @@ -64,16 +64,15 @@ "@blocknote/react": "workspace:^" }, "devDependencies": { - "react-icons": "^5.5.0", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", "react": "^19.2.5", "react-dom": "^19.2.5", + "react-icons": "^5.5.0", "rimraf": "^5.0.10", "rollup-plugin-webpack-stats": "^0.2.6", "typescript": "^7.0.2", - "vite-plugin-externalize-deps": "^0.10.0", "vite-plus": "catalog:" }, "peerDependencies": { diff --git a/packages/mantine/src/defaultThemes copy.ts b/packages/mantine/src/defaultThemes copy.ts deleted file mode 100644 index 553b382e50..0000000000 --- a/packages/mantine/src/defaultThemes copy.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { Theme } from "./BlockNoteTheme.js"; - -export const defaultColorScheme = [ - "#FFFFFF", - "#EFEFEF", - "#CFCFCF", - "#AFAFAF", - "#7F7F7F", - "#3F3F3F", - "#1F1F1F", - "#161616", - "#0F0F0F", - "#000000", -]; - -export const lightDefaultTheme = { - colors: { - editor: { - text: defaultColorScheme[5], - background: defaultColorScheme[0], - }, - menu: { - text: defaultColorScheme[5], - background: defaultColorScheme[0], - }, - tooltip: { - text: defaultColorScheme[5], - background: defaultColorScheme[1], - }, - hovered: { - text: defaultColorScheme[5], - background: defaultColorScheme[1], - }, - selected: { - text: defaultColorScheme[0], - background: defaultColorScheme[5], - }, - disabled: { - text: defaultColorScheme[3], - background: defaultColorScheme[1], - }, - shadow: defaultColorScheme[2], - border: defaultColorScheme[1], - sideMenu: defaultColorScheme[2], - highlights: { - gray: { - text: "#9b9a97", - background: "#ebeced", - }, - brown: { - text: "#64473a", - background: "#e9e5e3", - }, - red: { - text: "#e03e3e", - background: "#fbe4e4", - }, - orange: { - text: "#d9730d", - background: "#f6e9d9", - }, - yellow: { - text: "#dfab01", - background: "#fbf3db", - }, - green: { - text: "#4d6461", - background: "#ddedea", - }, - blue: { - text: "#0b6e99", - background: "#ddebf1", - }, - purple: { - text: "#6940a5", - background: "#eae4f2", - }, - pink: { - text: "#ad1a72", - background: "#f4dfeb", - }, - }, - }, - borderRadius: 6, - fontFamily: - '"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif', -} satisfies Theme; - -export const darkDefaultTheme = { - colors: { - editor: { - text: defaultColorScheme[2], - background: defaultColorScheme[6], - }, - menu: { - text: defaultColorScheme[2], - background: defaultColorScheme[6], - }, - tooltip: { - text: defaultColorScheme[2], - background: defaultColorScheme[7], - }, - hovered: { - text: defaultColorScheme[2], - background: defaultColorScheme[7], - }, - selected: { - text: defaultColorScheme[2], - background: defaultColorScheme[8], - }, - disabled: { - text: defaultColorScheme[5], - background: defaultColorScheme[7], - }, - shadow: defaultColorScheme[8], - border: defaultColorScheme[7], - sideMenu: defaultColorScheme[4], - highlights: { - gray: { - text: "#bebdb8", - background: "#9b9a97", - }, - brown: { - text: "#8e6552", - background: "#64473a", - }, - red: { - text: "#ec4040", - background: "#be3434", - }, - orange: { - text: "#e3790d", - background: "#b7600a", - }, - yellow: { - text: "#dfab01", - background: "#b58b00", - }, - green: { - text: "#6b8b87", - background: "#4d6461", - }, - blue: { - text: "#0e87bc", - background: "#0b6e99", - }, - purple: { - text: "#8552d7", - background: "#6940a5", - }, - pink: { - text: "#da208f", - background: "#ad1a72", - }, - }, - }, - borderRadius: lightDefaultTheme.borderRadius, - fontFamily: lightDefaultTheme.fontFamily, -} satisfies Theme; diff --git a/packages/mantine/vite.config.ts b/packages/mantine/vite.config.ts index 88cf0b5dd4..41bcd02f80 100644 --- a/packages/mantine/vite.config.ts +++ b/packages/mantine/vite.config.ts @@ -21,10 +21,6 @@ export default defineConfig( }, }, }, - test: { - environment: "jsdom", - setupFiles: ["./vitestSetup.ts"], - }, plugins: [react(), webpackStats()], // used so that vitest resolves the core package from the sources instead of the built version resolve: { diff --git a/packages/math-block/package.json b/packages/math-block/package.json index 563fe0a192..3378ede484 100644 --- a/packages/math-block/package.json +++ b/packages/math-block/package.json @@ -91,7 +91,6 @@ "@react-email/components": "^1.0.12", "@react-pdf/math": "^2.0.1", "@react-pdf/renderer": "^4.5.1", - "@types/katex": "^0.16.7", "mathml2omml": "^0.5.0", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", diff --git a/packages/react/package.json b/packages/react/package.json index c800948bdd..2bb786f8e2 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -68,18 +68,16 @@ "use-sync-external-store": "1.6.0" }, "devDependencies": { - "@types/lodash.foreach": "^4.5.9", - "@types/lodash.groupby": "^4.6.9", - "react-icons": "^5.5.0", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", + "jsdom": "^29.0.2", "react": "^19.2.5", "react-dom": "^19.2.5", + "react-icons": "^5.5.0", "rimraf": "^5.0.10", "rollup-plugin-webpack-stats": "^0.2.6", "typescript": "^7.0.2", - "vite-plugin-externalize-deps": "^0.10.0", "vite-plus": "catalog:" }, "optionalDependencies": { diff --git a/packages/react/src/editor/portalElements.ts b/packages/react/src/editor/portalElements.ts index d4b4f93205..1bea2cf5ac 100644 --- a/packages/react/src/editor/portalElements.ts +++ b/packages/react/src/editor/portalElements.ts @@ -29,8 +29,6 @@ export type PortalElementsMap = { attributionTooltip?: PortalTarget; }; -export type PortalElementKey = Exclude; - export function resolvePortalTarget( target: PortalTarget | undefined, ): HTMLElement | undefined { diff --git a/packages/shadcn/package.json b/packages/shadcn/package.json index 8f4852d7b8..aa10cb8c3d 100644 --- a/packages/shadcn/package.json +++ b/packages/shadcn/package.json @@ -73,7 +73,6 @@ "rimraf": "^5.0.10", "rollup-plugin-webpack-stats": "^0.2.6", "typescript": "^7.0.2", - "vite-plugin-externalize-deps": "^0.10.0", "vite-plus": "catalog:" }, "peerDependencies": { diff --git a/packages/shadcn/vite.config.ts b/packages/shadcn/vite.config.ts index 75055584af..0b6ab3415b 100644 --- a/packages/shadcn/vite.config.ts +++ b/packages/shadcn/vite.config.ts @@ -21,10 +21,6 @@ export default defineConfig( }, }, }, - test: { - environment: "jsdom", - setupFiles: ["./vitestSetup.ts"], - }, plugins: [react(), webpackStats()], // used so that vitest resolves the core package from the sources instead of the built version resolve: { diff --git a/packages/xl-ai-server/package.json b/packages/xl-ai-server/package.json index 3d6416f705..4091276b73 100644 --- a/packages/xl-ai-server/package.json +++ b/packages/xl-ai-server/package.json @@ -60,7 +60,6 @@ "typescript": "^7.0.2", "undici": "^6.22.0", "vite-node": "^6.0.0", - "vite-plugin-externalize-deps": "^0.10.0", "vite-plus": "catalog:" } } diff --git a/packages/xl-ai-server/src/routes/mock.ts b/packages/xl-ai-server/src/routes/mock.ts deleted file mode 100644 index 7487252db1..0000000000 --- a/packages/xl-ai-server/src/routes/mock.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { createUIMessageStream, createUIMessageStreamResponse } from "ai"; -import { Hono } from "hono"; - -export const regularRoute = new Hono(); - -/** - * Hardcoded response that can be used for manual testing / demo purposes - * - * It follows the regular `streamText` pattern of the AI SDK: - * https://ai-sdk.dev/docs/ai-sdk-core/generating-text#streamtext - */ - -const MANUAL_TOOL_CALLS = [ - { - toolName: "applyDocumentOperations", - toolCallId: Math.random().toString(36).substring(2), - args: { - operations: [ - { - type: "add", - referenceId: "blockId", - position: "after", - blocks: [ - "

BlockNote is an open source block-based editor:

", - "
  • Built-in UI components for a modern, customizable UX
", - "
  • Intuitive developer experience
", - "
  • ...
", - ], - }, - ], - }, - }, -]; - -// Use `streamText` to stream text responses from the LLM -regularRoute.post("/streamText", async (c) => { - const { messages } = await c.req.json(); - const blockId = - messages[messages.length - 1].metadata.documentState.blocks[0].id; - - MANUAL_TOOL_CALLS[0].args.operations[0].referenceId = blockId; - const stream = createUIMessageStream({ - execute: async ({ writer }) => { - writer.write({ type: "start" }); - await new Promise((resolve) => setTimeout(resolve, 1000)); - - // 1. Send initial status (transient - won't be added to message history) - writer.write({ - type: "tool-input-start", - toolCallId: MANUAL_TOOL_CALLS[0].toolCallId, - toolName: MANUAL_TOOL_CALLS[0].toolName, - }); - - writer.write({ - type: "tool-input-available", - toolName: MANUAL_TOOL_CALLS[0].toolName, - toolCallId: MANUAL_TOOL_CALLS[0].toolCallId, - input: MANUAL_TOOL_CALLS[0].args, - }); - await new Promise((resolve) => setTimeout(resolve, 1000)); - writer.write({ type: "finish" }); - }, - }); - - return createUIMessageStreamResponse({ - stream, - }); -}); diff --git a/packages/xl-ai-server/src/routes/proxy.ts b/packages/xl-ai-server/src/routes/proxy.ts index 904abea6bf..f3eb2ec152 100644 --- a/packages/xl-ai-server/src/routes/proxy.ts +++ b/packages/xl-ai-server/src/routes/proxy.ts @@ -3,7 +3,7 @@ import { Hono } from "hono"; const ignoreHeadersRe = /^content-(?:encoding|length|range)$/i; // REC: we might be able to replace this by https://github.com/honojs/hono/pull/3589 -export const proxyFetch: typeof fetch = async (request, options) => { +const proxyFetch: typeof fetch = async (request, options) => { const req = new Request(request, options); req.headers.delete("accept-encoding"); // TBD: there may be cases where you want to explicitly specify req.headers.delete("Origin"); diff --git a/packages/xl-ai-server/vite.config.ts b/packages/xl-ai-server/vite.config.ts index 1bb90638b0..e5fbffdf9b 100644 --- a/packages/xl-ai-server/vite.config.ts +++ b/packages/xl-ai-server/vite.config.ts @@ -20,10 +20,6 @@ export default defineConfig( }, }, }, - test: { - environment: "jsdom", - setupFiles: ["./vitestSetup.ts"], - }, plugins: [webpackStats()], // used so that vitest resolves the core package from the sources instead of the built version resolve: { diff --git a/packages/xl-ai/package.json b/packages/xl-ai/package.json index b031107a6d..37b0fdbc9c 100644 --- a/packages/xl-ai/package.json +++ b/packages/xl-ai/package.json @@ -86,17 +86,11 @@ "prosemirror-view": "^1.42.2" }, "devDependencies": { - "react-icons": "^5.5.0", "@ai-sdk/anthropic": "^3.0.2", - "@ai-sdk/google": "^3.0.2", "@ai-sdk/groq": "^3.0.2", - "@ai-sdk/mistral": "^3.0.2", "@ai-sdk/openai": "^3.0.2", "@ai-sdk/openai-compatible": "^2.0.2", "@blocknote/xl-multi-column": "workspace:^", - "@mswjs/interceptors": "^0.37.6", - "@types/diff": "^6.0.0", - "@types/json-diff": "^1.0.3", "@types/json-schema": "^7.0.15", "@types/lodash.isequal": "^4.5.8", "@types/lodash.merge": "^4.6.9", @@ -105,14 +99,14 @@ "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", "glob": "^10.5.0", - "headers-polyfill": "^4.0.3", + "jsdom": "^29.0.2", "msw": "^2.11.5", "msw-snapshot": "^5.3.0", + "react-icons": "^5.5.0", "rimraf": "^5.0.10", "rollup-plugin-webpack-stats": "^0.2.6", "typescript": "^7.0.2", "undici": "^6.22.0", - "vite-plugin-externalize-deps": "^0.10.0", "vite-plus": "catalog:", "yjs": "^13.6.27" }, diff --git a/packages/xl-ai/src/api/formats/json/tools/index.ts b/packages/xl-ai/src/api/formats/json/tools/index.ts index 3385f72807..5c5d2ef4aa 100644 --- a/packages/xl-ai/src/api/formats/json/tools/index.ts +++ b/packages/xl-ai/src/api/formats/json/tools/index.ts @@ -58,5 +58,3 @@ export const tools = { }), delete: deleteBlockTool, }; - -export type Tools = ReturnType<(typeof tools)[keyof typeof tools]>; diff --git a/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts b/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts index 97dae1fa67..6ffa57d4a5 100644 --- a/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts +++ b/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts @@ -119,7 +119,7 @@ function styledTextToJSONSchema() { }; } -export function propSchemaToJSONSchema( +function propSchemaToJSONSchema( propSchema: PropSchema, ): SimpleJSONObjectSchema { return { diff --git a/packages/xl-ai/src/prosemirror/AttributionMarks.ts b/packages/xl-ai/src/prosemirror/AttributionMarks.ts index a1176e8d27..b84f269063 100644 --- a/packages/xl-ai/src/prosemirror/AttributionMarks.ts +++ b/packages/xl-ai/src/prosemirror/AttributionMarks.ts @@ -11,7 +11,7 @@ import { MarkSpec } from "prosemirror-model"; // The ideal solution would be to not depend on tiptap nodes / marks, but be able to use prosemirror nodes / marks directly // this way we could directly use the exported marks from @handlewithcare/prosemirror-suggest-changes -export const SuggestionAddMark = Mark.create({ +const SuggestionAddMark = Mark.create({ name: "insertion", inclusive: false, excludes: "deletion modification insertion", @@ -62,7 +62,7 @@ export const SuggestionAddMark = Mark.create({ }, }); -export const SuggestionDeleteMark = Mark.create({ +const SuggestionDeleteMark = Mark.create({ name: "deletion", inclusive: false, excludes: "insertion modification deletion", @@ -111,7 +111,7 @@ export const SuggestionDeleteMark = Mark.create({ }, }); -export const SuggestionModificationMark = Mark.create({ +const SuggestionModificationMark = Mark.create({ name: "modification", inclusive: false, excludes: "deletion insertion", diff --git a/packages/xl-ai/src/streamTool/streamTool.ts b/packages/xl-ai/src/streamTool/streamTool.ts index 0f3ccdfe10..9df6845d9f 100644 --- a/packages/xl-ai/src/streamTool/streamTool.ts +++ b/packages/xl-ai/src/streamTool/streamTool.ts @@ -58,9 +58,6 @@ export type StreamTool = { }; }; -export type StreamToolCallSingle> = - T extends StreamTool ? U : never; - /** * A ToolCall represents an invocation of a StreamTool. * diff --git a/packages/xl-ai/src/testUtil/cases/editors/simpleEditor.ts b/packages/xl-ai/src/testUtil/cases/editors/simpleEditor.ts index b9d1e53efb..5100201487 100644 --- a/packages/xl-ai/src/testUtil/cases/editors/simpleEditor.ts +++ b/packages/xl-ai/src/testUtil/cases/editors/simpleEditor.ts @@ -21,30 +21,6 @@ export function getSimpleEditor() { return editor; } -export function getSimpleEditorWithCursorBetweenBlocks() { - const editor = BlockNoteEditor.create({ - initialContent: [ - { - id: "ref1", - content: "Hello, world!", - }, - { - id: "ref2", - content: "", - }, - { - id: "ref3", - content: "How are you?", - }, - ], - trailingBlock: false, - schema, - extensions: [AIExtension()], - }); - editor.setTextCursorPosition("ref2"); - return editor; -} - export function getSimpleEditorSpellingError() { const editor = BlockNoteEditor.create({ initialContent: [ diff --git a/packages/xl-ai/src/testUtil/cases/editors/tables.ts b/packages/xl-ai/src/testUtil/cases/editors/tables.ts deleted file mode 100644 index 8b9b7ea369..0000000000 --- a/packages/xl-ai/src/testUtil/cases/editors/tables.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { BlockNoteEditor } from "@blocknote/core"; -import { AIExtension } from "../../../AIExtension.js"; -import { schemaWithMention as schema } from "../schemas/mention.js"; - -export function getEditorWithTables() { - const editor = BlockNoteEditor.create({ - initialContent: [ - { - id: "ref1", - type: "table", - content: { - type: "tableContent", - rows: [ - { - cells: ["Table Cell 1", "Table Cell 2", "Table Cell 3"], - }, - { - cells: [ - "Table Cell 4", - [ - { - type: "text", - text: "Table Cell Bold 5", - styles: { - bold: true, - }, - }, - ], - "Table Cell 6", - ], - }, - { - cells: ["Table Cell 7", "Table Cell 8", "Table Cell 9"], - }, - ], - }, - }, - ], - schema, - trailingBlock: false, - extensions: [AIExtension()], - }); - return editor; -} diff --git a/packages/xl-ai/src/testUtil/cases/schemas/mention.ts b/packages/xl-ai/src/testUtil/cases/schemas/mention.ts index 40907bf2b1..b02e299c95 100644 --- a/packages/xl-ai/src/testUtil/cases/schemas/mention.ts +++ b/packages/xl-ai/src/testUtil/cases/schemas/mention.ts @@ -1,6 +1,6 @@ import { BlockNoteSchema, createInlineContentSpec } from "@blocknote/core"; -export const mention = createInlineContentSpec( +const mention = createInlineContentSpec( { type: "mention", propSchema: { diff --git a/packages/xl-ai/src/types.ts b/packages/xl-ai/src/types.ts index c3e83dca38..063f016b38 100644 --- a/packages/xl-ai/src/types.ts +++ b/packages/xl-ai/src/types.ts @@ -6,7 +6,7 @@ import { DocumentStateBuilder, StreamToolsProvider } from "./index.js"; * Extra options (header, body, metadata) that can be passed to LLM requests * This is a pattern we take from the Vercel AI SDK */ -export type ChatRequestOptions = Parameters["sendMessage"]>[1]; +type ChatRequestOptions = Parameters["sendMessage"]>[1]; export type AIRequestHelpers = { /** diff --git a/packages/xl-ai/src/util/stream.ts b/packages/xl-ai/src/util/stream.ts index e3e685dc92..996c964670 100644 --- a/packages/xl-ai/src/util/stream.ts +++ b/packages/xl-ai/src/util/stream.ts @@ -1,7 +1,7 @@ /** * Converts an AsyncIterable to a ReadableStream */ -export function asyncIterableToStream( +function asyncIterableToStream( iterable: AsyncIterable, ): ReadableStream { return new ReadableStream({ diff --git a/packages/xl-email-exporter/package.json b/packages/xl-email-exporter/package.json index 8b6afe9f5c..3f2508c41f 100644 --- a/packages/xl-email-exporter/package.json +++ b/packages/xl-email-exporter/package.json @@ -61,7 +61,6 @@ }, "devDependencies": { "@blocknote/shared": "workspace:^", - "@types/jsdom": "^21.1.7", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", "react": "^19.2.5", diff --git a/packages/xl-multi-column/src/extensions/DropCursor/multiColumnHandleDropPlugin.ts b/packages/xl-multi-column/src/extensions/DropCursor/multiColumnHandleDropPlugin.ts index a762f78d96..a27782c27d 100644 --- a/packages/xl-multi-column/src/extensions/DropCursor/multiColumnHandleDropPlugin.ts +++ b/packages/xl-multi-column/src/extensions/DropCursor/multiColumnHandleDropPlugin.ts @@ -15,7 +15,7 @@ import { detectEdgePosition } from "./multiColumnDropCursor.js"; * When a block is dropped near the left or right edge of another block, it creates * or modifies column layouts. */ -export function createMultiColumnHandleDropPlugin( +function createMultiColumnHandleDropPlugin( editor: BlockNoteEditor, ): Plugin { return new Plugin({ diff --git a/packages/xl-odt-exporter/package.json b/packages/xl-odt-exporter/package.json index 6630cfb49d..4ad9934916 100644 --- a/packages/xl-odt-exporter/package.json +++ b/packages/xl-odt-exporter/package.json @@ -63,17 +63,16 @@ }, "devDependencies": { "@blocknote/shared": "workspace:^", - "@testing-library/react": "^16.3.0", "@types/node": "22.13.13", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", + "jsdom": "^29.0.2", "react": "^19.2.5", "react-dom": "^19.2.5", "rimraf": "^5.0.10", "rollup-plugin-webpack-stats": "^0.2.6", "typescript": "^7.0.2", - "vite-plus": "catalog:", - "xml-formatter": "^3.6.7" + "vite-plus": "catalog:" }, "peerDependencies": { "react": "^18.0 || ^19.0 || >= 19.0.0-rc", diff --git a/packages/xl-odt-exporter/src/odt/defaultSchema/blocks.tsx b/packages/xl-odt-exporter/src/odt/defaultSchema/blocks.tsx index f86ab23d63..41d9e9dbed 100644 --- a/packages/xl-odt-exporter/src/odt/defaultSchema/blocks.tsx +++ b/packages/xl-odt-exporter/src/odt/defaultSchema/blocks.tsx @@ -40,7 +40,7 @@ const codeMapping = ( ); }; -export const getTabs = (nestingLevel: number) => { +const getTabs = (nestingLevel: number) => { return Array.from({ length: nestingLevel }, (_, i) => ); }; diff --git a/packages/xl-pdf-exporter/package.json b/packages/xl-pdf-exporter/package.json index 5599872975..7b342bb8f6 100644 --- a/packages/xl-pdf-exporter/package.json +++ b/packages/xl-pdf-exporter/package.json @@ -62,7 +62,6 @@ }, "devDependencies": { "@blocknote/shared": "workspace:^", - "@testing-library/react": "^16.3.0", "@types/react": "^19.2.3", "@types/react-dom": "^19.2.3", "react": "^19.2.5", diff --git a/playground/package.json b/playground/package.json index dcf6ca2868..2963736fc0 100644 --- a/playground/package.json +++ b/playground/package.json @@ -11,15 +11,12 @@ "build:vercel": "cd .. && vp_build() { pnpm exec vp run --verbose --concurrency-limit 1 --filter '@blocknote/example-editor...' build; }; diag() { echo \"[diag] $1 pids.current=$(cat /sys/fs/cgroup/pids.current 2>/dev/null) pids.max=$(cat /sys/fs/cgroup/pids.max 2>/dev/null) mem=$(cat /sys/fs/cgroup/memory.current 2>/dev/null)/$(cat /sys/fs/cgroup/memory.max 2>/dev/null) procs=$(ps -e 2>/dev/null | wc -l)\"; }; vp_build || { diag fail-1; echo '[diag] Vercel builders intermittently fail spawns (host-side EAGAIN); retrying on warm cache...'; sleep 15; vp_build; } || { diag fail-2; sleep 60; vp_build; } || { diag fail-3; sleep 180; vp_build; }" }, "dependencies": { - "@ai-sdk/groq": "^3.0.2", - "@aws-sdk/client-s3": "^3.911.0", - "@aws-sdk/s3-request-presigner": "^3.911.0", "@blocknote/ariakit": "workspace:^", "@blocknote/code-block": "workspace:^", "@blocknote/core": "workspace:^", + "@blocknote/diagram-block": "workspace:^", "@blocknote/mantine": "workspace:^", "@blocknote/math-block": "workspace:^", - "@blocknote/diagram-block": "workspace:^", "@blocknote/react": "workspace:^", "@blocknote/server-util": "workspace:^", "@blocknote/shadcn": "workspace:^", @@ -29,39 +26,13 @@ "@blocknote/xl-multi-column": "workspace:^", "@blocknote/xl-odt-exporter": "workspace:^", "@blocknote/xl-pdf-exporter": "workspace:^", - "@react-pdf/math": "^2.0.1", - "katex": "^0.16.11", - "@emotion/react": "11.14.0", - "@emotion/styled": "11.14.1", - "@liveblocks/client": "^3.17.0", - "@liveblocks/react": "^3.17.0", - "@liveblocks/react-blocknote": "^3.17.0", - "@liveblocks/react-tiptap": "^3.17.0", - "@liveblocks/react-ui": "^3.17.0", "@mantine/core": "^9.0.2", "@mantine/hooks": "^9.0.2", - "@mui/icons-material": "^5.18.0", - "@mui/material": "^5.18.0", - "@uppy/core": "^3.13.1", - "@uppy/dashboard": "^3.9.1", - "@uppy/drag-drop": "^3.1.1", - "@uppy/file-input": "^3.1.2", - "@uppy/image-editor": "^2.4.6", - "@uppy/progress-bar": "^3.1.1", - "@uppy/react": "^3.4.0", - "@uppy/screen-capture": "^3.2.0", - "@uppy/status-bar": "^3.3.3", - "@uppy/webcam": "^3.4.2", - "@uppy/xhr-upload": "^3.6.8", - "@y-sweet/react": "^0.6.4", - "ai": "^6.0.5", - "autoprefixer": "10.4.21", - "docx": "^9.5.1", + "@react-pdf/math": "^2.0.0", + "katex": "^0.16.11", "react": "^19.2.5", "react-dom": "^19.2.5", - "react-icons": "^5.5.0", - "react-router-dom": "^6.30.1", - "y-partykit": "^0.0.25" + "react-router-dom": "^6.30.1" }, "devDependencies": { "@tailwindcss/vite": "^4.1.14", diff --git a/playground/src/examples.gen.tsx b/playground/src/examples.gen.tsx index fc95039f22..9587e4643a 100644 --- a/playground/src/examples.gen.tsx +++ b/playground/src/examples.gen.tsx @@ -143,6 +143,7 @@ export const examples = { docs: true, author: "matthewlipski", tags: ["Basic"], + uiLib: "ariakit", }, title: "Use with Ariakit", group: { @@ -163,6 +164,7 @@ export const examples = { tags: ["Basic"], tailwind: true, stackBlitz: false, + uiLib: "shadcn", }, title: "Use with ShadCN", group: { @@ -506,9 +508,6 @@ export const examples = { docs: true, author: "matthewlipski", tags: ["Intermediate", "Blocks", "UI Components", "Block Side Menu"], - dependencies: { - "react-icons": "^5.5.0", - } as any, }, title: "Adding Drag Handle Menu Items", group: { @@ -1019,7 +1018,6 @@ export const examples = { author: "nperez0111", tags: ["Basic"], dependencies: { - "@blocknote/code-block": "latest", "@shikijs/core": "^4.4.3", "@shikijs/engine-javascript": "^4.4.3", "@shikijs/langs-precompiled": "^4.4.3", @@ -1160,7 +1158,6 @@ export const examples = { "@blocknote/math-block": "latest", "@blocknote/xl-docx-exporter": "latest", "@blocknote/xl-multi-column": "latest", - katex: "^0.16.11", } as any, pro: true, }, @@ -1187,7 +1184,6 @@ export const examples = { "@blocknote/math-block": "latest", "@blocknote/xl-multi-column": "latest", "@blocknote/xl-odt-exporter": "latest", - katex: "^0.16.11", } as any, pro: true, }, @@ -1213,7 +1209,6 @@ export const examples = { "@blocknote/diagram-block": "latest", "@blocknote/math-block": "latest", "@blocknote/xl-email-exporter": "latest", - "@react-email/render": "^2.0.4", } as any, pro: true, }, @@ -1475,7 +1470,6 @@ export const examples = { dependencies: { "@blocknote/code-block": "latest", "@blocknote/math-block": "latest", - "react-icons": "^5.5.0", } as any, }, title: "Math Block", @@ -1504,7 +1498,6 @@ export const examples = { dependencies: { "@blocknote/code-block": "latest", "@blocknote/diagram-block": "latest", - "react-icons": "^5.5.0", } as any, }, title: "Diagram Block", @@ -1752,6 +1745,7 @@ export const examples = { author: "nperez0111", tags: ["Advanced", "Development", "Collaboration"], dependencies: { + "prosemirror-view": "^1.42.2", "y-partykit": "^0.0.25", yjs: "^13.6.27", } as any, @@ -1820,7 +1814,6 @@ export const examples = { "@y/protocols": "^1.0.6-rc.1", "@y/y": "^14.0.0-rc.23", "@y/prosemirror": "^2.0.0-6", - "@y/websocket": "^4.0.0-rc.2", } as any, }, title: "Suggestions (Experimental)", @@ -1843,7 +1836,6 @@ export const examples = { dependencies: { "y-websocket": "^2.1.0", yjs: "^13.6.27", - lib0: "^0.2.99", } as any, }, title: "Local Storage Versioning (yjs v13)", @@ -2065,6 +2057,7 @@ export const examples = { "@blocknote/xl-ai": "latest", "@mantine/core": "^9.0.2", ai: "^6.0.5", + "prosemirror-view": "^1.42.2", "y-partykit": "^0.0.25", yjs: "^13.6.27", } as any, @@ -2089,8 +2082,6 @@ export const examples = { dependencies: { "@blocknote/xl-ai": "latest", "@mantine/core": "^9.0.2", - ai: "^6.0.5", - "y-partykit": "^0.0.25", yjs: "^13.6.27", } as any, }, @@ -2115,7 +2106,6 @@ export const examples = { "@ai-sdk/groq": "^3.0.2", "@blocknote/xl-ai": "latest", "@mantine/core": "^9.0.2", - ai: "^6.0.5", } as any, }, title: "AI Integration with ClientSideTransport", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6decb347ed..da0222bbd1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,15 +42,12 @@ importers: changelogen: specifier: ^0.6.1 version: 0.6.2 - concurrently: - specifier: 9.1.2 - version: 9.1.2 eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(eslint@9.39.4(jiti@2.6.1)) - glob: - specifier: ^10.5.0 - version: 10.5.0 + version: 2.32.0(eslint@9.39.4(jiti@2.7.0)) + knip: + specifier: ^6.32.2 + version: 6.32.2 oxlint-tsgolint: specifier: ^7.0.2001 version: 7.0.2001 @@ -62,10 +59,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) - wait-on: - specifier: 9.0.5 - version: 9.0.5 + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) docs: dependencies: @@ -126,9 +120,6 @@ importers: '@blocknote/xl-pdf-exporter': specifier: workspace:* version: link:../packages/xl-pdf-exporter - '@floating-ui/react': - specifier: ^0.27.18 - version: 0.27.19(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@fumadocs/base-ui': specifier: 16.5.0 version: 16.5.0(@date-fns/tz@1.4.1)(@types/react@19.2.14)(date-fns@4.1.0)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(tailwindcss@4.2.2) @@ -278,7 +269,7 @@ importers: version: 16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6) fumadocs-mdx: specifier: ^14.2.6 - version: 14.2.11(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 14.2.11(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) fumadocs-twoslash: specifier: ^3.1.12 version: 3.1.15(@fumadocs/base-ui@16.5.0(@date-fns/tz@1.4.1)(@types/react@19.2.14)(date-fns@4.1.0)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(tailwindcss@4.2.2))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@7.0.2) @@ -288,9 +279,6 @@ importers: fumadocs-ui: specifier: npm:@fumadocs/base-ui@16.5.0 version: '@fumadocs/base-ui@16.5.0(@date-fns/tz@1.4.1)(@types/react@19.2.14)(date-fns@4.1.0)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(tailwindcss@4.2.2)' - katex: - specifier: ^0.16.11 - version: 0.16.47(patch_hash=cbfb6fe178282ddb73b753dcb27f891295e4f9ed85f63bc1466b4e4b1e4ef6e7) lib0: specifier: 1.0.0-rc.22 version: 1.0.0-rc.22 @@ -300,9 +288,6 @@ importers: mathjax-full: specifier: ^3.2.2 version: 3.2.2 - mermaid: - specifier: ^11.0.0 - version: 11.16.0 motion: specifier: ^12.28.1 version: 12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -324,9 +309,6 @@ importers: react-dom: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) - react-email: - specifier: ^5.2.5 - version: 5.2.10 react-github-btn: specifier: ^1.4.0 version: 1.4.0(react@19.2.5) @@ -336,9 +318,6 @@ importers: react-use-measure: specifier: ^2.1.7 version: 2.1.7(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - scroll-into-view-if-needed: - specifier: ^3.1.0 - version: 3.1.0 shiki: specifier: ^4.4.3 version: 4.4.3 @@ -394,9 +373,6 @@ importers: postcss: specifier: ^8.5.6 version: 8.5.14 - serve: - specifier: ^14.2.6 - version: 14.2.6 tailwindcss: specifier: ^4.1.18 version: 4.2.2 @@ -409,9 +385,6 @@ importers: examples/01-basic/01-minimal: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -421,9 +394,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -452,9 +422,6 @@ importers: examples/01-basic/02-block-objects: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -464,9 +431,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -495,9 +459,6 @@ importers: examples/01-basic/03-multi-column: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -507,9 +468,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-multi-column': specifier: latest version: link:../../../packages/xl-multi-column @@ -541,9 +499,6 @@ importers: examples/01-basic/04-default-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -553,9 +508,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -584,9 +536,6 @@ importers: examples/01-basic/05-removing-default-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -596,9 +545,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -627,9 +573,6 @@ importers: examples/01-basic/06-block-manipulation: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -639,9 +582,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -670,9 +610,6 @@ importers: examples/01-basic/07-selection-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -682,9 +619,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -719,21 +653,9 @@ importers: '@blocknote/core': specifier: latest version: link:../../../packages/core - '@blocknote/mantine': - specifier: latest - version: link:../../../packages/mantine '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn - '@mantine/core': - specifier: ^9.0.2 - version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': - specifier: ^9.0.2 - version: 9.1.1(react@19.2.5) react: specifier: ^19.2.3 version: 19.2.5 @@ -756,27 +678,15 @@ importers: examples/01-basic/09-shadcn: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core - '@blocknote/mantine': - specifier: latest - version: link:../../../packages/mantine '@blocknote/react': specifier: latest version: link:../../../packages/react '@blocknote/shadcn': specifier: latest version: link:../../../packages/shadcn - '@mantine/core': - specifier: ^9.0.2 - version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': - specifier: ^9.0.2 - version: 9.1.1(react@19.2.5) react: specifier: ^19.2.3 version: 19.2.5 @@ -808,9 +718,6 @@ importers: examples/01-basic/10-localization: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -820,9 +727,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -851,9 +755,6 @@ importers: examples/01-basic/11-custom-placeholder: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -863,9 +764,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -894,9 +792,6 @@ importers: examples/01-basic/12-multi-editor: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -906,9 +801,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -937,9 +829,6 @@ importers: examples/01-basic/13-custom-paste-handler: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -949,9 +838,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -980,9 +866,6 @@ importers: examples/01-basic/14-editor-scrollable: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -992,9 +875,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1023,9 +903,6 @@ importers: examples/01-basic/15-shadowdom: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1035,9 +912,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1066,9 +940,6 @@ importers: examples/01-basic/16-read-only-editor: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1078,9 +949,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1109,9 +977,6 @@ importers: examples/01-basic/17-no-trailing-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1121,9 +986,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1152,9 +1014,6 @@ importers: examples/01-basic/testing: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1164,9 +1023,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1195,9 +1051,6 @@ importers: examples/02-backend/01-file-uploading: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1207,9 +1060,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1238,9 +1088,6 @@ importers: examples/02-backend/02-saving-loading: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1250,9 +1097,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1287,9 +1131,6 @@ importers: '@aws-sdk/s3-request-presigner': specifier: ^3.609.0 version: 3.1022.0 - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1299,9 +1140,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1330,9 +1168,6 @@ importers: examples/02-backend/04-rendering-static-documents: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1345,9 +1180,6 @@ importers: '@blocknote/server-util': specifier: latest version: link:../../../packages/server-util - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1376,9 +1208,6 @@ importers: examples/03-ui-components/01-ui-elements-remove: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1388,9 +1217,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1419,9 +1245,6 @@ importers: examples/03-ui-components/02-formatting-toolbar-buttons: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1431,9 +1254,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1462,9 +1282,6 @@ importers: examples/03-ui-components/03-formatting-toolbar-block-type-items: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1474,9 +1291,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1508,9 +1322,6 @@ importers: examples/03-ui-components/04-side-menu-buttons: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1520,9 +1331,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1554,9 +1362,6 @@ importers: examples/03-ui-components/05-side-menu-drag-handle-items: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1566,9 +1371,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1581,9 +1383,6 @@ importers: react-dom: specifier: ^19.2.3 version: 19.2.5(react@19.2.5) - react-icons: - specifier: ^5.5.0 - version: 5.6.0(react@19.2.5) devDependencies: '@types/react': specifier: ^19.2.3 @@ -1600,9 +1399,6 @@ importers: examples/03-ui-components/06-suggestion-menus-slash-menu-items: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1612,9 +1408,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1646,9 +1439,6 @@ importers: examples/03-ui-components/07-suggestion-menus-slash-menu-component: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1658,9 +1448,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1689,9 +1476,6 @@ importers: examples/03-ui-components/08-suggestion-menus-emoji-picker-columns: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1701,9 +1485,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1732,9 +1513,6 @@ importers: examples/03-ui-components/09-suggestion-menus-emoji-picker-component: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1744,9 +1522,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1775,9 +1550,6 @@ importers: examples/03-ui-components/10-suggestion-menus-grid-mentions: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1787,9 +1559,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1818,9 +1587,6 @@ importers: examples/03-ui-components/11-uppy-file-panel: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1830,9 +1596,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1897,9 +1660,6 @@ importers: examples/03-ui-components/12-static-formatting-toolbar: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1909,9 +1669,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1940,9 +1697,6 @@ importers: examples/03-ui-components/13-custom-ui: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -1952,9 +1706,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -1989,9 +1740,6 @@ importers: examples/03-ui-components/14-experimental-mobile-formatting-toolbar: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2001,9 +1749,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2032,9 +1777,6 @@ importers: examples/03-ui-components/15-advanced-tables: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2044,9 +1786,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2075,9 +1814,6 @@ importers: examples/03-ui-components/16-link-toolbar-buttons: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2087,9 +1823,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2118,9 +1851,6 @@ importers: examples/03-ui-components/17-advanced-tables-2: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2130,9 +1860,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2161,9 +1888,6 @@ importers: examples/03-ui-components/18-drag-n-drop: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2173,9 +1897,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2204,9 +1925,6 @@ importers: examples/03-ui-components/19-suggestion-menus-grouping-ordering: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2216,9 +1934,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2247,9 +1962,6 @@ importers: examples/03-ui-components/20-portal-elements: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2259,9 +1971,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2290,9 +1999,6 @@ importers: examples/04-theming/01-theming-dom-attributes: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2302,9 +2008,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2333,9 +2036,6 @@ importers: examples/04-theming/02-changing-font: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2345,9 +2045,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2376,9 +2073,6 @@ importers: examples/04-theming/03-theming-css: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2388,9 +2082,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2419,9 +2110,6 @@ importers: examples/04-theming/04-theming-css-variables: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2431,9 +2119,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2462,9 +2147,6 @@ importers: examples/04-theming/05-theming-css-variables-code: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2474,9 +2156,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2505,9 +2184,6 @@ importers: examples/04-theming/06-code-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/code-block': specifier: latest version: link:../../../packages/code-block @@ -2520,9 +2196,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2551,12 +2224,6 @@ importers: examples/04-theming/07-custom-code-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit - '@blocknote/code-block': - specifier: latest - version: link:../../../packages/code-block '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2566,9 +2233,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2612,9 +2276,6 @@ importers: examples/05-interoperability/01-converting-blocks-to-html: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2624,9 +2285,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2655,9 +2313,6 @@ importers: examples/05-interoperability/02-converting-blocks-from-html: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2667,9 +2322,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2698,9 +2350,6 @@ importers: examples/05-interoperability/03-converting-blocks-to-md: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2710,9 +2359,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2741,9 +2387,6 @@ importers: examples/05-interoperability/04-converting-blocks-from-md: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2753,9 +2396,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2784,9 +2424,6 @@ importers: examples/05-interoperability/05-converting-blocks-to-pdf: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2802,9 +2439,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-multi-column': specifier: latest version: link:../../../packages/xl-multi-column @@ -2848,9 +2482,6 @@ importers: examples/05-interoperability/06-converting-blocks-to-docx: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2866,9 +2497,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-docx-exporter': specifier: latest version: link:../../../packages/xl-docx-exporter @@ -2881,9 +2509,6 @@ importers: '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - katex: - specifier: ^0.16.11 - version: 0.16.47(patch_hash=cbfb6fe178282ddb73b753dcb27f891295e4f9ed85f63bc1466b4e4b1e4ef6e7) react: specifier: ^19.2.3 version: 19.2.5 @@ -2906,9 +2531,6 @@ importers: examples/05-interoperability/07-converting-blocks-to-odt: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2924,9 +2546,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-multi-column': specifier: latest version: link:../../../packages/xl-multi-column @@ -2939,9 +2558,6 @@ importers: '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - katex: - specifier: ^0.16.11 - version: 0.16.47(patch_hash=cbfb6fe178282ddb73b753dcb27f891295e4f9ed85f63bc1466b4e4b1e4ef6e7) react: specifier: ^19.2.3 version: 19.2.5 @@ -2964,9 +2580,6 @@ importers: examples/05-interoperability/08-converting-blocks-to-react-email: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -2982,9 +2595,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-email-exporter': specifier: latest version: link:../../../packages/xl-email-exporter @@ -2994,9 +2604,6 @@ importers: '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - '@react-email/render': - specifier: ^2.0.4 - version: 2.1.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) react: specifier: ^19.2.3 version: 19.2.5 @@ -3019,9 +2626,6 @@ importers: examples/05-interoperability/09-blocks-to-html-static-render: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3031,9 +2635,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3062,9 +2663,6 @@ importers: examples/05-interoperability/10-static-html-render: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3074,9 +2672,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3105,9 +2700,6 @@ importers: examples/06-custom-schema/01-alert-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3117,9 +2709,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3151,9 +2740,6 @@ importers: examples/06-custom-schema/02-suggestion-menus-mentions: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3163,9 +2749,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3194,9 +2777,6 @@ importers: examples/06-custom-schema/03-font-style: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3206,9 +2786,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3240,9 +2817,6 @@ importers: examples/06-custom-schema/04-pdf-file-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3252,9 +2826,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3286,9 +2857,6 @@ importers: examples/06-custom-schema/05-alert-block-full-ux: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3298,9 +2866,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3332,9 +2897,6 @@ importers: examples/06-custom-schema/06-toggleable-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3344,9 +2906,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3375,9 +2934,6 @@ importers: examples/06-custom-schema/07-configuring-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3387,9 +2943,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3418,9 +2971,6 @@ importers: examples/06-custom-schema/08-non-editable-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3430,9 +2980,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3461,9 +3008,6 @@ importers: examples/06-custom-schema/09-math-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/code-block': specifier: latest version: link:../../../packages/code-block @@ -3479,9 +3023,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3494,9 +3035,6 @@ importers: react-dom: specifier: ^19.2.3 version: 19.2.5(react@19.2.5) - react-icons: - specifier: ^5.5.0 - version: 5.6.0(react@19.2.5) devDependencies: '@types/react': specifier: ^19.2.3 @@ -3513,9 +3051,6 @@ importers: examples/06-custom-schema/10-diagram-block: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/code-block': specifier: latest version: link:../../../packages/code-block @@ -3531,9 +3066,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3546,9 +3078,6 @@ importers: react-dom: specifier: ^19.2.3 version: 19.2.5(react@19.2.5) - react-icons: - specifier: ^5.5.0 - version: 5.6.0(react@19.2.5) devDependencies: '@types/react': specifier: ^19.2.3 @@ -3565,9 +3094,6 @@ importers: examples/06-custom-schema/11-source-with-preview: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3577,9 +3103,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3611,9 +3134,6 @@ importers: examples/06-custom-schema/draggable-inline-content: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3623,9 +3143,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3654,9 +3171,6 @@ importers: examples/06-custom-schema/react-custom-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3666,9 +3180,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3697,9 +3208,6 @@ importers: examples/06-custom-schema/react-custom-inline-content: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3709,9 +3217,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3740,9 +3245,6 @@ importers: examples/06-custom-schema/react-custom-styles: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3752,9 +3254,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3783,9 +3282,6 @@ importers: examples/07-collaboration/01-partykit: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3795,9 +3291,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3832,9 +3325,6 @@ importers: examples/07-collaboration/02-liveblocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3844,9 +3334,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@liveblocks/client': specifier: ^3.19.5 version: 3.19.5(@types/json-schema@7.0.15) @@ -3893,9 +3380,6 @@ importers: examples/07-collaboration/03-y-sweet: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3905,9 +3389,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3939,9 +3420,6 @@ importers: examples/07-collaboration/04-electric-sql: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3951,9 +3429,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3982,9 +3457,6 @@ importers: examples/07-collaboration/05-comments: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -3994,9 +3466,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4028,9 +3497,6 @@ importers: examples/07-collaboration/06-comments-with-sidebar: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4040,9 +3506,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4077,9 +3540,6 @@ importers: examples/07-collaboration/07-ghost-writer: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4089,15 +3549,15 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) + prosemirror-view: + specifier: ^1.42.2 + version: 1.42.2 react: specifier: ^19.2.3 version: 19.2.5 @@ -4126,9 +3586,6 @@ importers: examples/07-collaboration/08-forking: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4138,9 +3595,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4175,9 +3629,6 @@ importers: examples/07-collaboration/09-comments-testing: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4187,9 +3638,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4221,9 +3669,6 @@ importers: examples/07-collaboration/10-suggestion-multi-editor: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4233,9 +3678,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4248,9 +3690,6 @@ importers: '@y/protocols': specifier: ^1.0.6-rc.1 version: 1.0.6-rc.1(@y/y@14.0.0-rc.23) - '@y/websocket': - specifier: ^4.0.0-rc.2 - version: 4.0.0-rc.2(@y/y@14.0.0-rc.23) '@y/y': specifier: 14.0.0-rc.23 version: 14.0.0-rc.23 @@ -4276,9 +3715,6 @@ importers: examples/07-collaboration/11-versioning-yjs13: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4288,18 +3724,12 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - lib0: - specifier: 1.0.0-rc.22 - version: 1.0.0-rc.22 react: specifier: ^19.2.3 version: 19.2.5 @@ -4328,9 +3758,6 @@ importers: examples/07-collaboration/12-multi-doc-versioning: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4340,9 +3767,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4383,9 +3807,6 @@ importers: examples/07-collaboration/13-versioning-yjs14: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4395,9 +3816,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4441,9 +3859,6 @@ importers: examples/07-collaboration/14-suggestion-gallery: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4453,9 +3868,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-multi-column': specifier: latest version: link:../../../packages/xl-multi-column @@ -4493,9 +3905,6 @@ importers: examples/08-extensions/01-tiptap-arrow-conversion: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4505,9 +3914,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4539,9 +3945,6 @@ importers: examples/08-extensions/02-versioning: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4551,9 +3954,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4588,9 +3988,6 @@ importers: examples/09-ai/01-minimal: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4600,9 +3997,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4637,9 +4031,6 @@ importers: examples/09-ai/02-playground: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4649,9 +4040,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4686,9 +4074,6 @@ importers: examples/09-ai/03-custom-ai-menu-items: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4698,9 +4083,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4738,9 +4120,6 @@ importers: examples/09-ai/04-with-collaboration: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4750,9 +4129,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4765,6 +4141,9 @@ importers: ai: specifier: ^6.0.5 version: 6.0.5(zod@4.3.6) + prosemirror-view: + specifier: ^1.42.2 + version: 1.42.2 react: specifier: ^19.2.3 version: 19.2.5 @@ -4793,9 +4172,6 @@ importers: examples/09-ai/05-manual-execution: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4805,9 +4181,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4817,18 +4190,12 @@ importers: '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - ai: - specifier: ^6.0.5 - version: 6.0.5(zod@4.3.6) react: specifier: ^19.2.3 version: 19.2.5 react-dom: specifier: ^19.2.3 version: 19.2.5(react@19.2.5) - y-partykit: - specifier: ^0.0.25 - version: 0.0.25 yjs: specifier: ^13.6.27 version: 13.6.30 @@ -4851,9 +4218,6 @@ importers: '@ai-sdk/groq': specifier: ^3.0.2 version: 3.0.2(zod@4.3.6) - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4863,9 +4227,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4875,9 +4236,6 @@ importers: '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - ai: - specifier: ^6.0.5 - version: 6.0.5(zod@4.3.6) react: specifier: ^19.2.3 version: 19.2.5 @@ -4900,9 +4258,6 @@ importers: examples/09-ai/07-server-persistence: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4912,9 +4267,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@blocknote/xl-ai': specifier: latest version: link:../../../packages/xl-ai @@ -4949,9 +4301,6 @@ importers: examples/vanilla-js/react-vanilla-custom-blocks: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -4961,9 +4310,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -4992,9 +4338,6 @@ importers: examples/vanilla-js/react-vanilla-custom-inline-content: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -5004,9 +4347,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -5035,9 +4375,6 @@ importers: examples/vanilla-js/react-vanilla-custom-styles: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -5047,9 +4384,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -5078,9 +4412,6 @@ importers: examples/vanilla-js/vanilla-custom-side-menu: dependencies: - '@blocknote/ariakit': - specifier: latest - version: link:../../../packages/ariakit '@blocknote/core': specifier: latest version: link:../../../packages/core @@ -5090,9 +4421,6 @@ importers: '@blocknote/react': specifier: latest version: link:../../../packages/react - '@blocknote/shadcn': - specifier: latest - version: link:../../../packages/shadcn '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -5139,7 +4467,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) react: specifier: ^19.2.5 version: 19.2.5 @@ -5155,12 +4483,9 @@ importers: typescript: specifier: ^7.0.2 version: 7.0.2 - vite-plugin-externalize-deps: - specifier: ^0.10.0 - version: 0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/code-block: dependencies: @@ -5191,7 +4516,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) optionalDependencies: '@shikijs/types': specifier: ^4.4.3 @@ -5286,7 +4611,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) y-prosemirror: specifier: ^1.3.7 version: 1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.42.2)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) @@ -5328,7 +4653,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/diagram-block: dependencies: @@ -5398,7 +4723,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/mantine: dependencies: @@ -5423,7 +4748,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) react: specifier: ^19.2.5 version: 19.2.5 @@ -5442,12 +4767,9 @@ importers: typescript: specifier: ^7.0.2 version: 7.0.2 - vite-plugin-externalize-deps: - specifier: ^0.10.0 - version: 0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/math-block: dependencies: @@ -5494,9 +4816,6 @@ importers: '@react-pdf/renderer': specifier: ^4.5.1 version: 4.5.1(react@19.2.5) - '@types/katex': - specifier: ^0.16.7 - version: 0.16.8 '@types/react': specifier: ^19.2.3 version: 19.2.14 @@ -5538,7 +4857,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) xml-formatter: specifier: ^3.6.7 version: 3.7.0 @@ -5573,12 +4892,6 @@ importers: specifier: 1.6.0 version: 1.6.0(react@19.2.5) devDependencies: - '@types/lodash.foreach': - specifier: ^4.5.9 - version: 4.5.9 - '@types/lodash.groupby': - specifier: ^4.6.9 - version: 4.6.9 '@types/react': specifier: ^19.2.3 version: 19.2.14 @@ -5587,7 +4900,10 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + jsdom: + specifier: ^29.0.2 + version: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) react: specifier: ^19.2.5 version: 19.2.5 @@ -5606,12 +4922,9 @@ importers: typescript: specifier: ^7.0.2 version: 7.0.2 - vite-plugin-externalize-deps: - specifier: ^0.10.0 - version: 0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) optionalDependencies: '@types/use-sync-external-store': specifier: 1.5.0 @@ -5661,7 +4974,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) y-prosemirror: specifier: ^1.3.7 version: 1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.42.2)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) @@ -5707,7 +5020,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) react: specifier: ^19.2.5 version: 19.2.5 @@ -5723,12 +5036,9 @@ importers: typescript: specifier: ^7.0.2 version: 7.0.2 - vite-plugin-externalize-deps: - specifier: ^0.10.0 - version: 0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/xl-ai: dependencies: @@ -5790,15 +5100,9 @@ importers: '@ai-sdk/anthropic': specifier: ^3.0.2 version: 3.0.2(zod@4.3.6) - '@ai-sdk/google': - specifier: ^3.0.2 - version: 3.0.2(zod@4.3.6) '@ai-sdk/groq': specifier: ^3.0.2 version: 3.0.2(zod@4.3.6) - '@ai-sdk/mistral': - specifier: ^3.0.2 - version: 3.0.2(zod@4.3.6) '@ai-sdk/openai': specifier: ^3.0.2 version: 3.0.2(zod@4.3.6) @@ -5808,15 +5112,6 @@ importers: '@blocknote/xl-multi-column': specifier: workspace:^ version: link:../xl-multi-column - '@mswjs/interceptors': - specifier: ^0.37.6 - version: 0.37.6 - '@types/diff': - specifier: ^6.0.0 - version: 6.0.0 - '@types/json-diff': - specifier: ^1.0.3 - version: 1.0.3 '@types/json-schema': specifier: ^7.0.15 version: 7.0.15 @@ -5837,13 +5132,13 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) glob: specifier: ^10.5.0 version: 10.5.0 - headers-polyfill: - specifier: ^4.0.3 - version: 4.0.3 + jsdom: + specifier: ^29.0.2 + version: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) msw: specifier: ^2.11.5 version: 2.11.5(@types/node@25.6.0)(typescript@7.0.2) @@ -5865,12 +5160,9 @@ importers: undici: specifier: ^6.22.0 version: 6.25.0 - vite-plugin-externalize-deps: - specifier: ^0.10.0 - version: 0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) yjs: specifier: ^13.6.27 version: 13.6.30 @@ -5926,12 +5218,9 @@ importers: vite-node: specifier: ^6.0.0 version: 6.0.0(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) - vite-plugin-externalize-deps: - specifier: ^0.10.0 - version: 0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/xl-docx-exporter: dependencies: @@ -5980,7 +5269,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) xml-formatter: specifier: ^3.6.7 version: 3.7.0 @@ -6003,9 +5292,6 @@ importers: '@blocknote/shared': specifier: workspace:^ version: link:../../shared - '@types/jsdom': - specifier: ^21.1.7 - version: 21.1.7 '@types/react': specifier: ^19.2.3 version: 19.2.14 @@ -6032,7 +5318,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/xl-multi-column: dependencies: @@ -6087,7 +5373,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/xl-odt-exporter: dependencies: @@ -6107,9 +5393,6 @@ importers: '@blocknote/shared': specifier: workspace:^ version: link:../../shared - '@testing-library/react': - specifier: ^16.3.0 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@types/node': specifier: ^25.6.0 version: 25.6.0 @@ -6119,6 +5402,9 @@ importers: '@types/react-dom': specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.14) + jsdom: + specifier: ^29.0.2 + version: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) react: specifier: ^19.2.5 version: 19.2.5 @@ -6136,10 +5422,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) - xml-formatter: - specifier: ^3.6.7 - version: 3.7.0 + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) packages/xl-pdf-exporter: dependencies: @@ -6156,9 +5439,6 @@ importers: '@blocknote/shared': specifier: workspace:^ version: link:../../shared - '@testing-library/react': - specifier: ^16.3.0 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@types/react': specifier: ^19.2.3 version: 19.2.14 @@ -6185,19 +5465,10 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) playground: dependencies: - '@ai-sdk/groq': - specifier: ^3.0.2 - version: 3.0.2(zod@4.3.6) - '@aws-sdk/client-s3': - specifier: ^3.911.0 - version: 3.1022.0 - '@aws-sdk/s3-request-presigner': - specifier: ^3.911.0 - version: 3.1022.0 '@blocknote/ariakit': specifier: workspace:^ version: link:../packages/ariakit @@ -6243,87 +5514,15 @@ importers: '@blocknote/xl-pdf-exporter': specifier: workspace:^ version: link:../packages/xl-pdf-exporter - '@emotion/react': - specifier: 11.14.0 - version: 11.14.0(@types/react@19.2.14)(react@19.2.5) - '@emotion/styled': - specifier: 11.14.1 - version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.5))(@types/react@19.2.14)(react@19.2.5) - '@liveblocks/client': - specifier: ^3.17.0 - version: 3.19.5(@types/json-schema@7.0.15) - '@liveblocks/react': - specifier: ^3.17.0 - version: 3.19.5(@types/json-schema@7.0.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react@19.2.5) - '@liveblocks/react-blocknote': - specifier: ^3.17.0 - version: 3.19.5(@blocknote/core@packages+core)(@blocknote/react@packages+react)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@tiptap/react@3.29.2(@floating-ui/dom@1.7.6)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@tiptap/suggestion@2.27.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))(@types/json-schema@7.0.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.42.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) - '@liveblocks/react-tiptap': - specifier: ^3.17.0 - version: 3.19.5(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@tiptap/react@3.29.2(@floating-ui/dom@1.7.6)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@tiptap/suggestion@2.27.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))(@types/json-schema@7.0.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.42.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) - '@liveblocks/react-ui': - specifier: ^3.17.0 - version: 3.19.5(@types/json-schema@7.0.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/core': specifier: ^9.0.2 version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/hooks': specifier: ^9.0.2 version: 9.1.1(react@19.2.5) - '@mui/icons-material': - specifier: ^5.18.0 - version: 5.18.0(@mui/material@5.18.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.5))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.5))(@types/react@19.2.14)(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@types/react@19.2.14)(react@19.2.5) - '@mui/material': - specifier: ^5.18.0 - version: 5.18.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.5))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.5))(@types/react@19.2.14)(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@react-pdf/math': - specifier: ^2.0.1 + specifier: ^2.0.0 version: 2.0.1(@react-pdf/renderer@4.5.1(react@19.2.5))(react@19.2.5) - '@uppy/core': - specifier: ^3.13.1 - version: 3.13.1 - '@uppy/dashboard': - specifier: ^3.9.1 - version: 3.9.1(@uppy/core@3.13.1) - '@uppy/drag-drop': - specifier: ^3.1.1 - version: 3.1.1(@uppy/core@3.13.1) - '@uppy/file-input': - specifier: ^3.1.2 - version: 3.1.2(@uppy/core@3.13.1) - '@uppy/image-editor': - specifier: ^2.4.6 - version: 2.4.6(@uppy/core@3.13.1) - '@uppy/progress-bar': - specifier: ^3.1.1 - version: 3.1.1(@uppy/core@3.13.1) - '@uppy/react': - specifier: ^3.4.0 - version: 3.4.0(@uppy/core@3.13.1)(@uppy/dashboard@3.9.1(@uppy/core@3.13.1))(@uppy/drag-drop@3.1.1(@uppy/core@3.13.1))(@uppy/file-input@3.1.2(@uppy/core@3.13.1))(@uppy/progress-bar@3.1.1(@uppy/core@3.13.1))(@uppy/status-bar@3.3.3(@uppy/core@3.13.1))(react@19.2.5) - '@uppy/screen-capture': - specifier: ^3.2.0 - version: 3.2.0(@uppy/core@3.13.1) - '@uppy/status-bar': - specifier: ^3.3.3 - version: 3.3.3(@uppy/core@3.13.1) - '@uppy/webcam': - specifier: ^3.4.2 - version: 3.4.2(@uppy/core@3.13.1) - '@uppy/xhr-upload': - specifier: ^3.6.8 - version: 3.6.8(@uppy/core@3.13.1) - '@y-sweet/react': - specifier: ^0.6.4 - version: 0.6.4(react@19.2.5)(yjs@13.6.30) - ai: - specifier: ^6.0.5 - version: 6.0.5(zod@4.3.6) - autoprefixer: - specifier: 10.4.21 - version: 10.4.21(postcss@8.5.14) - docx: - specifier: ^9.5.1 - version: 9.6.1 katex: specifier: ^0.16.11 version: 0.16.47(patch_hash=cbfb6fe178282ddb73b753dcb27f891295e4f9ed85f63bc1466b4e4b1e4ef6e7) @@ -6333,19 +5532,13 @@ importers: react-dom: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) - react-icons: - specifier: ^5.5.0 - version: 5.6.0(react@19.2.5) react-router-dom: specifier: ^6.30.1 version: 6.30.3(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - y-partykit: - specifier: ^0.0.25 - version: 0.0.25 devDependencies: '@tailwindcss/vite': specifier: ^4.1.14 - version: 4.2.2(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 4.2.2(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) '@types/node': specifier: ^25.6.0 version: 25.6.0 @@ -6357,7 +5550,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) rimraf: specifier: ^5.0.10 version: 5.0.10 @@ -6372,10 +5565,10 @@ importers: version: 1.4.0 vite-plugin-inspect: specifier: 12.0.0-beta.1 - version: 12.0.0-beta.1(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0) + version: 12.0.0-beta.1(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0) vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) shared: dependencies: @@ -6397,7 +5590,7 @@ importers: version: 7.0.2 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) xml-formatter: specifier: ^3.6.7 version: 3.7.0 @@ -6446,7 +5639,7 @@ importers: version: 4.5.1(react@19.2.5) '@tailwindcss/vite': specifier: ^4.1.14 - version: 4.2.2(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + version: 4.2.2(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) '@tiptap/pm': specifier: ^3.29.2 version: 3.29.2 @@ -6461,7 +5654,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitest/browser-playwright': specifier: 4.1.10 - version: 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + version: 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) '@vitest/ui': specifier: 4.1.5 version: 4.1.5(vitest@4.1.10) @@ -6474,6 +5667,9 @@ importers: htmlfy: specifier: ^0.6.7 version: 0.6.7 + jsdom: + specifier: ^29.0.2 + version: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) pdfjs-dist: specifier: ^4.10.38 version: 4.10.38 @@ -6483,15 +5679,12 @@ importers: react-dom: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) - react-icons: - specifier: ^5.5.0 - version: 5.6.0(react@19.2.5) rimraf: specifier: ^5.0.10 version: 5.0.10 vite-plus: specifier: 'catalog:' - version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) vitest-browser-react: specifier: ^2.2.0 version: 2.2.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.10) @@ -6946,9 +6139,15 @@ packages: '@date-fns/tz@1.4.1': resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==} + '@emnapi/core@1.11.2': + resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} + '@emnapi/core@1.9.2': resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} + '@emnapi/runtime@1.11.2': + resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} + '@emnapi/runtime@1.11.3': resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} @@ -6958,6 +6157,9 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + '@emoji-mart/data@1.2.1': resolution: {integrity: sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==} @@ -7455,26 +6657,6 @@ packages: prosemirror-transform: ^1.0.0 prosemirror-view: ^1.0.0 - '@hapi/address@5.1.1': - resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==} - engines: {node: '>=14.0.0'} - - '@hapi/formula@3.0.2': - resolution: {integrity: sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==} - - '@hapi/hoek@11.0.7': - resolution: {integrity: sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==} - - '@hapi/pinpoint@2.0.1': - resolution: {integrity: sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==} - - '@hapi/tlds@1.1.6': - resolution: {integrity: sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==} - engines: {node: '>=14.0.0'} - - '@hapi/topo@6.0.2': - resolution: {integrity: sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==} - '@hono/node-server@1.19.14': resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} engines: {node: '>=18.14.1'} @@ -7826,10 +7008,6 @@ packages: '@mermaid-js/parser@1.2.0': resolution: {integrity: sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==} - '@mswjs/interceptors@0.37.6': - resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} - engines: {node: '>=18'} - '@mswjs/interceptors@0.39.8': resolution: {integrity: sha512-2+BzZbjRO7Ct61k8fMNHEtoKjeWI9pIlHFTqBwZ5icHpqszIgEZbjb1MW5Z0+bITTCTl3gk4PDBxs9tA/csXvA==} engines: {node: '>=18'} @@ -7922,11 +7100,12 @@ packages: '@types/react': optional: true - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + '@napi-rs/wasm-runtime@1.2.3': + resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 '@next/env@16.3.0': resolution: {integrity: sha512-o9r1S0BNiNreHP9Vs+Qnqd9kviDkJh8xIACY7UFZSmiGbbQRzPBBosvHzAU4TULHOIuOj/18RSsyz2qrREmIFw==} @@ -8216,9 +7395,131 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 - '@orama/orama@3.1.18': - resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} - engines: {node: '>= 20.0.0'} + '@orama/orama@3.1.18': + resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} + engines: {node: '>= 20.0.0'} + + '@oxc-parser/binding-android-arm-eabi@0.143.0': + resolution: {integrity: sha512-n9uozULWflPqBtdmI8lAabLqGKNgLVNN0ZH8HfgCwpKGNtzRzauB76jTiW/3YLkcA7N1zskpi9GdVnZuu1SAvg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-parser/binding-android-arm64@0.143.0': + resolution: {integrity: sha512-9BbdjHETk6O3zH/DDid9IgBtF0GlpLabNKN231uraXpRDSfY+iiZxTP5bk1Z63GBownVdhdINFIeddmMz4MzpQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-darwin-arm64@0.143.0': + resolution: {integrity: sha512-gh+6ecoHUy4/sUcolBl/1qPXKBbYNxFY0Pk0ujgQvINTMSftJY7o4yb8gOkDJPeZeB8+a+u7xTe6umoP8N5HFA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.143.0': + resolution: {integrity: sha512-qd1hl2d+lXgHv/VQ/M9qm8TrMC5T4RqDBwtOnl+1D0QMjwcz+8AaB4JSg8STgeag0GP6a6L74XEGAsrTSJWNzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-freebsd-x64@0.143.0': + resolution: {integrity: sha512-M5XXcNa7aOqLPKTR41msfghKu2yQ4xWvCm11/gwU0JzOzHNk5sgW//rVEjJ+LO48+VDAMzXTSzurUVxIDKwozw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': + resolution: {integrity: sha512-T/GXusuOkPNQhCQCSBbcU/N8j0rAypuDBl1IyFK+lyYT594XsVz80clPC/OtbSSpBGyJxj8uYEfctxVuxVYoww==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': + resolution: {integrity: sha512-oKu4RcBlXSqo3OC62dp6YTnQaZIurNDpCX3BnAM3+bJxt7s8J2TJKMnC0UYer1qhlRaDCg6wkTaTw+2IlsZ12w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm64-gnu@0.143.0': + resolution: {integrity: sha512-WJBbD186AZmMGaSIhlktC+rPl8L3peCTXAh88Ih9uEvK0en2mPojGyCGYiL6mHtV1RPV3JyfJW5t6n5hh0lXhA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-arm64-musl@0.143.0': + resolution: {integrity: sha512-t1AcYOwEzgceadT4v5e+vaCCb0AncCA3v5AyzfBAz/tMq11qzVccXKzNHtkWdjBsgvTKwRkaUF3QvT4kot8vcQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': + resolution: {integrity: sha512-RsnO/NoD8376LMJq8JS8TwI0ieNaFRTuNe2GVJntQg6gwZNMENZsEbknHdVwjpOmxdGLGodcwaGSbAeRr5Bgjw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': + resolution: {integrity: sha512-48fSVfR9TZi5CASZFyv0VC6z6BCoeihFsX031mAD/oSH7d9PYsPgIqza7d9mjP7Z2KTEpTFyH6SIu0Ui6R1vdg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-musl@0.143.0': + resolution: {integrity: sha512-T8CpdD+SfE01DnIOD4HpVxu0ZJOfMJ/VhCvikKfaXAxkZ+9veyLM/D2hpi7Y2hFUyPmVQO3FNZHmYzV/WlVR4g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-s390x-gnu@0.143.0': + resolution: {integrity: sha512-QLdeMsCcacenPEFsfxnBUDF1y6opyz5+fmOz9bfD5Y7fiGCMupUCuB3KTPQhNwshIG1P9fPqar9MHxuBDd4bwQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-gnu@0.143.0': + resolution: {integrity: sha512-659ujfqLy6k7cuH3sbzhd8b+ztSq+i6E2E9pG78Q0BmHjAExfGIdgc8cGgMdwAozDXeZFHkJ+LXYJdWsaGdgyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-musl@0.143.0': + resolution: {integrity: sha512-/Mw/9j4TfZcnKphPrzOE6t4MMknXadcAAuVUlDRTF/ETWB5xOgQvOJV2Mh9We/bWxZdoxaGAdc+hy4GuYwQ2yQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-openharmony-arm64@0.143.0': + resolution: {integrity: sha512-8rIKWR2BFuifbIK/1XB9wTaSdtuJ25dlE7ZQYDnEwj/2xH2vHsxnvIjHT3ZjSVuLLwGGlSslIG/fbOJ8TV8rTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-win32-arm64-msvc@0.143.0': + resolution: {integrity: sha512-5U9kQYMfRRI6Zq7KDxgbIP0RMnKrfn3gLepRMgJuRkPSUALTiRCk9d/uyhb4lGDjUdzwK7mBkKqhLgzBPCmLpQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.143.0': + resolution: {integrity: sha512-25P7AaHk4R88Yv2XH4gToDVmh0cOu+bEURQU10CRrmvgabfRArSGAP5osmwUKeSUHj0VS50upbpbRWWW/m7mHA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.143.0': + resolution: {integrity: sha512-ORMh3JE1s6V7ySicdRK7vgaDQnn5o+UHg9ct989PlWHbel8O9ARrmWXM6kZjrBMtNucxNayQ8g69G0VfWzhANw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] '@oxc-project/runtime@0.143.0': resolution: {integrity: sha512-zIuXUf+YGIgsPk0xlQmzTY8NCSc8jE/pSfDodlQ9H3EGZABmr+AtIjXRrnpQAXuXzhDSNqZz9cuhud8hDDLvpg==} @@ -8230,6 +7531,109 @@ packages: '@oxc-project/types@0.143.0': resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': + resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} + cpu: [arm] + os: [android] + + '@oxc-resolver/binding-android-arm64@11.24.2': + resolution: {integrity: sha512-cl4icWaZFnLdg8m6qtnh5rBMuGbxc/ptStFHLeCNwr+2cZjkjNwQu/jYRS0CHlnPecOJMpuS5M6/BH+0J/YkEg==} + cpu: [arm64] + os: [android] + + '@oxc-resolver/binding-darwin-arm64@11.24.2': + resolution: {integrity: sha512-At29QEMF6HajbQvgY8K6OXnHD1x9rad74xBEfmCB6ZqCGsdq75aK7tOYcTbOanMy8qdIBrfL3SMr3p/lfSlb9w==} + cpu: [arm64] + os: [darwin] + + '@oxc-resolver/binding-darwin-x64@11.24.2': + resolution: {integrity: sha512-A5Kqr1EUj4oIL5CF4WRssq/o5P0Y11cwoFouMRmQ7YnC/A8V93nv1nb7aSU8HwcgmXropjLNkVTl4MN87cu28Q==} + cpu: [x64] + os: [darwin] + + '@oxc-resolver/binding-freebsd-x64@11.24.2': + resolution: {integrity: sha512-R5xkRBRRz7ceH/P5Jrc6G7FmdUdgpLYyESFAUDVTNQ9K0sGPxcp4ljiwEwEqsvNcQ4sYbMRrWcHHBCu7ksAJVw==} + cpu: [x64] + os: [freebsd] + + '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2': + resolution: {integrity: sha512-k/RuYL4L/R58IBn3wT5ma3Wh4k62bp1eYCFRWCmMsasUOqL+H6sW0VGFadEzKWXFFlz+2uIMoeMk9ySSZJHgbg==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2': + resolution: {integrity: sha512-bnHAak3ujYfH5pKk4NieFNbvYvernfoQDgwLddbZ3OtMYrem87/qjlA+u+aKG0oZcqSLGCful/6/CEA+aeAgaA==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': + resolution: {integrity: sha512-vDT3KHgzYp47gmtNOqL2VNhCyl5Zv643eyxm//A68J8DeUGXrvD1pZFiaT4jSfe+RInfnn1R2yVHye4enx6RnA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': + resolution: {integrity: sha512-+kMlQvbzfyEYtu5FcjE4p+ttBLpKW4d/AsAsuE69BxV6V4twZJeIQZFfD8gh/wqglY0MkPSezWXQH0jBV13MUw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': + resolution: {integrity: sha512-shjfMhmZ3gq9fv/w7bi3PnZlgOPG+2QAOFf0BJF0EgBSIGZ6PMLN2zbGEblTUYB/NKVDRyYhE2ff3dJ1QqNPkA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': + resolution: {integrity: sha512-zGelwFR5oRo+b69k8Lrzun86DyUHzfKN6cnjbR9l7Z7NIRznOE/2ZvPa1IUKqAL2PzAXOdwkfVqNvO1H2RlpAw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': + resolution: {integrity: sha512-qxZ1SWCXJY0eyhAlP6Lmo9F2Nrtx7EkYj9oCgL8apDPCwXwCEDA2U697bbT81JIc2IrVjxO4KX6WU2N+oN9Z4w==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': + resolution: {integrity: sha512-sGCecF3cx2DFlH4t/z7ApnOnXqN48p5p5mlHDEnHTAukQa2P+qMVE4CwyWE9W+q/m3QJ7kKfGrIjax31f44oFQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': + resolution: {integrity: sha512-k/VlMMcSzMlahb3/fENM4rTlsJ0s3fFROA0KXPBmKggqmTSaE383sl8F3KCOXPLmVsYfW6hCitMhXCEtNeZxxg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-x64-musl@11.24.2': + resolution: {integrity: sha512-8hbnZyNi97b/8wapYaIF9+t9GmZKBW2vunaOc3h9HGJptH7b7XpvZqOTBSm/MpTjr7H497BlgOaSfLUdhmy2bw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-resolver/binding-openharmony-arm64@11.24.2': + resolution: {integrity: sha512-MvyGik3a6pVgZ0t/kWlbmFxFLmXQJwgLsY2eYFHLpy0wGwRbfzeIGgDwQ3kXqE30z+kSXennRkCrT7TUvkptNg==} + cpu: [arm64] + os: [openharmony] + + '@oxc-resolver/binding-wasm32-wasi@11.24.2': + resolution: {integrity: sha512-vHcssMPwO08RTvj/c0iOBz90attxyG3wQJ0dTcyEQK43LRpcdLWZlV5feBhv6Isn6ahbQIzHbCgfa81+RiML0Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + resolution: {integrity: sha512-uokJqro2iBqkFvJdKQLP7d8/BUmFwESQFVmIJUQKj1Xn1a/LysJoe1vmeECLF5b3jsV8CAL5sEMJXX6SdK9Nhg==} + cpu: [arm64] + os: [win32] + + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + resolution: {integrity: sha512-UqGPmo56KDfLlfXFAFIrNflHT8tFxWGEivWg3Zeyp4Uy2NlKN1FGPr6/BxcLGG3+kZ6Wp14g5Uj+n71boqZfiw==} + cpu: [x64] + os: [win32] + '@oxfmt/binding-android-arm-eabi@0.62.0': resolution: {integrity: sha512-pdsv0C4gPjJ8H1+sd8u0BDx+yLACTL+rgeMIOL1ln4ihSnhw8CWXtYWgvcSkyTfgGBIzFKab+d8rx9Xl4en/Kw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -10581,21 +9985,6 @@ packages: resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} - '@testing-library/react@16.3.2': - resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} - engines: {node: '>=18'} - peerDependencies: - '@testing-library/dom': ^10.0.0 - '@types/react': ^18.0.0 || ^19.0.0 - '@types/react-dom': ^18.0.0 || ^19.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@testing-library/user-event@14.6.3': resolution: {integrity: sha512-6dBq67jT8lE+JTE8Exm02Kt6ze43hz1jdiSpSJwtTZiT1xQQ6b7nZYTTQ9njdArdU8XklOwaDp/AbT/eYSKF4g==} engines: {node: '>=12', npm: '>=6'} @@ -10681,8 +10070,8 @@ packages: '@ts-morph/common@0.28.1': resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==} - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -10798,9 +10187,6 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/diff@6.0.0': - resolution: {integrity: sha512-dhVCYGv3ZSbzmQaBSagrv1WJ6rXCdkyTcDyoNu1MD8JohI7pR7k8wdZEm+mvdxRKXyHVwckFzWU1vJc+Z29MlA==} - '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} @@ -10822,24 +10208,12 @@ packages: '@types/jsdom@21.1.7': resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} - '@types/json-diff@1.0.3': - resolution: {integrity: sha512-Qvxm8fpRMv/1zZR3sQWImeRK2mBYJji20xF51Fq9Gt//Ed18u0x6/FNLogLS1xhfUWTEmDyqveJqn95ltB6Kvw==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/katex@0.16.8': - resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} - - '@types/lodash.foreach@4.5.9': - resolution: {integrity: sha512-vmq0p/FK66PsALXRmK/qsnlLlCpnudvozWYrxJImHujHhXMADdeoPEY10zwmu26437w85wCvdxUqpFi+ALtkiQ==} - - '@types/lodash.groupby@4.6.9': - resolution: {integrity: sha512-z2xtCX2ko7GrqORnnYea4+ksT7jZNAvaOcLd6mP9M7J09RHvJs06W8BGdQQAX8ARef09VQLdeRilSOcfHlDQJQ==} - '@types/lodash.isequal@4.5.8': resolution: {integrity: sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA==} @@ -11767,26 +11141,13 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - atomically@2.1.1: resolution: {integrity: sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ==} - autoprefixer@10.4.21: - resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.15.0: - resolution: {integrity: sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==} - babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} @@ -12127,10 +11488,6 @@ packages: resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} engines: {node: '>=18'} - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -12166,11 +11523,6 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@9.1.2: - resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} - engines: {node: '>=18'} - hasBin: true - conf@15.1.0: resolution: {integrity: sha512-Uy5YN9KEu0WWDaZAVJ5FAmZoaJt9rdK6kH+utItPyGsCqCgaTKkrmZx3zoE0/3q6S3bcp3Ihkk+ZqPxWxFK5og==} engines: {node: '>=20'} @@ -12511,10 +11863,6 @@ packages: delaunator@5.1.0: resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -12895,6 +12243,9 @@ packages: resolution: {integrity: sha512-Z7Fh2nVQSb2d+poDViM063ix2ZGt9jmY1nWhPfHBOK2Hgnb/OW3P4Et3P/81SEej0J7QbWtJqxO05h8QYfK7LQ==} hasBin: true + fd-package-json@2.0.0: + resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -12928,15 +12279,6 @@ packages: flatted@3.4.2: resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} - follow-redirects@1.16.0: - resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - fontkit@2.0.4: resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} @@ -12948,16 +12290,14 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} + formatly@0.3.0: + resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==} + engines: {node: '>=18.3.0'} + hasBin: true forwarded-parse@2.1.2: resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==} - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@12.38.0: resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} peerDependencies: @@ -13150,8 +12490,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.13.7: - resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + get-tsconfig@4.14.1: + resolution: {integrity: sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A==} giget@3.3.0: resolution: {integrity: sha512-gzi2D96p+AMfDcmJHGDj3KJ9NRiwvlFAU5yfa3ROwWZmFUjX4P43x3BcyRaOMMLto1vUo7C+86+MFhYTl6Ryiw==} @@ -13605,9 +12945,9 @@ packages: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - joi@18.1.2: - resolution: {integrity: sha512-rF5MAmps5esSlhCA+N1b6IYHDw9j/btzGaqfgie522jS02Ju/HXBxamlXVlKEHAxoMKQL77HWI8jlqWsFuekZA==} - engines: {node: '>= 20'} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true jose@6.2.2: resolution: {integrity: sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==} @@ -13697,6 +13037,11 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + knip@6.32.2: + resolution: {integrity: sha512-WXTXbmocrw7gqm1A1TQvFN0OgJ7hUSU6E1g6SPRIzzHFogUBhXByc7cYeOFVtJ2uODg7DP4VbESYBYnfbtBYsg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + kysely@0.28.15: resolution: {integrity: sha512-r2clcf7HLWvDXaVUEvQymXJY4i3bSOIV3xsL/Upy3ZfSv5HeKsk9tsqbBptLvth5qHEIhxeHTA2jNLyQABkLBA==} engines: {node: '>=20.0.0'} @@ -14450,10 +13795,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - normalize-svg-path@1.1.0: resolution: {integrity: sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==} @@ -14558,6 +13899,13 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + oxc-parser@0.143.0: + resolution: {integrity: sha512-ov0NzaDCOInknS7mP1cwKdJERt3utPW8ldjtdUXQ8Ty0GEFD08wk422vCUN0d7pST6kqtV7dxoI9w1Zi0l/9TA==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-resolver@11.24.2: + resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} + oxfmt@0.62.0: resolution: {integrity: sha512-vxgGHTmnDU9j4CX7dDBLzxgmHxfda/yPcgJkGCMUSCwRmz+euo/V08xXLNgXTeqAB9Fhf3Pe2nO1RNKLCVgphQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -14746,6 +14094,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} @@ -14937,10 +14289,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - proxy-from-env@2.1.0: - resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} - engines: {node: '>=10'} - prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} @@ -15302,9 +14650,6 @@ packages: rw@1.3.3: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-array-concat@1.1.4: resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} engines: {node: '>=0.4'} @@ -15414,10 +14759,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} - shiki@4.4.3: resolution: {integrity: sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==} engines: {node: '>=20'} @@ -15481,6 +14822,10 @@ packages: slate@0.110.2: resolution: {integrity: sha512-4xGULnyMCiEQ0Ml7JAC1A6HVE6MNpPJU7Eq4cXh1LxlrR0dFXC3XC+rNfQtUJ7chHoPkws57x7DDiWiZAt+PBA==} + smol-toml@1.8.0: + resolution: {integrity: sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==} + engines: {node: '>= 18'} + socket.io-adapter@2.5.6: resolution: {integrity: sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==} @@ -15617,6 +14962,10 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-json-comments@5.0.3: + resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} + engines: {node: '>=14.16'} + strnum@2.2.2: resolution: {integrity: sha512-DnR90I+jtXNSTXWdwrEy9FakW7UX+qUZg28gj5fk2vxxl7uS/3bpI4fjFYVmdK9etptYBPNkpahuQnEwhwECqA==} @@ -15790,10 +15139,6 @@ packages: resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} engines: {node: '>=20'} - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -15889,6 +15234,10 @@ packages: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} + unbash@4.0.10: + resolution: {integrity: sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==} + engines: {node: '>=14'} + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -16026,11 +15375,6 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - vite-plugin-externalize-deps@0.10.0: - resolution: {integrity: sha512-eQrtpT/Do7AvDn76l1yL6ZHyXJ+UWH2LaHVqhAes9go54qaAnPZuMbgxcroQ/7WY3ZyetZzYW2quQnDF0DV5qg==} - peerDependencies: - vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - vite-plugin-inspect@12.0.0-beta.1: resolution: {integrity: sha512-ang8DMcQxr2MJRjdvwabkD0uOPFB5/fP4hldZvAqCl82SABXK1zYLyZKGrauCblR61cvDUavxyiHbtD4zTdw0A==} engines: {node: '>=14'} @@ -16159,10 +15503,9 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - wait-on@9.0.5: - resolution: {integrity: sha512-qgnbHDfDTRIp73ANEJNRW/7kn8CrDUcvZz18xotJQku/P4saTGkbIzvnMZebPmVvVNUiRq1qWAPyqCH+W4H8KA==} - engines: {node: '>=20.0.0'} - hasBin: true + walk-up-path@4.0.0: + resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} + engines: {node: 20 || >=22} watchpack@2.5.1: resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} @@ -16424,6 +15767,9 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -17205,12 +16551,23 @@ snapshots: '@date-fns/tz@1.4.1': {} + '@emnapi/core@1.11.2': + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 + optional: true + '@emnapi/core@1.9.2': dependencies: '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 optional: true + '@emnapi/runtime@1.11.2': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 @@ -17226,6 +16583,11 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/wasi-threads@1.2.2': + dependencies: + tslib: 2.8.1 + optional: true + '@emoji-mart/data@1.2.1': {} '@emotion/babel-plugin@11.13.5': @@ -17243,6 +16605,7 @@ snapshots: stylis: 4.2.0 transitivePeerDependencies: - supports-color + optional: true '@emotion/cache@11.14.0': dependencies: @@ -17257,6 +16620,7 @@ snapshots: '@emotion/is-prop-valid@1.4.0': dependencies: '@emotion/memoize': 0.9.0 + optional: true '@emotion/memoize@0.9.0': {} @@ -17275,6 +16639,7 @@ snapshots: '@types/react': 19.2.14 transitivePeerDependencies: - supports-color + optional: true '@emotion/serialize@1.3.3': dependencies: @@ -17300,12 +16665,14 @@ snapshots: '@types/react': 19.2.14 transitivePeerDependencies: - supports-color + optional: true '@emotion/unitless@0.10.0': {} '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.5)': dependencies: react: 19.2.5 + optional: true '@emotion/utils@1.4.2': {} @@ -17467,9 +16834,9 @@ snapshots: '@esbuild/win32-x64@0.27.5': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0))': dependencies: - eslint: 9.39.4(jiti@2.6.1) + eslint: 9.39.4(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -17606,22 +16973,6 @@ snapshots: prosemirror-transform: 1.12.0 prosemirror-view: 1.42.2 - '@hapi/address@5.1.1': - dependencies: - '@hapi/hoek': 11.0.7 - - '@hapi/formula@3.0.2': {} - - '@hapi/hoek@11.0.7': {} - - '@hapi/pinpoint@2.0.1': {} - - '@hapi/tlds@1.1.6': {} - - '@hapi/topo@6.0.2': - dependencies: - '@hapi/hoek': 11.0.7 - '@hono/node-server@1.19.14(hono@4.12.14)': dependencies: hono: 4.12.14 @@ -17985,15 +17336,6 @@ snapshots: dependencies: '@chevrotain/types': 11.1.2 - '@mswjs/interceptors@0.37.6': - dependencies: - '@open-draft/deferred-promise': 2.2.0 - '@open-draft/logger': 0.3.0 - '@open-draft/until': 2.1.0 - is-node-process: 1.2.0 - outvariant: 1.4.3 - strict-event-emitter: 0.5.1 - '@mswjs/interceptors@0.39.8': dependencies: '@open-draft/deferred-promise': 2.2.0 @@ -18087,11 +17429,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.1 + '@tybys/wasm-util': 0.10.3 optional: true '@next/env@16.3.0': {} @@ -18402,13 +17751,131 @@ snapshots: '@opentelemetry/api': 1.9.1 '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) - '@orama/orama@3.1.18': {} + '@orama/orama@3.1.18': {} + + '@oxc-parser/binding-android-arm-eabi@0.143.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.143.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.143.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.143.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.143.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.143.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.143.0': + optional: true + + '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.143.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.143.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.143.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.143.0': + optional: true + + '@oxc-parser/binding-openharmony-arm64@0.143.0': + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.143.0': + optional: true + + '@oxc-parser/binding-win32-ia32-msvc@0.143.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.143.0': + optional: true + + '@oxc-project/runtime@0.143.0': {} + + '@oxc-project/types@0.124.0': {} + + '@oxc-project/types@0.143.0': {} + + '@oxc-resolver/binding-android-arm-eabi@11.24.2': + optional: true + + '@oxc-resolver/binding-android-arm64@11.24.2': + optional: true + + '@oxc-resolver/binding-darwin-arm64@11.24.2': + optional: true + + '@oxc-resolver/binding-darwin-x64@11.24.2': + optional: true + + '@oxc-resolver/binding-freebsd-x64@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-x64-musl@11.24.2': + optional: true + + '@oxc-resolver/binding-openharmony-arm64@11.24.2': + optional: true - '@oxc-project/runtime@0.143.0': {} + '@oxc-resolver/binding-wasm32-wasi@11.24.2': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true - '@oxc-project/types@0.124.0': {} + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + optional: true - '@oxc-project/types@0.143.0': {} + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + optional: true '@oxfmt/binding-android-arm-eabi@0.62.0': optional: true @@ -19904,7 +19371,7 @@ snapshots: dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) optional: true '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15': @@ -20741,6 +20208,13 @@ snapshots: tailwindcss: 4.2.2 vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + '@tailwindcss/vite@4.2.2(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + dependencies: + '@tailwindcss/node': 4.2.2 + '@tailwindcss/oxide': 4.2.2 + tailwindcss: 4.2.2 + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + '@tanstack/react-table@8.21.3(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: '@tanstack/table-core': 8.21.3 @@ -20760,16 +20234,6 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': - dependencies: - '@babel/runtime': 7.29.2 - '@testing-library/dom': 10.4.1 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@testing-library/user-event@14.6.3(@testing-library/dom@10.4.1)': dependencies: '@testing-library/dom': 10.4.1 @@ -20867,7 +20331,7 @@ snapshots: path-browserify: 1.0.1 tinyglobby: 0.2.17 - '@tybys/wasm-util@0.10.1': + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true @@ -21014,8 +20478,6 @@ snapshots: '@types/deep-eql@4.0.2': {} - '@types/diff@6.0.0': {} - '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 @@ -21044,22 +20506,10 @@ snapshots: '@types/tough-cookie': 4.0.5 parse5: 7.3.0 - '@types/json-diff@1.0.3': {} - '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} - '@types/katex@0.16.8': {} - - '@types/lodash.foreach@4.5.9': - dependencies: - '@types/lodash': 4.17.24 - - '@types/lodash.groupby@4.6.9': - dependencies: - '@types/lodash': 4.17.24 - '@types/lodash.isequal@4.5.8': dependencies: '@types/lodash': 4.17.24 @@ -21090,7 +20540,8 @@ snapshots: dependencies: '@types/node': 25.6.0 - '@types/parse-json@4.0.2': {} + '@types/parse-json@4.0.2': + optional: true '@types/pg-pool@2.0.7': dependencies: @@ -21356,12 +20807,12 @@ snapshots: '@vercel/oidc@3.0.5': {} - '@vitejs/devtools-kit@0.1.13(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0)': + '@vitejs/devtools-kit@0.1.13(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0)': dependencies: '@vitejs/devtools-rpc': 0.1.13(typescript@7.0.2)(ws@8.20.0) birpc: 4.0.0 ohash: 2.0.11 - vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - typescript - ws @@ -21385,41 +20836,48 @@ snapshots: optionalDependencies: babel-plugin-react-compiler: 1.0.0 - '@vitest/browser-playwright@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10)': + '@vitejs/plugin-react@6.0.1(babel-plugin-react-compiler@1.0.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + dependencies: + '@rolldown/pluginutils': 1.0.0-rc.7 + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + optionalDependencies: + babel-plugin-react-compiler: 1.0.0 + + '@vitest/browser-playwright@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10)': dependencies: - '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) - '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) playwright: 1.60.0 tinyrainbow: 3.1.0 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser-preview@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10)': + '@vitest/browser-preview@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.3(@testing-library/dom@10.4.1) - '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10)': + '@vitest/browser@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10)': dependencies: '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) '@vitest/utils': 4.1.10 magic-string: 0.30.21 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.0 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) ws: 8.20.0 transitivePeerDependencies: - bufferutil @@ -21436,14 +20894,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.11.5(@types/node@25.6.0)(typescript@7.0.2) - vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) '@vitest/pretty-format@4.1.10': dependencies: @@ -21476,7 +20934,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) '@vitest/utils@4.1.10': dependencies: @@ -21516,6 +20974,32 @@ snapshots: typescript: 7.0.2 yaml: 2.9.0 + '@voidzero-dev/vite-plus-core@0.2.9(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(yaml@2.9.0)': + dependencies: + '@oxc-project/runtime': 0.143.0 + '@oxc-project/types': 0.143.0 + lightningcss: 1.33.0 + postcss: 8.5.14 + yuku-codegen: 0.5.48 + yuku-parser: 0.5.48 + optionalDependencies: + '@types/node': 25.6.0 + '@voidzero-dev/vite-plus-darwin-arm64': 0.2.9 + '@voidzero-dev/vite-plus-darwin-x64': 0.2.9 + '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.9 + '@voidzero-dev/vite-plus-linux-arm64-musl': 0.2.9 + '@voidzero-dev/vite-plus-linux-x64-gnu': 0.2.9 + '@voidzero-dev/vite-plus-linux-x64-musl': 0.2.9 + '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.2.9 + '@voidzero-dev/vite-plus-win32-x64-msvc': 0.2.9 + esbuild: 0.27.5 + fsevents: 2.3.3 + jiti: 2.7.0 + terser: 5.46.2 + tsx: 4.21.0 + typescript: 7.0.2 + yaml: 2.9.0 + '@voidzero-dev/vite-plus-darwin-arm64@0.2.9': optional: true @@ -21920,40 +21404,21 @@ snapshots: async-limiter@1.0.1: optional: true - asynckit@0.4.0: {} - atomically@2.1.1: dependencies: stubborn-fs: 2.0.0 when-exit: 2.1.5 - autoprefixer@10.4.21(postcss@8.5.14): - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001787 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.14 - postcss-value-parser: 4.2.0 - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - axios@1.15.0: - dependencies: - follow-redirects: 1.16.0 - form-data: 4.0.5 - proxy-from-env: 2.1.0 - transitivePeerDependencies: - - debug - babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.29.2 cosmiconfig: 7.1.0 resolve: 1.22.12 + optional: true babel-plugin-react-compiler@1.0.0: dependencies: @@ -21993,7 +21458,7 @@ snapshots: pg: 8.20.0 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) better-call@1.1.8(zod@4.3.6): dependencies: @@ -22268,10 +21733,6 @@ snapshots: dependencies: color-name: 2.1.0 - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - comma-separated-tokens@2.0.3: {} commander@13.1.0: {} @@ -22304,16 +21765,6 @@ snapshots: concat-map@0.0.1: {} - concurrently@9.1.2: - dependencies: - chalk: 4.1.2 - lodash: 4.18.1 - rxjs: 7.8.2 - shell-quote: 1.8.3 - supports-color: 8.1.1 - tree-kill: 1.2.2 - yargs: 17.7.2 - conf@15.1.0: dependencies: ajv: 8.20.0 @@ -22334,7 +21785,8 @@ snapshots: convert-gitmoji@0.1.5: {} - convert-source-map@1.9.0: {} + convert-source-map@1.9.0: + optional: true convert-source-map@2.0.0: {} @@ -22364,6 +21816,7 @@ snapshots: parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.3 + optional: true countries-list@3.3.0: {} @@ -22668,8 +22121,6 @@ snapshots: dependencies: robust-predicates: 3.0.3 - delayed-stream@1.0.0: {} - dequal@2.0.3: {} destr@2.0.5: {} @@ -22806,6 +22257,7 @@ snapshots: error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 + optional: true error-stack-parser-es@1.0.5: {} @@ -22981,16 +22433,16 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.6.1)): + eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)): dependencies: debug: 3.2.7 optionalDependencies: - eslint: 9.39.4(jiti@2.6.1) + eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.6.1)): + eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -22999,9 +22451,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.39.4(jiti@2.6.1) + eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.6.1)) + eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -23031,9 +22483,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.39.4(jiti@2.6.1): + eslint@9.39.4(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.21.2 '@eslint/config-helpers': 0.4.2 @@ -23068,7 +22520,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.6.1 + jiti: 2.7.0 transitivePeerDependencies: - supports-color @@ -23193,10 +22645,18 @@ snapshots: path-expression-matcher: 1.2.0 strnum: 2.2.2 + fd-package-json@2.0.0: + dependencies: + walk-up-path: 4.0.0 + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: picomatch: 4.0.4 + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + fflate@0.8.3: {} file-entry-cache@8.0.0: @@ -23205,7 +22665,8 @@ snapshots: file-uri-to-path@1.0.0: {} - find-root@1.1.0: {} + find-root@1.1.0: + optional: true find-up@5.0.0: dependencies: @@ -23219,8 +22680,6 @@ snapshots: flatted@3.4.2: {} - follow-redirects@1.16.0: {} - fontkit@2.0.4: dependencies: '@swc/helpers': 0.5.21 @@ -23242,18 +22701,12 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.5: + formatly@0.3.0: dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 + fd-package-json: 2.0.0 forwarded-parse@2.1.2: {} - fraction.js@4.3.7: {} - framer-motion@12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: motion-dom: 12.38.0 @@ -23307,7 +22760,7 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-mdx@14.2.11(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)): + fumadocs-mdx@14.2.11(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.5.0(@types/react@19.2.14)(lucide-react@0.562.0(react@19.2.5))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(zod@4.3.6))(next@16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 @@ -23333,7 +22786,7 @@ snapshots: '@types/react': 19.2.14 next: 16.3.0(@babel/core@7.29.0)(@opentelemetry/api@1.9.1)(@playwright/test@1.60.0)(@types/node@25.6.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) react: 19.2.5 - vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - supports-color @@ -23431,7 +22884,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.13.7: + get-tsconfig@4.14.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -23583,6 +23036,7 @@ snapshots: hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 + optional: true hono@4.12.14: {} @@ -23708,7 +23162,8 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-arrayish@0.2.1: {} + is-arrayish@0.2.1: + optional: true is-async-function@2.1.1: dependencies: @@ -23894,15 +23349,7 @@ snapshots: jiti@2.6.1: {} - joi@18.1.2: - dependencies: - '@hapi/address': 5.1.1 - '@hapi/formula': 3.0.2 - '@hapi/hoek': 11.0.7 - '@hapi/pinpoint': 2.0.1 - '@hapi/tlds': 1.1.6 - '@hapi/topo': 6.0.2 - '@standard-schema/spec': 1.1.0 + jiti@2.7.0: {} jose@6.2.2: {} @@ -23994,6 +23441,22 @@ snapshots: kleur@3.0.3: {} + knip@6.32.2: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + formatly: 0.3.0 + get-tsconfig: 4.14.1 + jiti: 2.7.0 + oxc-parser: 0.143.0 + oxc-resolver: 11.24.2 + picomatch: 4.0.5 + smol-toml: 1.8.0 + strip-json-comments: 5.0.3 + tinyglobby: 0.2.17 + unbash: 4.0.10 + yaml: 2.9.0 + zod: 4.4.3 + kysely@0.28.15: {} layout-base@1.0.2: {} @@ -24178,7 +23641,8 @@ snapshots: base64-js: 0.0.8 unicode-trie: 2.0.0 - lines-and-columns@1.2.4: {} + lines-and-columns@1.2.4: + optional: true loader-runner@4.3.2: {} @@ -24936,8 +24400,6 @@ snapshots: normalize-path@3.0.0: {} - normalize-range@0.1.2: {} - normalize-svg-path@1.1.0: dependencies: svg-arc-to-cubic-bezier: 3.2.0 @@ -25077,7 +24539,78 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxfmt@0.62.0(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)): + oxc-parser@0.143.0: + dependencies: + '@oxc-project/types': 0.143.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.143.0 + '@oxc-parser/binding-android-arm64': 0.143.0 + '@oxc-parser/binding-darwin-arm64': 0.143.0 + '@oxc-parser/binding-darwin-x64': 0.143.0 + '@oxc-parser/binding-freebsd-x64': 0.143.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.143.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.143.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.143.0 + '@oxc-parser/binding-linux-arm64-musl': 0.143.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.143.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.143.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.143.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.143.0 + '@oxc-parser/binding-linux-x64-gnu': 0.143.0 + '@oxc-parser/binding-linux-x64-musl': 0.143.0 + '@oxc-parser/binding-openharmony-arm64': 0.143.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.143.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.143.0 + '@oxc-parser/binding-win32-x64-msvc': 0.143.0 + + oxc-resolver@11.24.2: + optionalDependencies: + '@oxc-resolver/binding-android-arm-eabi': 11.24.2 + '@oxc-resolver/binding-android-arm64': 11.24.2 + '@oxc-resolver/binding-darwin-arm64': 11.24.2 + '@oxc-resolver/binding-darwin-x64': 11.24.2 + '@oxc-resolver/binding-freebsd-x64': 11.24.2 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.24.2 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.24.2 + '@oxc-resolver/binding-linux-arm64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-arm64-musl': 11.24.2 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-riscv64-musl': 11.24.2 + '@oxc-resolver/binding-linux-s390x-gnu': 11.24.2 + '@oxc-resolver/binding-linux-x64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-x64-musl': 11.24.2 + '@oxc-resolver/binding-openharmony-arm64': 11.24.2 + '@oxc-resolver/binding-wasm32-wasi': 11.24.2 + '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2 + '@oxc-resolver/binding-win32-x64-msvc': 11.24.2 + + oxfmt@0.62.0(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)): + dependencies: + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.62.0 + '@oxfmt/binding-android-arm64': 0.62.0 + '@oxfmt/binding-darwin-arm64': 0.62.0 + '@oxfmt/binding-darwin-x64': 0.62.0 + '@oxfmt/binding-freebsd-x64': 0.62.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.62.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.62.0 + '@oxfmt/binding-linux-arm64-gnu': 0.62.0 + '@oxfmt/binding-linux-arm64-musl': 0.62.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.62.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.62.0 + '@oxfmt/binding-linux-riscv64-musl': 0.62.0 + '@oxfmt/binding-linux-s390x-gnu': 0.62.0 + '@oxfmt/binding-linux-x64-gnu': 0.62.0 + '@oxfmt/binding-linux-x64-musl': 0.62.0 + '@oxfmt/binding-openharmony-arm64': 0.62.0 + '@oxfmt/binding-win32-arm64-msvc': 0.62.0 + '@oxfmt/binding-win32-ia32-msvc': 0.62.0 + '@oxfmt/binding-win32-x64-msvc': 0.62.0 + vite-plus: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + + oxfmt@0.62.0(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)): dependencies: tinypool: 2.1.0 optionalDependencies: @@ -25100,7 +24633,7 @@ snapshots: '@oxfmt/binding-win32-arm64-msvc': 0.62.0 '@oxfmt/binding-win32-ia32-msvc': 0.62.0 '@oxfmt/binding-win32-x64-msvc': 0.62.0 - vite-plus: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + vite-plus: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) oxlint-tsgolint@7.0.2001: optionalDependencies: @@ -25111,7 +24644,31 @@ snapshots: '@oxlint-tsgolint/win32-arm64': 7.0.2001 '@oxlint-tsgolint/win32-x64': 7.0.2001 - oxlint@1.77.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)): + oxlint@1.77.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.77.0 + '@oxlint/binding-android-arm64': 1.77.0 + '@oxlint/binding-darwin-arm64': 1.77.0 + '@oxlint/binding-darwin-x64': 1.77.0 + '@oxlint/binding-freebsd-x64': 1.77.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.77.0 + '@oxlint/binding-linux-arm-musleabihf': 1.77.0 + '@oxlint/binding-linux-arm64-gnu': 1.77.0 + '@oxlint/binding-linux-arm64-musl': 1.77.0 + '@oxlint/binding-linux-ppc64-gnu': 1.77.0 + '@oxlint/binding-linux-riscv64-gnu': 1.77.0 + '@oxlint/binding-linux-riscv64-musl': 1.77.0 + '@oxlint/binding-linux-s390x-gnu': 1.77.0 + '@oxlint/binding-linux-x64-gnu': 1.77.0 + '@oxlint/binding-linux-x64-musl': 1.77.0 + '@oxlint/binding-openharmony-arm64': 1.77.0 + '@oxlint/binding-win32-arm64-msvc': 1.77.0 + '@oxlint/binding-win32-ia32-msvc': 1.77.0 + '@oxlint/binding-win32-x64-msvc': 1.77.0 + oxlint-tsgolint: 7.0.2001 + vite-plus: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + + oxlint@1.77.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.77.0 '@oxlint/binding-android-arm64': 1.77.0 @@ -25133,7 +24690,7 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.77.0 '@oxlint/binding-win32-x64-msvc': 1.77.0 oxlint-tsgolint: 7.0.2001 - vite-plus: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + vite-plus: 0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) p-limit@3.1.0: dependencies: @@ -25188,6 +24745,7 @@ snapshots: error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + optional: true parse-svg-path@0.1.2: {} @@ -25234,7 +24792,8 @@ snapshots: path-to-regexp@8.4.2: {} - path-type@4.0.0: {} + path-type@4.0.0: + optional: true pathe@2.0.3: {} @@ -25283,6 +24842,8 @@ snapshots: picomatch@4.0.4: {} + picomatch@4.0.5: {} + pkg-types@2.3.0: dependencies: confbox: 0.2.4 @@ -25474,8 +25035,6 @@ snapshots: proxy-from-env@1.1.0: {} - proxy-from-env@2.1.0: {} - prr@1.0.1: optional: true @@ -25913,6 +25472,7 @@ snapshots: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + optional: true resolve@2.0.0-next.6: dependencies: @@ -26011,10 +25571,6 @@ snapshots: rw@1.3.3: {} - rxjs@7.8.2: - dependencies: - tslib: 2.8.1 - safe-array-concat@1.1.4: dependencies: call-bind: 1.0.9 @@ -26170,8 +25726,6 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.3: {} - shiki@4.4.3: dependencies: '@shikijs/core': 4.4.3 @@ -26262,6 +25816,8 @@ snapshots: is-plain-object: 5.0.0 tiny-warning: 1.0.3 + smol-toml@1.8.0: {} + socket.io-adapter@2.5.6: dependencies: debug: 4.4.3 @@ -26299,7 +25855,8 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.7: {} + source-map@0.5.7: + optional: true source-map@0.6.1: {} @@ -26415,6 +25972,8 @@ snapshots: strip-json-comments@3.1.1: {} + strip-json-comments@5.0.3: {} + strnum@2.2.2: {} structured-clone-es@2.0.0: {} @@ -26559,8 +26118,6 @@ snapshots: dependencies: punycode: 2.3.1 - tree-kill@1.2.2: {} - trim-lines@3.0.1: {} trough@2.2.0: {} @@ -26590,7 +26147,7 @@ snapshots: tsx@4.21.0: dependencies: esbuild: 0.27.5 - get-tsconfig: 4.13.7 + get-tsconfig: 4.14.1 optionalDependencies: fsevents: 2.3.3 @@ -26686,6 +26243,8 @@ snapshots: uint8array-extras@1.5.0: {} + unbash@4.0.10: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -26871,13 +26430,9 @@ snapshots: - tsx - yaml - vite-plugin-externalize-deps@0.10.0(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)): - dependencies: - vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) - - vite-plugin-inspect@12.0.0-beta.1(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0): + vite-plugin-inspect@12.0.0-beta.1(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0): dependencies: - '@vitejs/devtools-kit': 0.1.13(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0) + '@vitejs/devtools-kit': 0.1.13(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(ws@8.20.0) ansis: 4.2.0 error-stack-parser-es: 1.0.5 obug: 2.1.1 @@ -26886,19 +26441,19 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - typescript - ws - vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0): + vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0): dependencies: '@oxc-project/types': 0.143.0 '@oxlint/plugins': 1.73.0 - '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) - '@vitest/browser-preview': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -26906,12 +26461,71 @@ snapshots: '@vitest/ui': 4.1.5(vitest@4.1.10) '@vitest/utils': 4.1.10 '@voidzero-dev/vite-plus-core': 0.2.9(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(yaml@2.9.0) - oxfmt: 0.62.0(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)) - oxlint: 1.77.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)) + oxfmt: 0.62.0(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)) + oxlint: 1.77.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)) + oxlint-tsgolint: 7.0.2001 + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + optionalDependencies: + '@vitest/browser-playwright': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@voidzero-dev/vite-plus-darwin-arm64': 0.2.9 + '@voidzero-dev/vite-plus-darwin-x64': 0.2.9 + '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.9 + '@voidzero-dev/vite-plus-linux-arm64-musl': 0.2.9 + '@voidzero-dev/vite-plus-linux-x64-gnu': 0.2.9 + '@voidzero-dev/vite-plus-linux-x64-musl': 0.2.9 + '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.2.9 + '@voidzero-dev/vite-plus-win32-x64-msvc': 0.2.9 + transitivePeerDependencies: + - '@arethetypeswrong/core' + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@types/node' + - '@vitejs/devtools' + - '@vitest/coverage-istanbul' + - '@vitest/coverage-v8' + - bufferutil + - esbuild + - happy-dom + - jiti + - jsdom + - less + - msw + - publint + - sass + - sass-embedded + - stylus + - sugarss + - svelte + - terser + - tsx + - typescript + - unplugin-unused + - unrun + - utf-8-validate + - vite + - yaml + + vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0): + dependencies: + '@oxc-project/types': 0.143.0 + '@oxlint/plugins': 1.73.0 + '@vitest/browser': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/ui': 4.1.5(vitest@4.1.10) + '@vitest/utils': 4.1.10 + '@voidzero-dev/vite-plus-core': 0.2.9(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(yaml@2.9.0) + oxfmt: 0.62.0(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)) + oxlint: 1.77.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.9(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(esbuild@0.27.5)(jiti@2.7.0)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(terser@5.46.2)(tsx@4.21.0)(typescript@7.0.2)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)) oxlint-tsgolint: 7.0.2001 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) optionalDependencies: - '@vitest/browser-playwright': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser-playwright': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) '@voidzero-dev/vite-plus-darwin-arm64': 0.2.9 '@voidzero-dev/vite-plus-darwin-x64': 0.2.9 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.9 @@ -26953,7 +26567,7 @@ snapshots: vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 - picomatch: 4.0.4 + picomatch: 4.0.5 postcss: 8.5.23 rolldown: 1.0.0-rc.15 tinyglobby: 0.2.17 @@ -26966,19 +26580,35 @@ snapshots: tsx: 4.21.0 yaml: 2.9.0 + vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + dependencies: + lightningcss: 1.33.0 + picomatch: 4.0.5 + postcss: 8.5.23 + rolldown: 1.0.0-rc.15 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 25.6.0 + esbuild: 0.27.5 + fsevents: 2.3.3 + jiti: 2.7.0 + terser: 5.46.2 + tsx: 4.21.0 + yaml: 2.9.0 + vitest-browser-react@2.2.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.10): dependencies: react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) optionalDependencies: '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)): + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.10)(@vitest/browser-preview@4.1.10)(@vitest/ui@4.1.5)(jsdom@29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0))(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -26989,19 +26619,19 @@ snapshots: magic-string: 0.30.21 obug: 2.1.1 pathe: 2.0.3 - picomatch: 4.0.4 + picomatch: 4.0.5 std-env: 4.0.0 tinybench: 2.9.0 tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 25.6.0 - '@vitest/browser-playwright': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) - '@vitest/browser-preview': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser-playwright': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(playwright@1.60.0)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(msw@2.11.5(@types/node@25.6.0)(typescript@7.0.2))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.5)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(vitest@4.1.10) '@vitest/ui': 4.1.5(vitest@4.1.10) jsdom: 29.0.2(@noble/hashes@2.0.1)(canvas@3.1.0) transitivePeerDependencies: @@ -27013,15 +26643,7 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - wait-on@9.0.5: - dependencies: - axios: 1.15.0 - joi: 18.1.2 - lodash: 4.18.1 - minimist: 1.2.8 - rxjs: 7.8.2 - transitivePeerDependencies: - - debug + walk-up-path@4.0.0: {} watchpack@2.5.1: dependencies: @@ -27252,7 +26874,8 @@ snapshots: yallist@3.1.1: {} - yaml@1.10.3: {} + yaml@1.10.3: + optional: true yaml@2.9.0: {} @@ -27316,4 +26939,6 @@ snapshots: zod@4.3.6: {} + zod@4.4.3: {} + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c48f3d7dbe..06701a2e24 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -73,6 +73,8 @@ patchedDependencies: katex@0.16.47: patches/katex@0.16.47.patch, } catalog: + # `vite` is referenced via getCatalogVersion("vite") in + # packages/dev-scripts/examples/template-react/package.json.template.tsx vite: ^8.0.0 vite-plus: ^0.2.9 minimumReleaseAgeExclude: diff --git a/shared/formatConversionTestUtil.ts b/shared/formatConversionTestUtil.ts index 1fdab51b45..85b6b27e5b 100644 --- a/shared/formatConversionTestUtil.ts +++ b/shared/formatConversionTestUtil.ts @@ -225,7 +225,7 @@ export function partialBlockToBlockForTesting< } as any; } -export function addIdsToBlock(block: PartialBlock) { +function addIdsToBlock(block: PartialBlock) { if (!block.id) { block.id = UniqueID.options.generateID(); } diff --git a/shared/util/binaryFileSnapshotUtil.ts b/shared/util/binaryFileSnapshotUtil.ts deleted file mode 100644 index 6b2e276b2c..0000000000 --- a/shared/util/binaryFileSnapshotUtil.ts +++ /dev/null @@ -1,73 +0,0 @@ -import fs from "fs"; -import path from "path"; -const NAME_WORKER_STATE = "__vitest_worker__"; - -// from https://github.com/vitest-dev/vitest/blob/main/packages/vitest/src/runtime/utils.ts#L8 -export function getWorkerState(): any { - // @ts-expect-error untyped global - const workerState = globalThis[NAME_WORKER_STATE]; - if (!workerState) { - const errorMsg = - "Vitest failed to access its internal state." + - "\n\nOne of the following is possible:" + - '\n- "vitest" is imported directly without running "vitest" command' + - '\n- "vitest" is imported inside "globalSetup" (to fix this, use "setupFiles" instead, because "globalSetup" runs in a different context)' + - "\n- Otherwise, it might be a Vitest bug. Please report it to https://github.com/vitest-dev/vitest/issues\n"; - throw new Error(errorMsg); - } - return workerState; -} - -function getSnapshotOptions() { - const option: "new" | "all" | "none" = - getWorkerState().ctx.config.snapshotOptions.updateSnapshot; - return option; -} - -// async function createMD5FromBuffer(buffer: Buffer) { -// const hash = crypto.createHash("md5"); -// hash.update(buffer); -// return hash.digest("hex"); -// } - -// async function createMD5FromFile(filePath: string) { -// const hash = crypto.createHash("md5"); - -// if (!fs.existsSync(filePath)) { -// return undefined; -// } - -// await pipeline(fs.createReadStream(filePath), async function (source) { -// for await (const chunk of source) { -// hash.update(chunk); -// } -// }); - -// return hash.digest("hex"); -// } - -export async function toMatchBinaryFileSnapshot( - buffer: Buffer, - filepath: string, -) { - const fileBuffer = fs.existsSync(filepath) - ? fs.readFileSync(filepath) - : undefined; - - const same = fileBuffer && buffer.equals(fileBuffer); // && bufferMD5 === fileMD5; - - const option = getSnapshotOptions(); - - if (same) { - return; - } - - if (option === "none" || (option === "new" && fileBuffer !== undefined)) { - throw new Error(`${filepath} not matching `); - } - - // create dir if not exists - fs.mkdirSync(path.dirname(filepath), { recursive: true }); - - fs.writeFileSync(filepath, buffer); -} diff --git a/shared/util/fileUtil.ts b/shared/util/fileUtil.ts index 71601a90db..f47cea6ebe 100644 --- a/shared/util/fileUtil.ts +++ b/shared/util/fileUtil.ts @@ -4,7 +4,7 @@ * TODO: should find a way to test automatically in all environments */ -export async function loadFileDataUrl( +async function loadFileDataUrl( requireUrl: { default: string }, mimeType: string, ) { diff --git a/tests/nextjs-test-app/app/shared-schema.tsx b/tests/nextjs-test-app/app/shared-schema.tsx index 33ae9a7b1d..6c34f5571c 100644 --- a/tests/nextjs-test-app/app/shared-schema.tsx +++ b/tests/nextjs-test-app/app/shared-schema.tsx @@ -6,7 +6,7 @@ import { import { createReactBlockSpec } from "@blocknote/react"; // Custom React block shared between API route and editor page -export const SimpleReactCustomParagraph = createReactBlockSpec( +const SimpleReactCustomParagraph = createReactBlockSpec( { type: "simpleReactCustomParagraph" as const, propSchema: defaultProps, diff --git a/tests/package.json b/tests/package.json index bef2956fcc..cd5ba35dd0 100644 --- a/tests/package.json +++ b/tests/package.json @@ -11,17 +11,16 @@ "devDependencies": { "@blocknote/ariakit": "workspace:^", "@blocknote/core": "workspace:^", - "@blocknote/mantine": "workspace:^", "@blocknote/diagram-block": "workspace:^", - "@blocknote/xl-email-exporter": "workspace:^", - "@blocknote/xl-pdf-exporter": "workspace:^", - "@react-pdf/renderer": "^4.5.1", - "pdfjs-dist": "^4.10.38", + "@blocknote/mantine": "workspace:^", "@blocknote/math-block": "workspace:^", "@blocknote/react": "workspace:^", "@blocknote/shadcn": "workspace:^", + "@blocknote/xl-email-exporter": "workspace:^", "@blocknote/xl-multi-column": "workspace:^", + "@blocknote/xl-pdf-exporter": "workspace:^", "@playwright/test": "1.60.0", + "@react-pdf/renderer": "^4.5.1", "@tailwindcss/vite": "^4.1.14", "@tiptap/pm": "^3.29.2", "@types/node": "^20.19.22", @@ -32,9 +31,10 @@ "@y/protocols": "^1.0.6-rc.1", "@y/y": "^14.0.0-rc.23", "htmlfy": "^0.6.7", + "jsdom": "^29.0.2", + "pdfjs-dist": "^4.10.38", "react": "^19.2.5", "react-dom": "^19.2.5", - "react-icons": "^5.5.0", "rimraf": "^5.0.10", "vite-plus": "catalog:", "vitest-browser-react": "^2.2.0" diff --git a/tests/src/end-to-end/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx b/tests/src/end-to-end/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx index fc0557cfa3..04498d1270 100644 --- a/tests/src/end-to-end/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx +++ b/tests/src/end-to-end/y-prosemirror/fixtures/concurrentSuggestionFixture.tsx @@ -46,7 +46,7 @@ import * as Y from "@y/y"; import { render } from "vitest-browser-react"; import { page } from "../../../utils/context.js"; -export interface ConcurrentSuggestionUser { +interface ConcurrentSuggestionUser { editor: GalleryEditor; testId: string; } diff --git a/tests/src/end-to-end/y-prosemirror/fixtures/suggestionFixture.tsx b/tests/src/end-to-end/y-prosemirror/fixtures/suggestionFixture.tsx index f3e12560d9..a103c6c210 100644 --- a/tests/src/end-to-end/y-prosemirror/fixtures/suggestionFixture.tsx +++ b/tests/src/end-to-end/y-prosemirror/fixtures/suggestionFixture.tsx @@ -191,7 +191,7 @@ function countBlocks(blocks: { children?: unknown[] }[]): number { * The binding flushes a whole transaction atomically, so once the block count * matches the editor's document the structural content has been written. */ -export async function waitForYDocSync( +async function waitForYDocSync( editor: GalleryEditor, baseDoc: Y.Doc, ): Promise { @@ -348,8 +348,8 @@ function opToXml(op: DeltaInsertOp): string { // concurrent merge of two marks), which would otherwise make these // snapshots flaky. Sorted ascending => the alphabetically-first mark // ends up innermost (e.g. `world`). - for (const [name, value] of Object.entries(op.format ?? {}).sort(([a], [b]) => - a < b ? -1 : a > b ? 1 : 0, + for (const [name, value] of Object.entries(op.format ?? {}).sort( + ([a], [b]) => (a < b ? -1 : a > b ? 1 : 0), )) { if (value !== null && typeof value === "object") { // Object value: trivial empty `{}` renders as a bare tag, richer diff --git a/tests/src/unit/shared/clipboard/copy/copyTestExecutors.ts b/tests/src/unit/shared/clipboard/copy/copyTestExecutors.ts index ecd19136a2..11f9e7d798 100644 --- a/tests/src/unit/shared/clipboard/copy/copyTestExecutors.ts +++ b/tests/src/unit/shared/clipboard/copy/copyTestExecutors.ts @@ -11,26 +11,6 @@ import { import { initTestEditor } from "../../testUtil.js"; import { CopyTestCase } from "./copyTestCase.js"; -export const testCopyBlockNoteHTML = async < - B extends BlockSchema, - I extends InlineContentSchema, - S extends StyleSchema, ->( - editor: BlockNoteEditor, - testCase: CopyTestCase, -) => { - initTestEditor(editor, testCase.document, testCase.getCopySelection); - - const { clipboardHTML } = selectedFragmentToHTML( - editor.prosemirrorView, - editor, - ); - - await expect(prettify(clipboardHTML, { tag_wrap: true })).toMatchFileSnapshot( - `./__snapshots__/blocknote/html/${testCase.name}.html`, - ); -}; - export const testCopyHTML = async < B extends BlockSchema, I extends InlineContentSchema, diff --git a/tests/src/unit/types.ts b/tests/src/unit/types.ts index 9bbd8b83cf..82863962ae 100644 --- a/tests/src/unit/types.ts +++ b/tests/src/unit/types.ts @@ -5,7 +5,7 @@ import { StyleSchema, } from "@blocknote/core"; -export type TestExecutor< +type TestExecutor< TestCase, B extends BlockSchema, I extends InlineContentSchema, diff --git a/tests/src/utils/context.ts b/tests/src/utils/context.ts index ad25d7157f..cea90b5c7f 100644 --- a/tests/src/utils/context.ts +++ b/tests/src/utils/context.ts @@ -4,7 +4,7 @@ import { commands, page, server, userEvent } from "vite-plus/test/browser"; // with a generated virtual module while running in Browser Mode. Import it from // this single place so the e2e utils + tests share one `userEvent` instance // (it preserves keyboard/pointer state across calls) and one command surface. -export { commands, page, server, userEvent }; +export { commands, page, userEvent }; /** The browser instance the current test is running in. */ export const browserName = server.browser as "chromium" | "firefox" | "webkit"; diff --git a/tests/src/utils/copypaste.ts b/tests/src/utils/copypaste.ts index d6d08991e0..1f26694e8a 100644 --- a/tests/src/utils/copypaste.ts +++ b/tests/src/utils/copypaste.ts @@ -1,7 +1,7 @@ import { DOC_TRAILING_BLOCK_SELECTOR } from "./const.js"; import { MOD, userEvent } from "./context.js"; -export function selectAll() { +function selectAll() { return userEvent.keyboard(`{${MOD}>}a{/${MOD}}`); } diff --git a/tests/src/utils/customblocks/Alert.tsx b/tests/src/utils/customblocks/Alert.tsx deleted file mode 100644 index 103c9d3e25..0000000000 --- a/tests/src/utils/customblocks/Alert.tsx +++ /dev/null @@ -1,155 +0,0 @@ -/* eslint-disable no-console */ -import { - BlockNoteEditor, - BlockSchemaWithBlock, - PartialBlock, - addNodeAndExtensionsToSpec, - defaultProps, -} from "@blocknote/core"; - -import { RiAlertFill } from "react-icons/ri"; -const values = { - warning: { - icon: "⚠️", - backgroundColor: "#fbf3db", - }, - error: { - icon: "❌", - backgroundColor: "#fbe4e4", - }, - info: { - icon: "ℹ️", - backgroundColor: "#ddebf1", - }, - success: { - icon: "✅", - backgroundColor: "#ddedea", - }, -} as const; - -export const Alert = addNodeAndExtensionsToSpec( - { - type: "alert" as const, - propSchema: { - textAlignment: defaultProps.textAlignment, - textColor: defaultProps.textColor, - type: { - default: "warning", - values: ["warning", "error", "info", "success"], - }, - }, - content: "inline", - }, - { - render: (block, editor) => { - // Tests to see if types are correct: - - const test: "alert" = block.type; - console.log(test); - - // @ts-expect-error - const test1: "othertype" = block.type; - console.log(test1); - - const parent = document.createElement("div"); - parent.setAttribute( - "style", - `display: flex; background-color: ${ - values[block.props.type as keyof typeof values].backgroundColor - }`, - ); - - const icon = document.createElement("div"); - icon.innerText = values[block.props.type as keyof typeof values].icon; - icon.setAttribute("contenteditable", "false"); - icon.setAttribute( - "style", - "margin-right: 0.5rem; user-select: none; cursor: pointer;", - ); - icon.addEventListener("click", () => { - const type = editor.getBlock(block)!.props.type; - - if (type === "warning") { - parent.setAttribute( - "style", - `display: flex; background-color: ${values["error"].backgroundColor}`, - ); - editor.updateBlock(editor.getBlock(block)!, { - props: { - type: "error", - }, - }); - } else if (type === "error") { - parent.setAttribute( - "style", - `display: flex; background-color: ${values["info"].backgroundColor}`, - ); - editor.updateBlock(editor.getBlock(block)!, { - props: { - type: "info", - }, - }); - } else if (type === "info") { - parent.setAttribute( - "style", - `display: flex; background-color: ${values["success"].backgroundColor}`, - ); - editor.updateBlock(editor.getBlock(block)!, { - props: { - type: "success", - }, - }); - } else if (type === "success") { - parent.setAttribute( - "style", - `display: flex; background-color: ${values["warning"].backgroundColor}`, - ); - editor.updateBlock(editor.getBlock(block)!, { - props: { - type: "warning", - }, - }); - } else { - throw new Error("Unknown alert type"); - } - }); - - const text = document.createElement("div"); - - parent.appendChild(icon); - parent.appendChild(text); - - return { - dom: parent, - contentDOM: text, - }; - }, - }, -); - -export const insertAlert = (editor: BlockNoteEditor) => ({ - title: "Insert Alert", - onItemClick: () => { - const block: PartialBlock< - BlockSchemaWithBlock<"alert", (typeof Alert)["config"]>, - any, - any - > = { - type: "alert", - }; - - editor.insertBlocks([block], editor.getTextCursorPosition().block, "after"); - }, - subtext: "Insert an alert block to emphasize text", - icon: , - aliases: [ - "alert", - "notification", - "emphasize", - "warning", - "error", - "info", - "success", - ], - group: "Other", -}); diff --git a/tests/src/utils/customblocks/Button.tsx b/tests/src/utils/customblocks/Button.tsx deleted file mode 100644 index 07672cbb8c..0000000000 --- a/tests/src/utils/customblocks/Button.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import { - BlockNoteEditor, - addNodeAndExtensionsToSpec, - defaultProps, -} from "@blocknote/core"; -import { RiRadioButtonFill } from "react-icons/ri"; - -export const Button = addNodeAndExtensionsToSpec( - { - type: "button" as const, - propSchema: { - backgroundColor: defaultProps.backgroundColor, - } as const, - content: "none", - }, - { - render: (block, editor) => { - const button = document.createElement("button"); - button.innerText = "Insert Block Below"; - button.addEventListener("click", () => { - editor.insertBlocks( - [ - { - type: "paragraph", - content: "Hello World", - } as any, // TODO - ], - editor.getBlock(block)!, - "after", - ); - }); - - return { - dom: button, - }; - }, - }, -); - -export const insertButton = { - title: "Insert Button", - onItemClick: (editor: BlockNoteEditor) => { - editor.insertBlocks( - [ - { - type: "button", - }, - ], - editor.getTextCursorPosition().block, - "after", - ); - }, - subtext: "Insert a button which inserts a block below it", - icon: , - aliases: ["button", "click", "action"], - group: "Other", -}; diff --git a/tests/src/utils/customblocks/Embed.tsx b/tests/src/utils/customblocks/Embed.tsx deleted file mode 100644 index 2d55e28c54..0000000000 --- a/tests/src/utils/customblocks/Embed.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { BlockNoteEditor, addNodeAndExtensionsToSpec } from "@blocknote/core"; - -import { RiLayout5Fill } from "react-icons/ri"; - -export const Embed = addNodeAndExtensionsToSpec( - { - type: "embed" as const, - propSchema: { - src: { - default: "https://www.youtube.com/embed/wjfuB8Xjhc4", - }, - } as const, - content: "none", - }, - { - render: (block) => { - const embed = document.createElement("iframe"); - embed.setAttribute("src", block.props.src); - embed.setAttribute("contenteditable", "false"); - embed.setAttribute("border", "1px solid black"); - embed.setAttribute("width", "500px"); - embed.setAttribute("height", "300px"); - - return { - dom: embed, - }; - }, - }, -); - -export const insertEmbed = { - title: "Insert Embedded Website", - onItemClick: (editor: BlockNoteEditor) => { - const src = prompt("Enter website URL"); - editor.insertBlocks( - [ - { - type: "embed", - props: { - src: src || "https://www.youtube.com/embed/wjfuB8Xjhc4", - }, - }, - ], - editor.getTextCursorPosition().block, - "after", - ); - }, - subtext: "Insert an embedded website", - icon: , - aliases: ["embedded", "website", "site", "link", "url"], - group: "Other", -}; diff --git a/tests/src/utils/customblocks/Image.tsx b/tests/src/utils/customblocks/Image.tsx deleted file mode 100644 index e2597d1b84..0000000000 --- a/tests/src/utils/customblocks/Image.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { - BlockNoteEditor, - addNodeAndExtensionsToSpec, - defaultProps, -} from "@blocknote/core"; -import { RiImage2Fill } from "react-icons/ri"; -export const Image = addNodeAndExtensionsToSpec( - { - type: "image" as const, - propSchema: { - ...defaultProps, - src: { - default: "https://via.placeholder.com/1000", - }, - } as const, - content: "inline", - }, - { - render: (block) => { - const image = document.createElement("img"); - image.setAttribute("src", block.props.src); - image.setAttribute("contenteditable", "false"); - image.setAttribute("style", "width: 100%"); - image.setAttribute("alt", "Image"); - - const caption = document.createElement("div"); - caption.setAttribute("style", "flex-grow: 1"); - - const parent = document.createElement("div"); - parent.setAttribute("style", "display: flex; flex-direction: column;"); - parent.appendChild(image); - parent.appendChild(caption); - - return { - dom: parent, - contentDOM: caption, - }; - }, - parse: (element) => { - if (element.hasAttribute("src")) { - return { - src: element.getAttribute("src")!, - }; - } - - return; - }, - }, -); - -export const insertImage = { - title: "Insert Image", - onItemClick: (editor: BlockNoteEditor) => { - const src = prompt("Enter image URL") || "https://via.placeholder.com/1000"; - editor.insertBlocks( - [ - { - type: "image", - props: { - src, - }, - }, - ], - editor.getTextCursorPosition().block, - "after", - ); - }, - subtext: "Insert an image", - icon: , - aliases: ["image", "img", "picture", "media"], - group: "Other", -}; diff --git a/tests/src/utils/customblocks/ReactAlert.tsx b/tests/src/utils/customblocks/ReactAlert.tsx deleted file mode 100644 index fd5f0e124c..0000000000 --- a/tests/src/utils/customblocks/ReactAlert.tsx +++ /dev/null @@ -1,147 +0,0 @@ -/* eslint-disable no-console */ -import { BlockNoteEditor, defaultProps } from "@blocknote/core"; -import { createReactBlockSpec } from "@blocknote/react"; -import { useEffect, useState } from "react"; -import { RiAlertFill } from "react-icons/ri"; - -const values = { - warning: { - icon: "⚠️", - backgroundColor: "#fbf3db", - }, - error: { - icon: "❌", - backgroundColor: "#fbe4e4", - }, - info: { - icon: "ℹ️", - backgroundColor: "#ddebf1", - }, - success: { - icon: "✅", - backgroundColor: "#ddedea", - }, -} as const; - -export const ReactAlert = createReactBlockSpec( - { - type: "reactAlert" as const, - propSchema: { - textAlignment: defaultProps.textAlignment, - textColor: defaultProps.textColor, - type: { - default: "warning", - values: ["warning", "error", "info", "success"], - } as const, - }, - content: "inline" as const, - }, - { - render: function Render(props) { - const [type, setType] = useState(props.block.props.type); - - useEffect(() => { - console.log("ReactAlert initialize"); - return () => { - console.log(" ReactAlert cleanup"); - }; - }, []); - - console.log("ReactAlert render"); - - // Tests to see if types are correct: - - const test: "reactAlert" = props.block.type; - console.log(test); - - // @ts-expect-error - const test1: "othertype" = props.block.type; - console.log(test1); - - return ( -
-
{ - if (type === "warning") { - props.editor.updateBlock(props.block, { - props: { - type: "error", - }, - }); - setType("error"); - } else if (type === "error") { - props.editor.updateBlock(props.block, { - props: { - type: "info", - }, - }); - setType("info"); - } else if (type === "info") { - props.editor.updateBlock(props.block, { - props: { - type: "success", - }, - }); - setType("success"); - } else if (type === "success") { - props.editor.updateBlock(props.block, { - props: { - type: "warning", - }, - }); - setType("warning"); - } else { - throw new Error("Unknown alert type"); - } - }} - > - {values[type as keyof typeof values].icon} -
- -
- ); - }, - }, -); -export const insertReactAlert = { - title: "Insert React Alert", - onItemClick: (editor: BlockNoteEditor) => { - editor.insertBlocks( - [ - { - type: "reactAlert", - }, - ], - editor.getTextCursorPosition().block, - "after", - ); - }, - subtext: "Insert an alert block to emphasize text", - icon: , - aliases: [ - "react", - "reactAlert", - "react alert", - "alert", - "notification", - "emphasize", - "warning", - "error", - "info", - "success", - ], - group: "Other", -}; diff --git a/tests/src/utils/customblocks/ReactImage.tsx b/tests/src/utils/customblocks/ReactImage.tsx deleted file mode 100644 index cf7aed5145..0000000000 --- a/tests/src/utils/customblocks/ReactImage.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { BlockNoteEditor, defaultProps } from "@blocknote/core"; -import { createReactBlockSpec } from "@blocknote/react"; -import { RiImage2Fill } from "react-icons/ri"; - -export const ReactImage = createReactBlockSpec( - { - type: "reactImage" as const, - propSchema: { - ...defaultProps, - src: { - default: "https://via.placeholder.com/1000", - }, - }, - content: "inline" as const, - }, - { - render: ({ block, contentRef }) => { - return ( -
- {"test"} - -
- ); - }, - }, -); - -export const insertReactImage = { - title: "Insert React Image", - onItemClick: (editor: BlockNoteEditor) => { - const src = prompt("Enter image URL") || "https://via.placeholder.com/1000"; - editor.insertBlocks( - [ - { - type: "reactImage", - props: { - src, - }, - }, - ], - editor.getTextCursorPosition().block, - "after", - ); - }, - subtext: "Insert an image", - icon: , - aliases: [ - "react", - "reactImage", - "react image", - "image", - "img", - "picture", - "media", - ], - group: "Media", -}; diff --git a/tests/src/utils/customblocks/Separator.tsx b/tests/src/utils/customblocks/Separator.tsx deleted file mode 100644 index 07f7664d73..0000000000 --- a/tests/src/utils/customblocks/Separator.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { BlockNoteEditor, addNodeAndExtensionsToSpec } from "@blocknote/core"; - -import { RiSeparator } from "react-icons/ri"; - -export const Separator = addNodeAndExtensionsToSpec( - { - type: "separator" as const, - propSchema: {} as const, - content: "none", - }, - { - render: () => { - const separator = document.createElement("div"); - separator.setAttribute( - "style", - "height: 1px; background-color: black; width: 100%;", - ); - - const parent = document.createElement("div"); - parent.setAttribute( - "style", - "height: 1rem; display: flex; justify-content: center; align-items: center;", - ); - parent.appendChild(separator); - - return { - dom: parent, - }; - }, - }, -); - -export const insertSeparator = { - title: "Insert Separator", - onItemClick: (editor: BlockNoteEditor) => { - editor.insertBlocks( - [ - { - type: "separator", - }, - ], - editor.getTextCursorPosition().block, - "after", - ); - }, - subtext: "Insert a button which inserts a block below it", - icon: , - aliases: ["separator", "horizontal", "line", "rule"], - group: "Other", -}; diff --git a/tests/src/utils/debug.ts b/tests/src/utils/debug.ts deleted file mode 100644 index 2306605661..0000000000 --- a/tests/src/utils/debug.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { Page } from "@playwright/test"; - -export async function showMouseCursor(page: Page) { - await page.evaluate(() => { - if (window !== window.parent) { - return; - } - - const cursorStyle = { - position: "absolute", - left: "0", - top: "0", - width: "14px", - height: "14px", - "z-index": "1000", - background: "rgba(0, 0, 0, 0.39)", - border: "2px solid #fbfbfb9e", - "border-radius": "14px", - margin: "-8px 0 0 -8px", - padding: "0", - "pointer-events": "none", - }; - - let cssString = ""; - for (const [key, value] of Object.entries(cursorStyle)) { - cssString += key + ":" + value + ";"; - } - - const cursor = document.createElement("div"); - cursor.setAttribute("style", cssString); - document.body.appendChild(cursor); - - const updatePosition = (x: number, y: number) => { - cursor.style.left = x + "px"; - cursor.style.top = y + "px"; - }; - const updateColor = (color: string) => { - cursor.style.backgroundColor = color; - }; - - document.addEventListener( - "mousemove", - (event) => { - updatePosition(event.pageX, event.pageY); - }, - true, - ); - document.addEventListener( - "mousedown", - () => { - updateColor("rgba(243, 169, 4, 0.87)"); - }, - true, - ); - document.addEventListener( - "mouseup", - () => { - updateColor("rgba(0, 0, 0, 0.39)"); - }, - true, - ); - document.addEventListener( - "drag", - (event) => { - updatePosition(event.pageX, event.pageY); - }, - true, - ); - document.addEventListener( - "dragstart", - () => { - updateColor("rgba(243, 169, 4, 0.87)"); - }, - true, - ); - document.addEventListener( - "dragend", - () => { - updateColor("rgba(0, 0, 0, 0.39)"); - }, - true, - ); - }, false); -} diff --git a/tests/src/utils/draghandle.ts b/tests/src/utils/draghandle.ts index b267725845..21d8fce747 100644 --- a/tests/src/utils/draghandle.ts +++ b/tests/src/utils/draghandle.ts @@ -3,7 +3,7 @@ import { DRAG_HANDLE_ADD_SELECTOR, DRAG_HANDLE_SELECTOR } from "./const.js"; import { sleep, waitForSelector } from "./editor.js"; import { getRect, moveMouseOverElement } from "./mouse.js"; -export async function addBlockFromDragHandle(command: string) { +async function addBlockFromDragHandle(command: string) { await userEvent.click(await waitForSelector(DRAG_HANDLE_ADD_SELECTOR)); await userEvent.keyboard(command); await userEvent.keyboard("{ArrowDown}"); diff --git a/tests/src/utils/editor.ts b/tests/src/utils/editor.ts index 278e1119cf..57f7453c61 100644 --- a/tests/src/utils/editor.ts +++ b/tests/src/utils/editor.ts @@ -66,21 +66,10 @@ export async function waitForTextInEditor(text: string) { * browser, so we read the global the editor exposes directly (no * `page.evaluate` round-trip needed). */ -export function getDoc() { +function getDoc() { return (window as any).ProseMirror.getJSON(); } -export function removeAttFromDoc(doc: any, att: string) { - if (typeof doc !== "object" || doc === null) { - return; - } - if (Object.keys(doc).includes(att)) { - delete doc[att]; - } - Object.keys(doc).forEach((key) => removeAttFromDoc(doc[key], att)); - return doc; -} - /** * Asserts the editor document matches a stored JSON snapshot. The path is * resolved relative to the running test file, so snapshots live in a @@ -122,12 +111,3 @@ type ElementExpect = ( export const expectElement = (expect as unknown as { element: ElementExpect }) .element; - -/** - * Visual regression snapshot of the whole page (captures the editor plus any - * portalled menus/toolbars). Vitest names baselines per browser + platform - * automatically. - */ -export async function matchPageScreenshot(name: string) { - await expectElement(document.body).toMatchScreenshot(name); -}