{"version":3,"file":"blocknote-shadcn.umd.cjs","sources":["../src/lib/utils.ts","../src/components/ui/badge.tsx","../src/components/ui/button.tsx","../src/components/ui/card.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/form.tsx","../src/components/ui/input.tsx","../src/components/ui/popover.tsx","../src/components/ui/select.tsx","../src/components/ui/tabs.tsx","../src/components/ui/toggle.tsx","../src/components/ui/tooltip.tsx","../src/ShadCNComponentsContext.tsx","../src/form/Form.tsx","../src/form/TextInput.tsx","../src/menu/Menu.tsx","../src/panel/Panel.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/index.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\n// Ensures that `bn-` prefixed Tailwind classes are recognized as Tailwind\n// classes, so they can be merged correctly.\nconst twMerge = extendTailwindMerge({\n  prefix: \"bn-\",\n});\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs));\n}\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst badgeVariants = cva(\n  \"bn-inline-flex bn-items-center bn-rounded-full bn-border bn-px-2.5 bn-py-0.5 bn-text-xs bn-font-semibold bn-transition-colors focus:bn-outline-none focus:bn-ring-2 focus:bn-ring-ring focus:bn-ring-offset-2\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"bn-border-transparent bn-bg-primary bn-text-primary-foreground hover:bn-bg-primary/80\",\n        secondary:\n          \"bn-border-transparent bn-bg-secondary bn-text-secondary-foreground hover:bn-bg-secondary/80\",\n        destructive:\n          \"bn-border-transparent bn-bg-destructive bn-text-destructive-foreground hover:bn-bg-destructive/80\",\n        outline: \"bn-text-foreground\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n);\n\nexport interface BadgeProps\n  extends React.HTMLAttributes<HTMLDivElement>,\n    VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n  return (\n    <div className={cn(badgeVariants({ variant }), className)} {...props} />\n  );\n}\n\nexport { Badge, badgeVariants };\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst buttonVariants = cva(\n  \"bn-inline-flex bn-items-center bn-justify-center bn-whitespace-nowrap bn-rounded-md bn-text-sm bn-font-medium bn-ring-offset-background bn-transition-colors focus-visible:bn-outline-none focus-visible:bn-ring-2 focus-visible:bn-ring-ring focus-visible:bn-ring-offset-2 disabled:bn-pointer-events-none disabled:bn-opacity-50\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"bn-bg-primary bn-text-primary-foreground hover:bn-bg-primary/90\",\n        destructive:\n          \"bn-bg-destructive bn-text-destructive-foreground hover:bn-bg-destructive/90\",\n        outline:\n          \"bn-border bn-border-input bn-bg-background hover:bn-bg-accent hover:bn-text-accent-foreground\",\n        secondary:\n          \"bn-bg-secondary bn-text-secondary-foreground hover:bn-bg-secondary/80\",\n        ghost: \"hover:bn-bg-accent hover:bn-text-accent-foreground\",\n        link: \"bn-text-primary bn-underline-offset-4 hover:bn-underline\",\n      },\n      size: {\n        default: \"bn-h-10 bn-px-4 bn-py-2\",\n        sm: \"bn-h-9 bn-rounded-md bn-px-3\",\n        lg: \"bn-h-11 bn-rounded-md bn-px-8\",\n        icon: \"bn-h-10 bn-w-10\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  }\n);\n\nexport interface ButtonProps\n  extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n    VariantProps<typeof buttonVariants> {\n  asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n  ({ className, variant, size, asChild = false, ...props }, ref) => {\n    const Comp = asChild ? Slot : \"button\";\n    return (\n      <Comp\n        className={cn(buttonVariants({ variant, size, className }))}\n        ref={ref}\n        {...props}\n      />\n    );\n  }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst Card = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div\n    ref={ref}\n    className={cn(\n      \"bn-rounded-lg bn-border bn-bg-card bn-text-card-foreground bn-shadow-sm\",\n      className\n    )}\n    {...props}\n  />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div\n    ref={ref}\n    className={cn(\"bn-flex bn-flex-col bn-space-y-1.5 bn-p-6\", className)}\n    {...props}\n  />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n  HTMLParagraphElement,\n  React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n  <h3\n    ref={ref}\n    className={cn(\n      \"bn-text-2xl bn-font-semibold bn-leading-none bn-tracking-tight\",\n      className\n    )}\n    {...props}\n  />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n  HTMLParagraphElement,\n  React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n  <p\n    ref={ref}\n    className={cn(\"bn-text-sm bn-text-muted-foreground\", className)}\n    {...props}\n  />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div ref={ref} className={cn(\"bn-p-6 bn-pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div\n    ref={ref}\n    className={cn(\"bn-flex bn-items-center bn-p-6 bn-pt-0\", className)}\n    {...props}\n  />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n};\n","import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { Check, ChevronRight, Circle } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n    inset?: boolean;\n  }\n>(({ className, inset, children, ...props }, ref) => (\n  <DropdownMenuPrimitive.SubTrigger\n    ref={ref}\n    className={cn(\n      \"bn-flex bn-cursor-default bn-select-none bn-items-center bn-rounded-sm bn-px-2 bn-py-1.5 bn-text-sm bn-outline-none focus:bn-bg-accent data-[state=open]:bn-bg-accent\",\n      inset && \"bn-pl-8\",\n      className\n    )}\n    {...props}>\n    {children}\n    <ChevronRight className=\"bn-ml-auto bn-h-4 bn-w-4\" />\n  </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n  DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n  <DropdownMenuPrimitive.SubContent\n    ref={ref}\n    className={cn(\n      \"bn-z-50 bn-min-w-[8rem] bn-overflow-hidden bn-rounded-md bn-border bn-bg-popover bn-p-1 bn-text-popover-foreground bn-shadow-lg data-[state=open]:bn-animate-in data-[state=closed]:bn-animate-out data-[state=closed]:bn-fade-out-0 data-[state=open]:bn-fade-in-0 data-[state=closed]:bn-zoom-out-95 data-[state=open]:bn-zoom-in-95 data-[side=bottom]:bn-slide-in-from-top-2 data-[side=left]:bn-slide-in-from-right-2 data-[side=right]:bn-slide-in-from-left-2 data-[side=top]:bn-slide-in-from-bottom-2\",\n      className\n    )}\n    {...props}\n  />\n));\nDropdownMenuSubContent.displayName =\n  DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n  // <DropdownMenuPrimitive.Portal>\n  <DropdownMenuPrimitive.Content\n    ref={ref}\n    sideOffset={sideOffset}\n    className={cn(\n      \"bn-z-50 bn-min-w-[8rem] bn-overflow-hidden bn-rounded-md bn-border bn-bg-popover bn-p-1 bn-text-popover-foreground bn-shadow-md data-[state=open]:bn-animate-in data-[state=closed]:bn-animate-out data-[state=closed]:bn-fade-out-0 data-[state=open]:bn-fade-in-0 data-[state=closed]:bn-zoom-out-95 data-[state=open]:bn-zoom-in-95 data-[side=bottom]:bn-slide-in-from-top-2 data-[side=left]:bn-slide-in-from-right-2 data-[side=right]:bn-slide-in-from-left-2 data-[side=top]:bn-slide-in-from-bottom-2\",\n      className\n    )}\n    {...props}\n  />\n  // </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n    inset?: boolean;\n  }\n>(({ className, inset, ...props }, ref) => (\n  <DropdownMenuPrimitive.Item\n    ref={ref}\n    className={cn(\n      \"bn-relative bn-flex bn-cursor-default bn-select-none bn-items-center bn-rounded-sm bn-px-2 bn-py-1.5 bn-text-sm bn-outline-none bn-transition-colors focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50\",\n      inset && \"bn-pl-8\",\n      className\n    )}\n    {...props}\n  />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n  <DropdownMenuPrimitive.CheckboxItem\n    ref={ref}\n    className={cn(\n      \"bn-relative bn-flex bn-cursor-default bn-select-none bn-items-center bn-rounded-sm bn-py-1.5 bn-pl-8 bn-pr-2 bn-text-sm bn-outline-none bn-transition-colors focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50\",\n      className\n    )}\n    checked={checked}\n    {...props}>\n    <span className=\"bn-absolute bn-left-2 bn-flex bn-h-3.5 bn-w-3.5 bn-items-center bn-justify-center\">\n      <DropdownMenuPrimitive.ItemIndicator>\n        <Check className=\"bn-h-4 bn-w-4\" />\n      </DropdownMenuPrimitive.ItemIndicator>\n    </span>\n    {children}\n  </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n  DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n  <DropdownMenuPrimitive.RadioItem\n    ref={ref}\n    className={cn(\n      \"bn-relative bn-flex bn-cursor-default bn-select-none bn-items-center bn-rounded-sm bn-py-1.5 bn-pl-8 bn-pr-2 bn-text-sm bn-outline-none bn-transition-colors focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50\",\n      className\n    )}\n    {...props}>\n    <span className=\"bn-absolute bn-left-2 bn-flex bn-h-3.5 bn-w-3.5 bn-items-center bn-justify-center\">\n      <DropdownMenuPrimitive.ItemIndicator>\n        <Circle className=\"bn-h-2 bn-w-2 bn-fill-current\" />\n      </DropdownMenuPrimitive.ItemIndicator>\n    </span>\n    {children}\n  </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n    inset?: boolean;\n  }\n>(({ className, inset, ...props }, ref) => (\n  <DropdownMenuPrimitive.Label\n    ref={ref}\n    className={cn(\n      \"bn-px-2 bn-py-1.5 bn-text-sm bn-font-semibold\",\n      inset && \"bn-pl-8\",\n      className\n    )}\n    {...props}\n  />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n  <DropdownMenuPrimitive.Separator\n    ref={ref}\n    className={cn(\"bn--mx-1 bn-my-1 bn-h-px bn-bg-muted\", className)}\n    {...props}\n  />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n  className,\n  ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n  return (\n    <span\n      className={cn(\n        \"bn-ml-auto bn-text-xs bn-tracking-widest bn-opacity-60\",\n        className\n      )}\n      {...props}\n    />\n  );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n  DropdownMenu,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuLabel,\n  DropdownMenuPortal,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuSeparator,\n  DropdownMenuShortcut,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuTrigger,\n};\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst labelVariants = cva(\n  \"bn-text-sm bn-font-medium bn-leading-none peer-disabled:bn-cursor-not-allowed peer-disabled:bn-opacity-70\"\n);\n\nconst Label = React.forwardRef<\n  React.ElementRef<typeof LabelPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n    VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n  <LabelPrimitive.Root\n    ref={ref}\n    className={cn(labelVariants(), className)}\n    {...props}\n  />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport {\n  Controller,\n  ControllerProps,\n  FieldPath,\n  FieldValues,\n  FormProvider,\n  useFormContext,\n} from \"react-hook-form\";\n\nimport { cn } from \"../../lib/utils.js\";\nimport { Label } from \"./label.js\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n  TFieldValues extends FieldValues = FieldValues,\n  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n  name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n  {} as FormFieldContextValue\n);\n\nconst FormField = <\n  TFieldValues extends FieldValues = FieldValues,\n  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n  ...props\n}: ControllerProps<TFieldValues, TName>) => {\n  return (\n    <FormFieldContext.Provider value={{ name: props.name }}>\n      <Controller {...props} />\n    </FormFieldContext.Provider>\n  );\n};\n\nconst useFormField = () => {\n  const fieldContext = React.useContext(FormFieldContext);\n  const itemContext = React.useContext(FormItemContext);\n  const { getFieldState, formState } = useFormContext();\n\n  const fieldState = getFieldState(fieldContext.name, formState);\n\n  if (!fieldContext) {\n    throw new Error(\"useFormField should be used within <FormField>\");\n  }\n\n  const { id } = itemContext;\n\n  return {\n    id,\n    name: fieldContext.name,\n    formItemId: `${id}-form-item`,\n    formDescriptionId: `${id}-form-item-description`,\n    formMessageId: `${id}-form-item-message`,\n    ...fieldState,\n  };\n};\n\ntype FormItemContextValue = {\n  id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n  {} as FormItemContextValue\n);\n\nconst FormItem = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n  const id = React.useId();\n\n  return (\n    <FormItemContext.Provider value={{ id }}>\n      <div ref={ref} className={cn(\"bn-space-y-2\", className)} {...props} />\n    </FormItemContext.Provider>\n  );\n});\nFormItem.displayName = \"FormItem\";\n\nconst FormLabel = React.forwardRef<\n  React.ElementRef<typeof LabelPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n  const { error, formItemId } = useFormField();\n\n  return (\n    <Label\n      ref={ref}\n      className={cn(error && \"bn-text-destructive\", className)}\n      htmlFor={formItemId}\n      {...props}\n    />\n  );\n});\nFormLabel.displayName = \"FormLabel\";\n\nconst FormControl = React.forwardRef<\n  React.ElementRef<typeof Slot>,\n  React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n  const { error, formItemId, formDescriptionId, formMessageId } =\n    useFormField();\n\n  return (\n    <Slot\n      ref={ref}\n      id={formItemId}\n      aria-describedby={\n        !error\n          ? `${formDescriptionId}`\n          : `${formDescriptionId} ${formMessageId}`\n      }\n      aria-invalid={!!error}\n      {...props}\n    />\n  );\n});\nFormControl.displayName = \"FormControl\";\n\nconst FormDescription = React.forwardRef<\n  HTMLParagraphElement,\n  React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n  const { formDescriptionId } = useFormField();\n\n  return (\n    <p\n      ref={ref}\n      id={formDescriptionId}\n      className={cn(\"bn-text-sm bn-text-muted-foreground\", className)}\n      {...props}\n    />\n  );\n});\nFormDescription.displayName = \"FormDescription\";\n\nconst FormMessage = React.forwardRef<\n  HTMLParagraphElement,\n  React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n  const { error, formMessageId } = useFormField();\n  const body = error ? String(error?.message) : children;\n\n  if (!body) {\n    return null;\n  }\n\n  return (\n    <p\n      ref={ref}\n      id={formMessageId}\n      className={cn(\"bn-text-sm bn-font-medium bn-text-destructive\", className)}\n      {...props}>\n      {body}\n    </p>\n  );\n});\nFormMessage.displayName = \"FormMessage\";\n\nexport {\n  Form,\n  FormControl,\n  FormDescription,\n  FormField,\n  FormItem,\n  FormLabel,\n  FormMessage,\n  useFormField,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nexport interface InputProps\n  extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n  ({ className, type, ...props }, ref) => {\n    return (\n      <input\n        type={type}\n        className={cn(\n          \"bn-flex bn-h-10 bn-w-full bn-rounded-md bn-border bn-border-input bn-bg-background bn-px-3 bn-py-2 bn-text-sm bn-ring-offset-background file:bn-border-0 file:bn-bg-transparent file:bn-text-sm file:bn-font-medium placeholder:bn-text-muted-foreground focus-visible:bn-outline-none focus-visible:bn-ring-2 focus-visible:bn-ring-ring focus-visible:bn-ring-offset-2 disabled:bn-cursor-not-allowed disabled:bn-opacity-50\",\n          className\n        )}\n        ref={ref}\n        {...props}\n      />\n    );\n  }\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n  React.ElementRef<typeof PopoverPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n  // <PopoverPrimitive.Portal>\n  <PopoverPrimitive.Content\n    ref={ref}\n    align={align}\n    sideOffset={sideOffset}\n    className={cn(\n      \"bn-z-50 bn-w-72 bn-rounded-md bn-border bn-bg-popover bn-p-4 bn-text-popover-foreground bn-shadow-md bn-outline-none data-[state=open]:bn-animate-in data-[state=closed]:bn-animate-out data-[state=closed]:bn-fade-out-0 data-[state=open]:bn-fade-in-0 data-[state=closed]:bn-zoom-out-95 data-[state=open]:bn-zoom-in-95 data-[side=bottom]:bn-slide-in-from-top-2 data-[side=left]:bn-slide-in-from-right-2 data-[side=right]:bn-slide-in-from-left-2 data-[side=top]:bn-slide-in-from-bottom-2\",\n      className\n    )}\n    {...props}\n  />\n  // </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Trigger>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n  <SelectPrimitive.Trigger\n    ref={ref}\n    className={cn(\n      \"bn-flex bn-h-10 bn-w-full bn-items-center bn-justify-between bn-rounded-md bn-border bn-border-input bn-bg-background bn-px-3 bn-py-2 bn-text-sm bn-ring-offset-background placeholder:bn-text-muted-foreground focus:bn-outline-none focus:bn-ring-2 focus:bn-ring-ring focus:bn-ring-offset-2 disabled:bn-cursor-not-allowed disabled:bn-opacity-50 [&>span]:bn-line-clamp-1\",\n      className\n    )}\n    {...props}>\n    {children}\n    <SelectPrimitive.Icon asChild>\n      <ChevronDown className=\"bn-h-4 bn-w-4 bn-opacity-50\" />\n    </SelectPrimitive.Icon>\n  </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.ScrollUpButton\n    ref={ref}\n    className={cn(\n      \"bn-flex bn-cursor-default bn-items-center bn-justify-center bn-py-1\",\n      className\n    )}\n    {...props}>\n    <ChevronUp className=\"bn-h-4 bn-w-4\" />\n  </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.ScrollDownButton\n    ref={ref}\n    className={cn(\n      \"bn-flex bn-cursor-default bn-items-center bn-justify-center bn-py-1\",\n      className\n    )}\n    {...props}>\n    <ChevronDown className=\"bn-h-4 bn-w-4\" />\n  </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n  SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n  // <SelectPrimitive.Portal>\n  <SelectPrimitive.Content\n    ref={ref}\n    className={cn(\n      \"bn-relative bn-z-50 bn-max-h-96 bn-min-w-[8rem] bn-overflow-hidden bn-rounded-md bn-border bn-bg-popover bn-text-popover-foreground bn-shadow-md data-[state=open]:bn-animate-in data-[state=closed]:bn-animate-out data-[state=closed]:bn-fade-out-0 data-[state=open]:bn-fade-in-0 data-[state=closed]:bn-zoom-out-95 data-[state=open]:bn-zoom-in-95 data-[side=bottom]:bn-slide-in-from-top-2 data-[side=left]:bn-slide-in-from-right-2 data-[side=right]:bn-slide-in-from-left-2 data-[side=top]:bn-slide-in-from-bottom-2\",\n      position === \"popper\" &&\n        \"data-[side=bottom]:bn-translate-y-1 data-[side=left]:bn--translate-x-1 data-[side=right]:bn-translate-x-1 data-[side=top]:bn--translate-y-1\",\n      className\n    )}\n    position={position}\n    {...props}>\n    <SelectScrollUpButton />\n    <SelectPrimitive.Viewport\n      className={cn(\n        \"bn-p-1\",\n        position === \"popper\" &&\n          \"bn-h-[var(--radix-select-trigger-height)] bn-w-full bn-min-w-[var(--radix-select-trigger-width)]\"\n      )}>\n      {children}\n    </SelectPrimitive.Viewport>\n    <SelectScrollDownButton />\n  </SelectPrimitive.Content>\n  // </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Label>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.Label\n    ref={ref}\n    className={cn(\n      \"bn-py-1.5 bn-pl-8 bn-pr-2 bn-text-sm bn-font-semibold\",\n      className\n    )}\n    {...props}\n  />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n  <SelectPrimitive.Item\n    ref={ref}\n    className={cn(\n      \"bn-relative bn-flex bn-w-full bn-cursor-default bn-select-none bn-items-center bn-rounded-sm bn-py-1.5 bn-pl-8 bn-pr-2 bn-text-sm bn-outline-none focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50\",\n      className\n    )}\n    {...props}>\n    <span className=\"bn-absolute bn-left-2 bn-flex bn-h-3.5 bn-w-3.5 bn-items-center bn-justify-center\">\n      <SelectPrimitive.ItemIndicator>\n        <Check className=\"bn-h-4 bn-w-4\" />\n      </SelectPrimitive.ItemIndicator>\n    </span>\n\n    <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n  </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Separator>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.Separator\n    ref={ref}\n    className={cn(\"bn--mx-1 bn-my-1 bn-h-px bn-bg-muted\", className)}\n    {...props}\n  />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n  Select,\n  SelectContent,\n  SelectGroup,\n  SelectItem,\n  SelectLabel,\n  SelectScrollDownButton,\n  SelectScrollUpButton,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n};\n","import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n  React.ElementRef<typeof TabsPrimitive.List>,\n  React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n  <TabsPrimitive.List\n    ref={ref}\n    className={cn(\n      \"bn-inline-flex bn-h-10 bn-items-center bn-justify-center bn-rounded-md bn-bg-muted bn-p-1 bn-text-muted-foreground\",\n      className\n    )}\n    {...props}\n  />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n  React.ElementRef<typeof TabsPrimitive.Trigger>,\n  React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n  <TabsPrimitive.Trigger\n    ref={ref}\n    className={cn(\n      \"bn-inline-flex bn-items-center bn-justify-center bn-whitespace-nowrap bn-rounded-sm bn-px-3 bn-py-1.5 bn-text-sm bn-font-medium bn-ring-offset-background bn-transition-all focus-visible:bn-outline-none focus-visible:bn-ring-2 focus-visible:bn-ring-ring focus-visible:bn-ring-offset-2 disabled:bn-pointer-events-none disabled:bn-opacity-50 data-[state=active]:bn-bg-background data-[state=active]:bn-text-foreground data-[state=active]:bn-shadow-sm\",\n      className\n    )}\n    {...props}\n  />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n  React.ElementRef<typeof TabsPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n  <TabsPrimitive.Content\n    ref={ref}\n    className={cn(\n      \"bn-mt-2 bn-ring-offset-background focus-visible:bn-outline-none focus-visible:bn-ring-2 focus-visible:bn-ring-ring focus-visible:bn-ring-offset-2\",\n      className\n    )}\n    {...props}\n  />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","import * as TogglePrimitive from \"@radix-ui/react-toggle\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst toggleVariants = cva(\n  \"bn-inline-flex bn-items-center bn-justify-center bn-rounded-md bn-text-sm bn-font-medium bn-ring-offset-background bn-transition-colors hover:bn-bg-muted hover:bn-text-muted-foreground focus-visible:bn-outline-none focus-visible:bn-ring-2 focus-visible:bn-ring-ring focus-visible:bn-ring-offset-2 disabled:bn-pointer-events-none disabled:bn-opacity-50 data-[state=on]:bn-bg-accent data-[state=on]:bn-text-accent-foreground\",\n  {\n    variants: {\n      variant: {\n        default: \"bn-bg-transparent\",\n        outline:\n          \"bn-border bn-border-input bn-bg-transparent hover:bn-bg-accent hover:bn-text-accent-foreground\",\n      },\n      size: {\n        default: \"bn-h-10 bn-px-3\",\n        sm: \"bn-h-9 bn-px-2.5\",\n        lg: \"bn-h-11 bn-px-5\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  }\n);\n\nconst Toggle = React.forwardRef<\n  React.ElementRef<typeof TogglePrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n    VariantProps<typeof toggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n  <TogglePrimitive.Root\n    ref={ref}\n    className={cn(toggleVariants({ variant, size, className }))}\n    {...props}\n  />\n));\n\nToggle.displayName = TogglePrimitive.Root.displayName;\n\nexport { Toggle, toggleVariants };\n","import * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils.js\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n  React.ElementRef<typeof TooltipPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n  <TooltipPrimitive.Content\n    ref={ref}\n    sideOffset={sideOffset}\n    className={cn(\n      \"bn-z-50 bn-overflow-hidden bn-rounded-md bn-border bn-bg-popover bn-px-3 bn-py-1.5 bn-text-sm bn-text-popover-foreground bn-shadow-md bn-animate-in bn-fade-in-0 bn-zoom-in-95 data-[state=closed]:bn-animate-out data-[state=closed]:bn-fade-out-0 data-[state=closed]:bn-zoom-out-95 data-[side=bottom]:bn-slide-in-from-top-2 data-[side=left]:bn-slide-in-from-right-2 data-[side=right]:bn-slide-in-from-left-2 data-[side=top]:bn-slide-in-from-bottom-2\",\n      className\n    )}\n    {...props}\n  />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import { Badge as ShadCNBadge } from \"./components/ui/badge.js\";\nimport { Button as ShadCNButton } from \"./components/ui/button.js\";\nimport {\n  Card as ShadCNCard,\n  CardContent as ShadCNCardContent,\n} from \"./components/ui/card.js\";\nimport {\n  DropdownMenu as ShadCNDropdownMenu,\n  DropdownMenuCheckboxItem as ShadCNDropdownMenuCheckboxItem,\n  DropdownMenuContent as ShadCNDropdownMenuContent,\n  DropdownMenuItem as ShadCNDropdownMenuItem,\n  DropdownMenuLabel as ShadCNDropdownMenuLabel,\n  DropdownMenuSeparator as ShadCNDropdownMenuSeparator,\n  DropdownMenuSub as ShadCNDropdownMenuSub,\n  DropdownMenuSubContent as ShadCNDropdownMenuSubContent,\n  DropdownMenuSubTrigger as ShadCNDropdownMenuSubTrigger,\n  DropdownMenuTrigger as ShadCNDropdownMenuTrigger,\n} from \"./components/ui/dropdown-menu.js\";\nimport { Form as ShadCNForm } from \"./components/ui/form.js\";\nimport { Input as ShadCNInput } from \"./components/ui/input.js\";\nimport { Label as ShadCNLabel } from \"./components/ui/label.js\";\nimport {\n  Popover as ShadCNPopover,\n  PopoverContent as ShadCNPopoverContent,\n  PopoverTrigger as ShadCNPopoverTrigger,\n} from \"./components/ui/popover.js\";\nimport {\n  Select as ShadCNSelect,\n  SelectContent as ShadCNSelectContent,\n  SelectItem as ShadCNSelectItem,\n  SelectTrigger as ShadCNSelectTrigger,\n  SelectValue as ShadCNSelectValue,\n} from \"./components/ui/select.js\";\nimport {\n  Tabs as ShadCNTabs,\n  TabsContent as ShadCNTabsContent,\n  TabsList as ShadCNTabsList,\n  TabsTrigger as ShadCNTabsTrigger,\n} from \"./components/ui/tabs.js\";\nimport { Toggle as ShadCNToggle } from \"./components/ui/toggle.js\";\nimport {\n  Tooltip as ShadCNTooltip,\n  TooltipContent as ShadCNTooltipContent,\n  TooltipProvider as ShadCNTooltipProvider,\n  TooltipTrigger as ShadCNTooltipTrigger,\n} from \"./components/ui/tooltip.js\";\n\nimport { createContext, useContext } from \"react\";\n\nexport const ShadCNDefaultComponents = {\n  Badge: {\n    Badge: ShadCNBadge,\n  },\n  Button: {\n    Button: ShadCNButton,\n  },\n  Card: {\n    Card: ShadCNCard,\n    CardContent: ShadCNCardContent,\n  },\n  DropdownMenu: {\n    DropdownMenu: ShadCNDropdownMenu,\n    DropdownMenuCheckboxItem: ShadCNDropdownMenuCheckboxItem,\n    DropdownMenuContent: ShadCNDropdownMenuContent,\n    DropdownMenuItem: ShadCNDropdownMenuItem,\n    DropdownMenuLabel: ShadCNDropdownMenuLabel,\n    DropdownMenuSeparator: ShadCNDropdownMenuSeparator,\n    DropdownMenuSub: ShadCNDropdownMenuSub,\n    DropdownMenuSubContent: ShadCNDropdownMenuSubContent,\n    DropdownMenuSubTrigger: ShadCNDropdownMenuSubTrigger,\n    DropdownMenuTrigger: ShadCNDropdownMenuTrigger,\n  },\n  Form: {\n    Form: ShadCNForm,\n  },\n  Input: {\n    Input: ShadCNInput,\n  },\n  Label: {\n    Label: ShadCNLabel,\n  },\n  Popover: {\n    Popover: ShadCNPopover,\n    PopoverContent: ShadCNPopoverContent,\n    PopoverTrigger: ShadCNPopoverTrigger,\n  },\n  Select: {\n    Select: ShadCNSelect,\n    SelectContent: ShadCNSelectContent,\n    SelectItem: ShadCNSelectItem,\n    SelectTrigger: ShadCNSelectTrigger,\n    SelectValue: ShadCNSelectValue,\n  },\n  Tabs: {\n    Tabs: ShadCNTabs,\n    TabsContent: ShadCNTabsContent,\n    TabsList: ShadCNTabsList,\n    TabsTrigger: ShadCNTabsTrigger,\n  },\n  Toggle: {\n    Toggle: ShadCNToggle,\n  },\n  Tooltip: {\n    Tooltip: ShadCNTooltip,\n    TooltipContent: ShadCNTooltipContent,\n    TooltipProvider: ShadCNTooltipProvider,\n    TooltipTrigger: ShadCNTooltipTrigger,\n  },\n};\n\nexport type ShadCNComponents = typeof ShadCNDefaultComponents;\n\nexport const ShadCNComponentsContext = createContext<\n  ShadCNComponents | undefined\n>(undefined);\n\nexport function useShadCNComponentsContext() {\n  return useContext(ShadCNComponentsContext);\n}\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n  const { children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  const form = useForm();\n\n  return (\n    <ShadCNComponents.Form.Form {...form}>\n      {children}\n    </ShadCNComponents.Form.Form>\n  );\n};\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const TextInput = forwardRef<\n  HTMLInputElement,\n  ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n  const {\n    className,\n    name,\n    label,\n    icon, // TODO: implement\n    value,\n    autoFocus,\n    placeholder,\n    onKeyDown,\n    onChange,\n    onSubmit,\n    ...rest\n  } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  if (!label) {\n    return (\n      <ShadCNComponents.Input.Input\n        aria-label={name}\n        name={name}\n        autoFocus={autoFocus}\n        placeholder={placeholder}\n        value={value}\n        onKeyDown={onKeyDown}\n        onChange={onChange}\n        onSubmit={onSubmit}\n        ref={ref}\n      />\n    );\n  }\n\n  return (\n    <div>\n      <ShadCNComponents.Label.Label htmlFor={label}>\n        {label}\n      </ShadCNComponents.Label.Label>\n      <ShadCNComponents.Input.Input\n        className={className}\n        id={label}\n        name={name}\n        autoFocus={autoFocus}\n        placeholder={placeholder}\n        value={value}\n        onKeyDown={onKeyDown}\n        onChange={onChange}\n        onSubmit={onSubmit}\n      />\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { ChevronRight } from \"lucide-react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport type { DropdownMenuTrigger as ShadCNDropdownMenuTrigger } from \"../components/ui/dropdown-menu.js\";\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\n// hacky HoC to change DropdownMenuTrigger to open a menu on PointerUp instead of PointerDown\n// Needed to fix this issue: https://github.com/radix-ui/primitives/issues/2867\nconst MenuTriggerWithPointerUp = (Comp: typeof ShadCNDropdownMenuTrigger) =>\n  forwardRef<any, React.ComponentProps<typeof ShadCNDropdownMenuTrigger>>(\n    (props, ref) => {\n      return (\n        <Comp\n          onPointerDown={(e) => {\n            if (!(e.nativeEvent as any).fakeEvent) {\n              // setting ctrlKey will block the menu from opening\n              // as it will block this line: https://github.com/radix-ui/primitives/blob/b32a93318cdfce383c2eec095710d35ffbd33a1c/packages/react/dropdown-menu/src/DropdownMenu.tsx#L120\n              e.ctrlKey = true;\n            }\n          }}\n          onPointerUp={(event) => {\n            // dispatch a pointerdown event so the Radix pointer down handler gets called that opens the menu\n            const e = new PointerEvent(\"pointerdown\", event.nativeEvent);\n            (e as any).fakeEvent = true;\n            event.target.dispatchEvent(e);\n          }}\n          {...props}\n          ref={ref}\n        />\n      );\n    }\n  );\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n  const {\n    children,\n    onOpenChange,\n    position, // Unused\n    sub,\n    ...rest\n  } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  if (sub) {\n    return (\n      <ShadCNComponents.DropdownMenu.DropdownMenuSub\n        onOpenChange={onOpenChange}>\n        {children}\n      </ShadCNComponents.DropdownMenu.DropdownMenuSub>\n    );\n  } else {\n    return (\n      <ShadCNComponents.DropdownMenu.DropdownMenu onOpenChange={onOpenChange}>\n        {children}\n      </ShadCNComponents.DropdownMenu.DropdownMenu>\n    );\n  }\n};\n\nexport const MenuTrigger = (\n  props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"]\n) => {\n  const { children, sub, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  const DropdownMenuTrigger = useMemo(\n    () =>\n      MenuTriggerWithPointerUp(\n        ShadCNComponents.DropdownMenu.DropdownMenuTrigger\n      ),\n    [ShadCNComponents.DropdownMenu.DropdownMenuTrigger]\n  );\n\n  if (sub) {\n    return (\n      <ShadCNComponents.DropdownMenu.DropdownMenuSubTrigger>\n        {children}\n      </ShadCNComponents.DropdownMenu.DropdownMenuSubTrigger>\n    );\n  } else {\n    return (\n      <DropdownMenuTrigger asChild={true} {...rest}>\n        {children}\n      </DropdownMenuTrigger>\n    );\n  }\n};\n\nexport const MenuDropdown = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n  const { className, children, sub, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  if (sub) {\n    return (\n      <ShadCNComponents.DropdownMenu.DropdownMenuSubContent\n        className={className}\n        ref={ref}>\n        {children}\n      </ShadCNComponents.DropdownMenu.DropdownMenuSubContent>\n    );\n  } else {\n    return (\n      <ShadCNComponents.DropdownMenu.DropdownMenuContent\n        className={className}\n        ref={ref}>\n        {children}\n      </ShadCNComponents.DropdownMenu.DropdownMenuContent>\n    );\n  }\n});\n\nexport const MenuItem = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n  const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n    props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  if (subTrigger) {\n    return (\n      <>\n        {icon}\n        {children}\n      </>\n    );\n  }\n\n  if (checked !== undefined) {\n    return (\n      <ShadCNComponents.DropdownMenu.DropdownMenuCheckboxItem\n        className={cn(className, \"bn-gap-1\")}\n        ref={ref}\n        checked={checked}\n        onClick={onClick}\n        {...rest}>\n        {icon}\n        {children}\n      </ShadCNComponents.DropdownMenu.DropdownMenuCheckboxItem>\n    );\n  }\n\n  return (\n    <ShadCNComponents.DropdownMenu.DropdownMenuItem\n      className={className}\n      ref={ref}\n      onClick={onClick}\n      {...rest}>\n      {icon}\n      {children}\n      {subTrigger && <ChevronRight className=\"bn-ml-auto bn-h-4 bn-w-4\" />}\n    </ShadCNComponents.DropdownMenu.DropdownMenuItem>\n  );\n});\n\nexport const MenuDivider = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n  const { className, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.DropdownMenu.DropdownMenuSeparator\n      className={className}\n      ref={ref}\n    />\n  );\n});\n\nexport const MenuLabel = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n  const { className, children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.DropdownMenu.DropdownMenuLabel\n      className={className}\n      ref={ref}>\n      {children}\n    </ShadCNComponents.DropdownMenu.DropdownMenuLabel>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const Panel = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n  const {\n    className,\n    tabs,\n    defaultOpenTab,\n    openTab,\n    setOpenTab,\n    loading, // TODO: implement loader\n    ...rest\n  } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Tabs.Tabs\n      className={cn(className, \"bn-bg-popover bn-p-2 bn-rounded-lg\")}\n      ref={ref}\n      value={openTab}\n      defaultValue={defaultOpenTab}\n      onValueChange={setOpenTab}>\n      {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n      <ShadCNComponents.Tabs.TabsList>\n        {tabs.map((tab) => (\n          <ShadCNComponents.Tabs.TabsTrigger value={tab.name} key={tab.name}>\n            {tab.name}\n          </ShadCNComponents.Tabs.TabsTrigger>\n        ))}\n      </ShadCNComponents.Tabs.TabsList>\n\n      {tabs.map((tab) => (\n        <ShadCNComponents.Tabs.TabsContent value={tab.name} key={tab.name}>\n          <ShadCNComponents.Card.Card>\n            <ShadCNComponents.Card.CardContent className={\"bn-p-4\"}>\n              {tab.tabPanel}\n            </ShadCNComponents.Card.CardContent>\n          </ShadCNComponents.Card.Card>\n        </ShadCNComponents.Tabs.TabsContent>\n      ))}\n    </ShadCNComponents.Tabs.Tabs>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\n\nexport const PanelTab = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n  const { className, children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      className={cn(\n        className,\n        \"bn-flex bn-flex-col bn-gap-2 bn-items-start bn-justify-center\"\n      )}\n      ref={ref}>\n      {children}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const PanelTextInput = forwardRef<\n  HTMLInputElement,\n  ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n  const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Input.Input\n      data-test={\"embed-input\"}\n      className={cn(className, \"bn-w-80\")}\n      ref={ref}\n      value={value}\n      placeholder={placeholder}\n      onKeyDown={onKeyDown}\n      onChange={onChange}\n    />\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const Popover = (\n  props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"]\n) => {\n  const {\n    children,\n    opened,\n    position, // unused\n    ...rest\n  } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Popover.Popover open={opened}>\n      {children}\n    </ShadCNComponents.Popover.Popover>\n  );\n};\n\nexport const PopoverTrigger = forwardRef(\n  (props: ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"], ref: any) => {\n    const { children, ...rest } = props;\n\n    assertEmpty(rest);\n\n    const ShadCNComponents = useShadCNComponentsContext()!;\n\n    return (\n      <ShadCNComponents.Popover.PopoverTrigger ref={ref} asChild={true}>\n        {children}\n      </ShadCNComponents.Popover.PopoverTrigger>\n    );\n  }\n);\n\nexport const PopoverContent = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n  const { className, variant, children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Popover.PopoverContent\n      sideOffset={8}\n      className={cn(\n        className,\n        \"bn-flex bn-flex-col bn-gap-2\",\n        variant === \"panel-popover\"\n          ? \"bn-p-0 bn-border-none bn-shadow-none bn-max-w-none bn-w-fit\"\n          : \"\"\n      )}\n      ref={ref}>\n      {children}\n    </ShadCNComponents.Popover.PopoverContent>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n  const { className, children, ...rest } = props;\n\n  assertEmpty(rest, false);\n\n  return (\n    <div className={className} ref={ref} {...rest}>\n      {children}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const SideMenuButton = forwardRef<\n  HTMLButtonElement,\n  ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n  const {\n    className,\n    children,\n    icon,\n    onClick,\n    onDragEnd,\n    onDragStart,\n    draggable,\n    label,\n    ...rest\n  } = props;\n\n  // false, because rest props can be added by ariakit when button is used as a trigger\n  // assertEmpty in this case is only used at typescript level, not runtime level\n  assertEmpty(rest, false);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Button.Button\n      variant={\"ghost\"}\n      className={cn(className, \"bn-text-gray-400\")}\n      ref={ref}\n      aria-label={label}\n      onClick={onClick}\n      onDragStart={onDragStart}\n      onDragEnd={onDragEnd}\n      draggable={draggable}\n      {...rest}>\n      {icon}\n      {children}\n    </ShadCNComponents.Button.Button>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n  const { className, children, id, columns, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      className={className}\n      style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n      ref={ref}\n      id={id}\n      role=\"grid\">\n      {children}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n  const { className, children, columns, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      className={className}\n      style={{ gridColumn: `1 / ${columns + 1}` }}\n      ref={ref}>\n      {children}\n    </div>\n  );\n});\n","import { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { cn } from \"../lib/utils.js\";\n\nexport const SuggestionMenu = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n  const { className, children, id, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      id={id}\n      role=\"listbox\"\n      // Styles from ShadCN DropdownMenuContent component\n      className={cn(\n        \"bn-z-50 bn-min-w-[8rem] bn-overflow-auto bn-rounded-md bn-border bn-bg-popover bn-p-1 bn-text-popover-foreground bn-shadow-md data-[state=open]:bn-animate-in data-[state=closed]:bn-animate-out data-[state=closed]:bn-fade-out-0 data-[state=open]:bn-fade-in-0 data-[state=closed]:bn-zoom-out-95 data-[state=open]:bn-zoom-in-95 data-[side=bottom]:bn-slide-in-from-top-2 data-[side=left]:bn-slide-in-from-right-2 data-[side=right]:bn-slide-in-from-left-2 data-[side=top]:bn-slide-in-from-bottom-2\",\n        className\n      )}\n      ref={ref}>\n      {children}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n  const { className, children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      // Styles from ShadCN DropdownMenuItem component\n      className={cn(\n        \"bn-relative bn-flex bn-cursor-default bn-select-none bn-items-center bn-rounded-sm bn-px-2 bn-py-1.5 bn-text-sm bn-outline-none bn-transition-colors focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50\",\n        className\n      )}\n      ref={ref}>\n      <div>{children}</div>\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const SuggestionMenuItem = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  const { className, item, isSelected, onClick, id, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const itemRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    if (!itemRef.current || !isSelected) {\n      return;\n    }\n\n    const overflow = elementOverflow(\n      itemRef.current,\n      document.querySelector(\".bn-suggestion-menu\")!\n    );\n    if (overflow === \"top\") {\n      itemRef.current.scrollIntoView(true);\n    } else if (overflow === \"bottom\") {\n      itemRef.current.scrollIntoView(false);\n    }\n  }, [isSelected]);\n\n  return (\n    <div\n      // Styles from ShadCN DropdownMenuItem component\n      className={cn(\n        \"bn-relative bn-flex bn-cursor-pointer bn-select-none bn-items-center bn-rounded-sm bn-px-2 bn-py-1.5 bn-text-sm bn-outline-none bn-transition-colors focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50\",\n        className\n      )}\n      ref={mergeRefs([ref, itemRef])}\n      id={id}\n      onClick={onClick}\n      role=\"option\"\n      aria-selected={isSelected || undefined}>\n      {item.icon && (\n        <div className=\"bn-p-3\" data-position=\"left\">\n          {item.icon}\n        </div>\n      )}\n      <div className=\"bn-flex-1\">\n        <div className=\"bn-text-base\">{item.title}</div>\n        <div className=\"bn-text-xs\">{item.subtext}</div>\n      </div>\n      {item.badge && (\n        <div data-position=\"right\" className=\"bn-text-xs\">\n          <ShadCNComponents.Badge.Badge variant={\"secondary\"}>\n            {item.badge}\n          </ShadCNComponents.Badge.Badge>\n        </div>\n      )}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\n\nexport const SuggestionMenuLabel = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n  const { className, children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      // Styles from ShadCN DropdownMenuLabel component\n      className={cn(\"bn-px-2 bn-py-1.5 bn-text-sm bn-font-semibold\", className)}\n      ref={ref}>\n      {children}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n  const { className, children, ...rest } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div className={className} ref={ref}>\n      {children}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const ExtendButton = forwardRef<\n  HTMLButtonElement,\n  ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n  const { className, children, onMouseDown, onClick, ...rest } = props;\n\n  // false, because rest props can be added by shadcn when button is used as a trigger\n  // assertEmpty in this case is only used at typescript level, not runtime level\n  assertEmpty(rest, false);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Button.Button\n      variant={\"ghost\"}\n      className={cn(\n        className,\n        \"bn-p-0 bn-h-full bn-w-full bn-text-gray-400\",\n        className?.includes(\"bn-extend-button-add-remove-columns\")\n          ? \"bn-ml-1\"\n          : \"bn-mt-1\",\n        className?.includes(\"bn-extend-button-editing\")\n          ? \"bn-bg-accent bn-text-accent-foreground\"\n          : \"\"\n      )}\n      ref={ref}\n      onClick={onClick}\n      onMouseDown={onMouseDown}\n      {...rest}>\n      {children}\n    </ShadCNComponents.Button.Button>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const TableHandle = forwardRef<\n  HTMLButtonElement,\n  ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n  const {\n    className,\n    children,\n    draggable,\n    onDragStart,\n    onDragEnd,\n    style,\n    label,\n    ...rest\n  } = props;\n\n  // false, because rest props can be added by shadcn when button is used as a trigger\n  // assertEmpty in this case is only used at typescript level, not runtime level\n  assertEmpty(rest, false);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Button.Button\n      variant={\"ghost\"}\n      className={cn(className, \"bn-p-0 bn-h-fit bn-w-fit bn-text-gray-400\")}\n      ref={ref}\n      aria-label={label}\n      draggable={draggable}\n      onDragStart={onDragStart}\n      onDragEnd={onDragEnd}\n      style={style}\n      {...rest}>\n      {children}\n    </ShadCNComponents.Button.Button>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n  ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n  (props, ref) => {\n    const { className, children, onMouseEnter, onMouseLeave, ...rest } = props;\n\n    assertEmpty(rest);\n\n    const ShadCNComponents = useShadCNComponentsContext()!;\n\n    return (\n      <ShadCNComponents.Tooltip.TooltipProvider delayDuration={0}>\n        <div\n          className={cn(\n            className,\n            \"bn-flex bn-gap-1 bn-p-1 bn-bg-popover bn-text-popover-foreground bn-border bn-rounded-lg bn-shadow-md\"\n          )}\n          ref={ref}\n          onMouseEnter={onMouseEnter}\n          onMouseLeave={onMouseLeave}>\n          {children}\n        </div>\n      </ShadCNComponents.Tooltip.TooltipProvider>\n    );\n  }\n);\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n  ComponentProps[\"LinkToolbar\"][\"Button\"];\n\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n  (props, ref) => {\n    const {\n      className,\n      children,\n      mainTooltip,\n      secondaryTooltip,\n      icon,\n      isSelected,\n      isDisabled,\n      onClick,\n      label,\n      ...rest\n    } = props;\n\n    // false, because rest props can be added by shadcn when button is used as a trigger\n    // assertEmpty in this case is only used at typescript level, not runtime level\n    assertEmpty(rest, false);\n\n    const ShadCNComponents = useShadCNComponentsContext()!;\n\n    const trigger =\n      isSelected === undefined ? (\n        <ShadCNComponents.Button.Button\n          className={className}\n          variant=\"ghost\"\n          disabled={isDisabled}\n          onClick={onClick}\n          ref={ref}\n          aria-label={label}\n          {...rest}>\n          {icon}\n          {children}\n        </ShadCNComponents.Button.Button>\n      ) : (\n        <ShadCNComponents.Toggle.Toggle\n          className={cn(\n            className,\n            \"data-[state=open]:bg-accent data-[state=closed]:text-accent-foreground\"\n          )}\n          aria-label={label}\n          onClick={onClick}\n          pressed={isSelected}\n          disabled={isDisabled}\n          data-state={isSelected ? \"on\" : \"off\"}\n          data-disabled={isDisabled}\n          ref={ref}\n          {...rest}>\n          {icon}\n          {children}\n        </ShadCNComponents.Toggle.Toggle>\n      );\n\n    return (\n      <ShadCNComponents.Tooltip.Tooltip>\n        <ShadCNComponents.Tooltip.TooltipTrigger asChild>\n          {trigger}\n        </ShadCNComponents.Tooltip.TooltipTrigger>\n        <ShadCNComponents.Tooltip.TooltipContent\n          className={\"bn-flex bn-flex-col bn-items-center\"}>\n          <span>{mainTooltip}</span>\n          {secondaryTooltip && <span>{secondaryTooltip}</span>}\n        </ShadCNComponents.Tooltip.TooltipContent>\n      </ShadCNComponents.Tooltip.Tooltip>\n    );\n  }\n);\n\nexport const ToolbarSelect = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n  const { className, items, isDisabled, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  // TODO?\n  const SelectItemContent = (props: any) => (\n    <div className={\"bn-flex bn-gap-1 bn-items-center\"}>\n      {props.icon}\n      {props.text}\n    </div>\n  );\n\n  const selectedItem = items.filter((p) => p.isSelected)[0];\n\n  if (!selectedItem) {\n    return null;\n  }\n\n  return (\n    <ShadCNComponents.Select.Select\n      value={selectedItem.text}\n      onValueChange={(value) =>\n        items.find((item) => item.text === value)!.onClick?.()\n      }\n      disabled={isDisabled}>\n      <ShadCNComponents.Select.SelectTrigger className={\"bn-border-none\"}>\n        <ShadCNComponents.Select.SelectValue />\n      </ShadCNComponents.Select.SelectTrigger>\n      <ShadCNComponents.Select.SelectContent className={className} ref={ref}>\n        {items.map((item) => (\n          <ShadCNComponents.Select.SelectItem\n            disabled={item.isDisabled}\n            key={item.text}\n            value={item.text}>\n            <SelectItemContent {...item} />\n          </ShadCNComponents.Select.SelectItem>\n        ))}\n      </ShadCNComponents.Select.SelectContent>\n    </ShadCNComponents.Select.Select>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const PanelButton = forwardRef<\n  HTMLButtonElement,\n  ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n  const { className, children, onClick, label, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Button.Button\n      type={\"submit\"}\n      className={className}\n      aria-label={label}\n      ref={ref}\n      onClick={onClick}>\n      {children}\n    </ShadCNComponents.Button.Button>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const PanelFileInput = forwardRef<\n  HTMLInputElement,\n  ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n  const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const ShadCNComponents = useShadCNComponentsContext()!;\n\n  return (\n    <ShadCNComponents.Input.Input\n      type={\"file\"}\n      className={className}\n      ref={ref}\n      accept={accept}\n      value={value ? value.name : undefined}\n      onChange={async (e) => onChange?.(e.target.files![0])}\n      placeholder={placeholder}\n    />\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n  const { className, isSelected, onClick, item, id, ...rest } = props;\n\n  assertEmpty(rest);\n\n  const itemRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    if (!itemRef.current || !isSelected) {\n      return;\n    }\n\n    const overflow = elementOverflow(\n      itemRef.current,\n      document.querySelector(\".bn-grid-suggestion-menu\")!\n    );\n\n    if (overflow === \"top\") {\n      itemRef.current.scrollIntoView(true);\n    } else if (overflow === \"bottom\") {\n      itemRef.current.scrollIntoView(false);\n    }\n  }, [isSelected]);\n\n  return (\n    <div\n      className={className}\n      ref={mergeRefs([ref, itemRef])}\n      id={id}\n      role=\"option\"\n      onClick={onClick}\n      aria-selected={isSelected || undefined}>\n      {item.icon}\n    </div>\n  );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n  HTMLDivElement,\n  ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n  const {\n    className,\n    children, // unused, using \"dots\" instead\n    columns,\n    ...rest\n  } = props;\n\n  assertEmpty(rest);\n\n  return (\n    <div\n      className={className}\n      style={{ gridColumn: `1 / ${columns + 1}` }}\n      ref={ref}>\n      {children}\n    </div>\n  );\n});\n","import {\n  BlockSchema,\n  InlineContentSchema,\n  mergeCSSClasses,\n  StyleSchema,\n} from \"@blocknote/core\";\nimport {\n  BlockNoteViewProps,\n  BlockNoteViewRaw,\n  Components,\n  ComponentsContext,\n} from \"@blocknote/react\";\nimport { useMemo } from \"react\";\n\nimport { Form } from \"./form/Form.js\";\nimport { TextInput } from \"./form/TextInput.js\";\nimport {\n  Menu,\n  MenuDivider,\n  MenuDropdown,\n  MenuItem,\n  MenuLabel,\n  MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/popover.js\";\nimport {\n  ShadCNComponents,\n  ShadCNComponentsContext,\n  ShadCNDefaultComponents,\n} from \"./ShadCNComponentsContext.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar, ToolbarButton, ToolbarSelect } from \"./toolbar/Toolbar.js\";\n\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport \"./style.css\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\n\nexport const components: Components = {\n  FormattingToolbar: {\n    Root: Toolbar,\n    Button: ToolbarButton,\n    Select: ToolbarSelect,\n  },\n  FilePanel: {\n    Root: Panel,\n    Button: PanelButton,\n    FileInput: PanelFileInput,\n    TabPanel: PanelTab,\n    TextInput: PanelTextInput,\n  },\n  LinkToolbar: {\n    Root: Toolbar,\n    Button: ToolbarButton,\n  },\n  SideMenu: {\n    Root: SideMenu,\n    Button: SideMenuButton,\n  },\n  SuggestionMenu: {\n    Root: SuggestionMenu,\n    Item: SuggestionMenuItem,\n    EmptyItem: SuggestionMenuEmptyItem,\n    Label: SuggestionMenuLabel,\n    Loader: SuggestionMenuLoader,\n  },\n  GridSuggestionMenu: {\n    Root: GridSuggestionMenu,\n    Item: GridSuggestionMenuItem,\n    EmptyItem: GridSuggestionMenuEmptyItem,\n    Loader: GridSuggestionMenuLoader,\n  },\n  TableHandle: {\n    Root: TableHandle,\n    ExtendButton: ExtendButton,\n  },\n  Generic: {\n    Form: {\n      Root: Form,\n      TextInput: TextInput,\n    },\n    Menu: {\n      Root: Menu,\n      Trigger: MenuTrigger,\n      Dropdown: MenuDropdown,\n      Divider: MenuDivider,\n      Label: MenuLabel,\n      Item: MenuItem,\n    },\n    Popover: {\n      Root: Popover,\n      Trigger: PopoverTrigger,\n      Content: PopoverContent,\n    },\n  },\n};\n\nexport const BlockNoteView = <\n  BSchema extends BlockSchema,\n  ISchema extends InlineContentSchema,\n  SSchema extends StyleSchema\n>(\n  props: BlockNoteViewProps<BSchema, ISchema, SSchema> & {\n    /**\n     * (optional)Provide your own shadcn component overrides\n     */\n    shadCNComponents?: Partial<ShadCNComponents>;\n  }\n) => {\n  const { className, shadCNComponents, ...rest } = props;\n\n  const componentsValue = useMemo(() => {\n    return {\n      ...ShadCNDefaultComponents,\n      ...shadCNComponents,\n    };\n  }, [shadCNComponents]);\n\n  return (\n    <ShadCNComponentsContext.Provider value={componentsValue}>\n      <ComponentsContext.Provider value={components}>\n        <BlockNoteViewRaw\n          className={mergeCSSClasses(\"bn-shadcn\", className || \"\")}\n          {...rest}\n        />\n      </ComponentsContext.Provider>\n    </ShadCNComponentsContext.Provider>\n  );\n};\n"],"names":["twMerge","extendTailwindMerge","cn","inputs","clsx","badgeVariants","cva","Badge","className","variant","props","jsx","buttonVariants","Button","React","size","asChild","ref","Comp","Slot","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","DropdownMenu","DropdownMenuPrimitive","DropdownMenuTrigger","DropdownMenuSub","DropdownMenuSubTrigger","inset","children","jsxs","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","Check","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","labelVariants","Label","LabelPrimitive","Form","FormProvider","FormFieldContext","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","FormLabel","error","formItemId","FormControl","formDescriptionId","formMessageId","FormDescription","FormMessage","body","Input","type","Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","align","Select","SelectPrimitive","SelectValue","SelectTrigger","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","SelectSeparator","Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","toggleVariants","Toggle","TogglePrimitive","TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","ShadCNDefaultComponents","ShadCNBadge","ShadCNButton","ShadCNCard","ShadCNCardContent","ShadCNDropdownMenu","ShadCNDropdownMenuCheckboxItem","ShadCNDropdownMenuContent","ShadCNDropdownMenuItem","ShadCNDropdownMenuLabel","ShadCNDropdownMenuSeparator","ShadCNDropdownMenuSub","ShadCNDropdownMenuSubContent","ShadCNDropdownMenuSubTrigger","ShadCNDropdownMenuTrigger","ShadCNForm","ShadCNInput","ShadCNLabel","ShadCNPopover","ShadCNPopoverContent","ShadCNPopoverTrigger","ShadCNSelect","ShadCNSelectContent","ShadCNSelectItem","ShadCNSelectTrigger","ShadCNSelectValue","ShadCNTabs","ShadCNTabsContent","ShadCNTabsList","ShadCNTabsTrigger","ShadCNToggle","ShadCNTooltip","ShadCNTooltipContent","ShadCNTooltipProvider","ShadCNTooltipTrigger","ShadCNComponentsContext","createContext","useShadCNComponentsContext","useContext","rest","assertEmpty","ShadCNComponents","form","useForm","TextInput","forwardRef","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","MenuTriggerWithPointerUp","e","event","Menu","onOpenChange","sub","MenuTrigger","useMemo","MenuDropdown","MenuItem","subTrigger","onClick","Fragment","MenuDivider","MenuLabel","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","tab","PanelTab","PanelTextInput","opened","SideMenu","SideMenuButton","onDragEnd","onDragStart","draggable","GridSuggestionMenu","columns","GridSuggestionMenuEmptyItem","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","item","isSelected","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","trigger","ToolbarSelect","items","SelectItemContent","selectedItem","p","_b","_a","PanelButton","PanelFileInput","accept","GridSuggestionMenuItem","GridSuggestionMenuLoader","components","BlockNoteView","shadCNComponents","componentsValue","ComponentsContext","BlockNoteViewRaw","mergeCSSClasses"],"mappings":"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"}