import type { Component, ComponentProps, JSX, ValidComponent } from "solid-js" import { splitProps } from "solid-js" import * as MenubarPrimitive from "@kobalte/core/menubar" import type { PolymorphicProps } from "@kobalte/core/polymorphic" import { cn } from "~/styles/utils" const MenubarGroup = MenubarPrimitive.Group const MenubarPortal = MenubarPrimitive.Portal const MenubarSub = MenubarPrimitive.Sub const MenubarRadioGroup = MenubarPrimitive.RadioGroup type MenubarRootProps = MenubarPrimitive.MenubarRootProps & { class?: string | undefined } const Menubar = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarRootProps, ["class"]) return ( ) } const MenubarMenu: Component = (props) => { return } type MenubarTriggerProps = MenubarPrimitive.MenubarTriggerProps & { class?: string | undefined } const MenubarTrigger = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarTriggerProps, ["class"]) return ( ) } type MenubarContentProps = MenubarPrimitive.MenubarContentProps & { class?: string | undefined } const MenubarContent = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarContentProps, ["class"]) return ( ) } type MenubarSubTriggerProps = MenubarPrimitive.MenubarSubTriggerProps & { class?: string | undefined children?: JSX.Element inset?: boolean } const MenubarSubTrigger = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarSubTriggerProps, [ "class", "children", "inset" ]) return ( {local.children} ) } type MenubarSubContentProps = MenubarPrimitive.MenubarSubContentProps & { class?: string | undefined } const MenubarSubContent = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarSubContentProps, ["class"]) return ( ) } type MenubarItemProps = MenubarPrimitive.MenubarItemProps & { class?: string | undefined inset?: boolean } const MenubarItem = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarItemProps, ["class", "inset"]) return ( ) } type MenubarCheckboxItemProps = MenubarPrimitive.MenubarCheckboxItemProps & { class?: string | undefined children?: JSX.Element } const MenubarCheckboxItem = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarCheckboxItemProps, ["class", "children"]) return ( {local.children} ) } type MenubarRadioItemProps = MenubarPrimitive.MenubarRadioItemProps & { class?: string | undefined children?: JSX.Element } const MenubarRadioItem = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarRadioItemProps, ["class", "children"]) return ( {local.children} ) } type MenubarItemLabelProps = MenubarPrimitive.MenubarItemLabelProps & { class?: string | undefined inset?: boolean } const MenubarItemLabel = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarItemLabelProps, ["class", "inset"]) return ( ) } type MenubarGroupLabelProps = MenubarPrimitive.MenubarGroupLabelProps & { class?: string | undefined inset?: boolean } const MenubarGroupLabel = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarGroupLabelProps, ["class", "inset"]) return ( ) } type MenubarSeparatorProps = MenubarPrimitive.MenubarSeparatorProps & { class?: string | undefined } const MenubarSeparator = ( props: PolymorphicProps> ) => { const [local, others] = splitProps(props as MenubarSeparatorProps, ["class"]) return ( ) } const MenubarShortcut: Component> = (props) => { const [local, others] = splitProps(props, ["class"]) return ( ) } export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarItemLabel, MenubarGroupLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut }