@blocknote/shadcn 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocknote-shadcn.cjs.map +1 -1
- package/dist/blocknote-shadcn.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +16 -12
- package/types/src/BlockNoteView.d.ts +3 -3
- package/types/src/ShadCNComponentsContext.d.ts +12 -13
- package/types/src/badge/Badge.d.ts +7 -8
- package/types/src/comments/Card.d.ts +8 -9
- package/types/src/comments/Comment.d.ts +2 -3
- package/types/src/comments/Editor.d.ts +4 -5
- package/types/src/components/ui/badge.d.ts +1 -1
- package/types/src/components/ui/dropdown-menu.d.ts +4 -4
- package/types/src/components/ui/form.d.ts +2 -2
- package/types/src/components/ui/skeleton.d.ts +0 -1
- package/types/src/form/Form.d.ts +1 -1
- package/types/src/form/TextInput.d.ts +4 -5
- package/types/src/menu/Button.d.ts +6 -7
- package/types/src/menu/Menu.d.ts +10 -11
- package/types/src/panel/Panel.d.ts +1 -2
- package/types/src/panel/PanelButton.d.ts +2 -3
- package/types/src/panel/PanelFileInput.d.ts +1 -2
- package/types/src/panel/PanelTab.d.ts +1 -2
- package/types/src/panel/PanelTextInput.d.ts +2 -3
- package/types/src/popover/popover.d.ts +2 -3
- package/types/src/sideMenu/SideMenu.d.ts +1 -2
- package/types/src/sideMenu/SideMenuButton.d.ts +6 -7
- package/types/src/suggestionMenu/SuggestionMenu.d.ts +1 -2
- package/types/src/suggestionMenu/SuggestionMenuEmptyItem.d.ts +1 -2
- package/types/src/suggestionMenu/SuggestionMenuItem.d.ts +1 -2
- package/types/src/suggestionMenu/SuggestionMenuLabel.d.ts +1 -2
- package/types/src/suggestionMenu/SuggestionMenuLoader.d.ts +1 -2
- package/types/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.d.ts +1 -2
- package/types/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.d.ts +1 -2
- package/types/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.d.ts +1 -2
- package/types/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.d.ts +1 -2
- package/types/src/tableHandle/ExtendButton.d.ts +3 -4
- package/types/src/tableHandle/TableHandle.d.ts +4 -5
- package/types/src/toolbar/Toolbar.d.ts +15 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-shadcn.cjs","sources":["../src/lib/utils.ts","../src/components/ui/avatar.tsx","../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/skeleton.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/menu/Button.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/comments/Card.tsx","../src/comments/Comment.tsx","../src/comments/Editor.tsx","../src/badge/Badge.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/components.ts","../src/BlockNoteView.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 * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\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 type=\"button\"\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 { cn } from \"../../lib/utils\";\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-primary/10\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\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 {\n Avatar as ShadCNAvatar,\n AvatarFallback as ShadCNAvatarFallback,\n AvatarImage as ShadCNAvatarImage,\n} from \"./components/ui/avatar.js\";\nimport { 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 { Skeleton as ShadCNSkeleton } from \"./components/ui/skeleton.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 Avatar: {\n Avatar: ShadCNAvatar,\n AvatarFallback: ShadCNAvatarFallback,\n AvatarImage: ShadCNAvatarImage,\n },\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 Skeleton: {\n Skeleton: ShadCNSkeleton,\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\n modal={false}\n 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\", checked ? \"\" : \"bn-px-2\")}\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 MenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"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\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 {\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n variant,\n ...rest\n } = 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 bn-h-fit\",\n variant === \"action-toolbar\" ? \"bn-w-fit\" : \"\"\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 variant,\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={cn(\n className,\n variant === \"compact\" ? \"bn-h-6 bn-min-w-6 bn-p-0\" : \"\"\n )}\n variant=\"ghost\"\n size={variant === \"compact\" ? \"sm\" : \"default\"}\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 variant === \"compact\" ? \"bn-h-6 bn-min-w-6 bn-p-0\" : \"\"\n )}\n size={variant === \"compact\" ? \"sm\" : \"default\"}\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={\n \"bn-flex bn-flex-col bn-items-center bn-whitespace-pre-wrap\"\n }>\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 { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const Card = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Card\"]\n>((props, ref) => {\n const {\n className,\n children,\n selected,\n headerText,\n onFocus,\n onBlur,\n tabIndex,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n return (\n <ShadCNComponents.Card.Card\n className={cn(\n className,\n \"bn-w-[300px]\",\n selected ? \"bn-bg-accent bn-text-accent-foreground\" : \"\"\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n tabIndex={tabIndex}\n ref={ref}>\n {headerText && (\n <div className={\"bn-px-4 bn-pt-4 bn-italic bn-text-sm\"}>\n {headerText}\n </div>\n )}\n {children}\n </ShadCNComponents.Card.Card>\n );\n});\n\nexport const CardSection = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"CardSection\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={cn(\n className,\n \"bn-p-4\",\n className?.includes(\"bn-thread-comments\")\n ? \"bn-flex bn-flex-col bn-gap-6 bn-border-b\"\n : \"\"\n )}\n ref={ref}>\n {children}\n </div>\n );\n});\n\nexport const ExpandSectionsPrompt = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Comments\"][\"ExpandSectionsPrompt\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n return (\n <ShadCNComponents.Button.Button\n className={cn(\n className,\n \"bn-p-0 bn-w-fit bn-text-foreground bn-bg-transparent hover:bn-bg-transparent\"\n )}\n ref={ref}>\n {children}\n </ShadCNComponents.Button.Button>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, useFocusWithin } from \"@blocknote/react\";\nimport { forwardRef, useState } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nconst AuthorInfo = forwardRef<\n HTMLDivElement,\n Pick<\n ComponentProps[\"Comments\"][\"Comment\"],\n \"authorInfo\" | \"timeString\" | \"edited\"\n >\n>((props, _ref) => {\n const { authorInfo, timeString, edited, ...rest } = props;\n\n assertEmpty(rest, false);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n if (authorInfo === \"loading\") {\n return (\n <div\n className={\n \"bn-flex bn-flex-row bn-flex-nowrap bn-items-center bn-gap-4\"\n }>\n <ShadCNComponents.Skeleton.Skeleton\n className={\n \"bn-size-7 bn-rounded-full bn-bg-neutral-400 bn-animate-pulse\"\n }\n />\n <ShadCNComponents.Skeleton.Skeleton\n className={\n \"bn-h-3 bn-w-32 bn-rounded-full bn-bg-neutral-400 bn-animate-pulse\"\n }\n />\n </div>\n );\n }\n\n return (\n <div\n className={\"bn-flex bn-flex-row bn-flex-nowrap bn-items-center bn-gap-4\"}>\n <ShadCNComponents.Avatar.Avatar>\n <ShadCNComponents.Avatar.AvatarImage\n src={authorInfo.avatarUrl}\n alt={authorInfo.username}\n className={\"bn-h-7 bn-rounded-full\"}\n />\n <ShadCNComponents.Avatar.AvatarFallback>\n {authorInfo.username[0]}\n </ShadCNComponents.Avatar.AvatarFallback>\n </ShadCNComponents.Avatar.Avatar>\n\n <div\n className={\n \"bn-flex bn-flex-row bn-flex-nowrap bn-items-center bn-gap-2\"\n }>\n <span className={\"bn-text-sm bn-font-bold\"}>{authorInfo.username}</span>\n <span className={\"bn-text-xs\"}>\n {timeString} {edited && \"(edited)\"}\n </span>\n </div>\n </div>\n );\n});\n\nexport const Comment = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Comment\"]\n>((props, ref) => {\n const {\n className,\n showActions,\n authorInfo,\n timeString,\n actions,\n edited,\n children,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n const [hovered, setHovered] = useState(false);\n const { focused, ref: focusRef } = useFocusWithin();\n\n const doShowActions =\n actions &&\n (showActions === true ||\n showActions === undefined ||\n (showActions === \"hover\" && hovered) ||\n focused);\n\n return (\n <div\n ref={ref}\n className={cn(className, \"bn-relative bn-flex bn-flex-col bn-gap-2\")}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}>\n {doShowActions ? (\n <div\n className={\"bn-absolute bn-right-0 bn-top-0 bn-z-10\"}\n ref={focusRef}>\n {actions}\n </div>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { BlockNoteView } from \"../BlockNoteView.js\";\nimport { cn } from \"../lib/utils.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest);\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={cn(className, \"\")}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}>\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\"\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import { 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 Badge = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n text,\n icon,\n isSelected,\n mainTooltip,\n secondaryTooltip,\n onClick,\n onMouseEnter,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n const badge = (\n <ShadCNComponents.Button.Button\n variant={isSelected ? \"secondary\" : \"outline\"}\n className={cn(\n className,\n \"bn-flex bn-items-center bn-gap-1 bn-rounded-full bn-h-7 bn-px-2.5\"\n )}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={ref}>\n <span>{icon}</span>\n <span>{text}</span>\n </ShadCNComponents.Button.Button>\n );\n\n if (!mainTooltip) {\n return badge;\n }\n\n return (\n <ShadCNComponents.Tooltip.Tooltip>\n <ShadCNComponents.Tooltip.TooltipTrigger asChild>\n {badge}\n </ShadCNComponents.Tooltip.TooltipTrigger>\n <ShadCNComponents.Tooltip.TooltipContent\n className={\n \"bn-flex bn-flex-col bn-items-center bn-whitespace-pre-wrap\"\n }>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </ShadCNComponents.Tooltip.TooltipContent>\n </ShadCNComponents.Tooltip.Tooltip>\n );\n});\n\nexport const BadgeGroup = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Group\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n return (\n <ShadCNComponents.Tooltip.TooltipProvider delayDuration={0}>\n <div\n className={cn(\n className,\n \"bn-flex bn-flex-row bn-flex-wrap bn-gap-1 bn-w-full\"\n )}\n ref={ref}>\n {children}\n </div>\n </ShadCNComponents.Tooltip.TooltipProvider>\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 { Components } from \"@blocknote/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 { MenuButton } from \"./menu/Button.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 { 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\";\nimport { Card, CardSection, ExpandSectionsPrompt } from \"./comments/Card.js\";\nimport { Comment } from \"./comments/Comment.js\";\nimport { Editor } from \"./comments/Editor.js\";\nimport { Badge, BadgeGroup } from \"./badge/Badge.js\";\n\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 Select: ToolbarSelect,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Comments: {\n Comment: Comment,\n Editor: Editor,\n Card: Card,\n CardSection: CardSection,\n ExpandSectionsPrompt: ExpandSectionsPrompt,\n },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { useMemo } from \"react\";\n\nimport { components } from \"./components.js\";\nimport {\n ShadCNComponents,\n ShadCNComponentsContext,\n ShadCNDefaultComponents,\n} from \"./ShadCNComponentsContext.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema> & {\n /**\n * (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","Avatar","React","className","props","ref","jsx","AvatarPrimitive","AvatarImage","AvatarFallback","badgeVariants","cva","Badge","variant","buttonVariants","Button","size","asChild","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","Skeleton","Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","toggleVariants","Toggle","TogglePrimitive","TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","ShadCNDefaultComponents","ShadCNAvatar","ShadCNAvatarFallback","ShadCNAvatarImage","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","ShadCNSkeleton","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","MenuButton","onDragEnd","onDragStart","draggable","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","tab","PanelTab","PanelTextInput","opened","SideMenu","SideMenuButton","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","selected","headerText","onFocus","onBlur","tabIndex","CardSection","ExpandSectionsPrompt","AuthorInfo","_ref","authorInfo","timeString","edited","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","doShowActions","Editor","editor","editable","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","text","badge","BadgeGroup","PanelButton","PanelFileInput","accept","GridSuggestionMenuItem","GridSuggestionMenuLoader","components","shadCNComponents","componentsValue","ComponentsContext","BlockNoteViewRaw","mergeCSSClasses"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote-shadcn.cjs","sources":["../src/lib/utils.ts","../src/components/ui/avatar.tsx","../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/skeleton.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/menu/Button.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/comments/Card.tsx","../src/comments/Comment.tsx","../src/comments/Editor.tsx","../src/badge/Badge.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/components.ts","../src/BlockNoteView.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 * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\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 type=\"button\"\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 { cn } from \"../../lib/utils\";\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-primary/10\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\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 {\n Avatar as ShadCNAvatar,\n AvatarFallback as ShadCNAvatarFallback,\n AvatarImage as ShadCNAvatarImage,\n} from \"./components/ui/avatar.js\";\nimport { 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 { Skeleton as ShadCNSkeleton } from \"./components/ui/skeleton.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 Avatar: {\n Avatar: ShadCNAvatar,\n AvatarFallback: ShadCNAvatarFallback,\n AvatarImage: ShadCNAvatarImage,\n },\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 Skeleton: {\n Skeleton: ShadCNSkeleton,\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\n modal={false}\n 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\", checked ? \"\" : \"bn-px-2\")}\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 MenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"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\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 {\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n variant,\n ...rest\n } = 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 bn-h-fit\",\n variant === \"action-toolbar\" ? \"bn-w-fit\" : \"\"\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 variant,\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={cn(\n className,\n variant === \"compact\" ? \"bn-h-6 bn-min-w-6 bn-p-0\" : \"\"\n )}\n variant=\"ghost\"\n size={variant === \"compact\" ? \"sm\" : \"default\"}\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 variant === \"compact\" ? \"bn-h-6 bn-min-w-6 bn-p-0\" : \"\"\n )}\n size={variant === \"compact\" ? \"sm\" : \"default\"}\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={\n \"bn-flex bn-flex-col bn-items-center bn-whitespace-pre-wrap\"\n }>\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 { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nexport const Card = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Card\"]\n>((props, ref) => {\n const {\n className,\n children,\n selected,\n headerText,\n onFocus,\n onBlur,\n tabIndex,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n return (\n <ShadCNComponents.Card.Card\n className={cn(\n className,\n \"bn-w-[300px]\",\n selected ? \"bn-bg-accent bn-text-accent-foreground\" : \"\"\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n tabIndex={tabIndex}\n ref={ref}>\n {headerText && (\n <div className={\"bn-px-4 bn-pt-4 bn-italic bn-text-sm\"}>\n {headerText}\n </div>\n )}\n {children}\n </ShadCNComponents.Card.Card>\n );\n});\n\nexport const CardSection = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"CardSection\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={cn(\n className,\n \"bn-p-4\",\n className?.includes(\"bn-thread-comments\")\n ? \"bn-flex bn-flex-col bn-gap-6 bn-border-b\"\n : \"\"\n )}\n ref={ref}>\n {children}\n </div>\n );\n});\n\nexport const ExpandSectionsPrompt = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Comments\"][\"ExpandSectionsPrompt\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n return (\n <ShadCNComponents.Button.Button\n className={cn(\n className,\n \"bn-p-0 bn-w-fit bn-text-foreground bn-bg-transparent hover:bn-bg-transparent\"\n )}\n ref={ref}>\n {children}\n </ShadCNComponents.Button.Button>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, useFocusWithin } from \"@blocknote/react\";\nimport { forwardRef, useState } from \"react\";\n\nimport { cn } from \"../lib/utils.js\";\nimport { useShadCNComponentsContext } from \"../ShadCNComponentsContext.js\";\n\nconst AuthorInfo = forwardRef<\n HTMLDivElement,\n Pick<\n ComponentProps[\"Comments\"][\"Comment\"],\n \"authorInfo\" | \"timeString\" | \"edited\"\n >\n>((props, _ref) => {\n const { authorInfo, timeString, edited, ...rest } = props;\n\n assertEmpty(rest, false);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n if (authorInfo === \"loading\") {\n return (\n <div\n className={\n \"bn-flex bn-flex-row bn-flex-nowrap bn-items-center bn-gap-4\"\n }>\n <ShadCNComponents.Skeleton.Skeleton\n className={\n \"bn-size-7 bn-rounded-full bn-bg-neutral-400 bn-animate-pulse\"\n }\n />\n <ShadCNComponents.Skeleton.Skeleton\n className={\n \"bn-h-3 bn-w-32 bn-rounded-full bn-bg-neutral-400 bn-animate-pulse\"\n }\n />\n </div>\n );\n }\n\n return (\n <div\n className={\"bn-flex bn-flex-row bn-flex-nowrap bn-items-center bn-gap-4\"}>\n <ShadCNComponents.Avatar.Avatar>\n <ShadCNComponents.Avatar.AvatarImage\n src={authorInfo.avatarUrl}\n alt={authorInfo.username}\n className={\"bn-h-7 bn-rounded-full\"}\n />\n <ShadCNComponents.Avatar.AvatarFallback>\n {authorInfo.username[0]}\n </ShadCNComponents.Avatar.AvatarFallback>\n </ShadCNComponents.Avatar.Avatar>\n\n <div\n className={\n \"bn-flex bn-flex-row bn-flex-nowrap bn-items-center bn-gap-2\"\n }>\n <span className={\"bn-text-sm bn-font-bold\"}>{authorInfo.username}</span>\n <span className={\"bn-text-xs\"}>\n {timeString} {edited && \"(edited)\"}\n </span>\n </div>\n </div>\n );\n});\n\nexport const Comment = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Comment\"]\n>((props, ref) => {\n const {\n className,\n showActions,\n authorInfo,\n timeString,\n actions,\n edited,\n children,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n const [hovered, setHovered] = useState(false);\n const { focused, ref: focusRef } = useFocusWithin();\n\n const doShowActions =\n actions &&\n (showActions === true ||\n showActions === undefined ||\n (showActions === \"hover\" && hovered) ||\n focused);\n\n return (\n <div\n ref={ref}\n className={cn(className, \"bn-relative bn-flex bn-flex-col bn-gap-2\")}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}>\n {doShowActions ? (\n <div\n className={\"bn-absolute bn-right-0 bn-top-0 bn-z-10\"}\n ref={focusRef}>\n {actions}\n </div>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nimport { BlockNoteView } from \"../BlockNoteView.js\";\nimport { cn } from \"../lib/utils.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest);\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={cn(className, \"\")}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}>\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\"\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import { 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 Badge = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n text,\n icon,\n isSelected,\n mainTooltip,\n secondaryTooltip,\n onClick,\n onMouseEnter,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n const badge = (\n <ShadCNComponents.Button.Button\n variant={isSelected ? \"secondary\" : \"outline\"}\n className={cn(\n className,\n \"bn-flex bn-items-center bn-gap-1 bn-rounded-full bn-h-7 bn-px-2.5\"\n )}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={ref}>\n <span>{icon}</span>\n <span>{text}</span>\n </ShadCNComponents.Button.Button>\n );\n\n if (!mainTooltip) {\n return badge;\n }\n\n return (\n <ShadCNComponents.Tooltip.Tooltip>\n <ShadCNComponents.Tooltip.TooltipTrigger asChild>\n {badge}\n </ShadCNComponents.Tooltip.TooltipTrigger>\n <ShadCNComponents.Tooltip.TooltipContent\n className={\n \"bn-flex bn-flex-col bn-items-center bn-whitespace-pre-wrap\"\n }>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </ShadCNComponents.Tooltip.TooltipContent>\n </ShadCNComponents.Tooltip.Tooltip>\n );\n});\n\nexport const BadgeGroup = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Group\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n const ShadCNComponents = useShadCNComponentsContext()!;\n\n return (\n <ShadCNComponents.Tooltip.TooltipProvider delayDuration={0}>\n <div\n className={cn(\n className,\n \"bn-flex bn-flex-row bn-flex-wrap bn-gap-1 bn-w-full\"\n )}\n ref={ref}>\n {children}\n </div>\n </ShadCNComponents.Tooltip.TooltipProvider>\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 { Components } from \"@blocknote/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 { MenuButton } from \"./menu/Button.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 { 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\";\nimport { Card, CardSection, ExpandSectionsPrompt } from \"./comments/Card.js\";\nimport { Comment } from \"./comments/Comment.js\";\nimport { Editor } from \"./comments/Editor.js\";\nimport { Badge, BadgeGroup } from \"./badge/Badge.js\";\n\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 Select: ToolbarSelect,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Comments: {\n Comment: Comment,\n Editor: Editor,\n Card: Card,\n CardSection: CardSection,\n ExpandSectionsPrompt: ExpandSectionsPrompt,\n },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { useMemo } from \"react\";\n\nimport { components } from \"./components.js\";\nimport {\n ShadCNComponents,\n ShadCNComponentsContext,\n ShadCNDefaultComponents,\n} from \"./ShadCNComponentsContext.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema> & {\n /**\n * (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","Avatar","React","className","props","ref","jsx","AvatarPrimitive","AvatarImage","AvatarFallback","badgeVariants","cva","Badge","variant","buttonVariants","Button","size","asChild","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","Skeleton","Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","toggleVariants","Toggle","TogglePrimitive","TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","ShadCNDefaultComponents","ShadCNAvatar","ShadCNAvatarFallback","ShadCNAvatarImage","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","ShadCNSkeleton","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","MenuButton","onDragEnd","onDragStart","draggable","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","tab","PanelTab","PanelTextInput","opened","SideMenu","SideMenuButton","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","selected","headerText","onFocus","onBlur","tabIndex","CardSection","ExpandSectionsPrompt","AuthorInfo","_ref","authorInfo","timeString","edited","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","doShowActions","Editor","editor","editable","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","text","badge","BadgeGroup","PanelButton","PanelFileInput","accept","GridSuggestionMenuItem","GridSuggestionMenuLoader","components","shadCNComponents","componentsValue","ComponentsContext","BlockNoteViewRaw","mergeCSSClasses"],"mappings":"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"}
|