Buckets:
| import { DropdownMenu as Kobalte } from "@kobalte/core/dropdown-menu" | |
| import { splitProps } from "solid-js" | |
| import type { ComponentProps, ParentProps } from "solid-js" | |
| export interface DropdownMenuProps extends ComponentProps<typeof Kobalte> {} | |
| export interface DropdownMenuTriggerProps extends ComponentProps<typeof Kobalte.Trigger> {} | |
| export interface DropdownMenuIconProps extends ComponentProps<typeof Kobalte.Icon> {} | |
| export interface DropdownMenuPortalProps extends ComponentProps<typeof Kobalte.Portal> {} | |
| export interface DropdownMenuContentProps extends ComponentProps<typeof Kobalte.Content> {} | |
| export interface DropdownMenuArrowProps extends ComponentProps<typeof Kobalte.Arrow> {} | |
| export interface DropdownMenuSeparatorProps extends ComponentProps<typeof Kobalte.Separator> {} | |
| export interface DropdownMenuGroupProps extends ComponentProps<typeof Kobalte.Group> {} | |
| export interface DropdownMenuGroupLabelProps extends ComponentProps<typeof Kobalte.GroupLabel> {} | |
| export interface DropdownMenuItemProps extends ComponentProps<typeof Kobalte.Item> {} | |
| export interface DropdownMenuItemLabelProps extends ComponentProps<typeof Kobalte.ItemLabel> {} | |
| export interface DropdownMenuItemDescriptionProps extends ComponentProps<typeof Kobalte.ItemDescription> {} | |
| export interface DropdownMenuItemIndicatorProps extends ComponentProps<typeof Kobalte.ItemIndicator> {} | |
| export interface DropdownMenuRadioGroupProps extends ComponentProps<typeof Kobalte.RadioGroup> {} | |
| export interface DropdownMenuRadioItemProps extends ComponentProps<typeof Kobalte.RadioItem> {} | |
| export interface DropdownMenuCheckboxItemProps extends ComponentProps<typeof Kobalte.CheckboxItem> {} | |
| export interface DropdownMenuSubProps extends ComponentProps<typeof Kobalte.Sub> {} | |
| export interface DropdownMenuSubTriggerProps extends ComponentProps<typeof Kobalte.SubTrigger> {} | |
| export interface DropdownMenuSubContentProps extends ComponentProps<typeof Kobalte.SubContent> {} | |
| function DropdownMenuRoot(props: DropdownMenuProps) { | |
| return <Kobalte {...props} data-component="dropdown-menu" /> | |
| } | |
| function DropdownMenuTrigger(props: ParentProps<DropdownMenuTriggerProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.Trigger | |
| {...rest} | |
| data-slot="dropdown-menu-trigger" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.Trigger> | |
| ) | |
| } | |
| function DropdownMenuIcon(props: ParentProps<DropdownMenuIconProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.Icon | |
| {...rest} | |
| data-slot="dropdown-menu-icon" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.Icon> | |
| ) | |
| } | |
| function DropdownMenuPortal(props: DropdownMenuPortalProps) { | |
| return <Kobalte.Portal {...props} /> | |
| } | |
| function DropdownMenuContent(props: ParentProps<DropdownMenuContentProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.Content | |
| {...rest} | |
| data-component="dropdown-menu-content" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.Content> | |
| ) | |
| } | |
| function DropdownMenuArrow(props: DropdownMenuArrowProps) { | |
| const [local, rest] = splitProps(props, ["class", "classList"]) | |
| return ( | |
| <Kobalte.Arrow | |
| {...rest} | |
| data-slot="dropdown-menu-arrow" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| /> | |
| ) | |
| } | |
| function DropdownMenuSeparator(props: DropdownMenuSeparatorProps) { | |
| const [local, rest] = splitProps(props, ["class", "classList"]) | |
| return ( | |
| <Kobalte.Separator | |
| {...rest} | |
| data-slot="dropdown-menu-separator" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| /> | |
| ) | |
| } | |
| function DropdownMenuGroup(props: ParentProps<DropdownMenuGroupProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.Group | |
| {...rest} | |
| data-slot="dropdown-menu-group" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.Group> | |
| ) | |
| } | |
| function DropdownMenuGroupLabel(props: ParentProps<DropdownMenuGroupLabelProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.GroupLabel | |
| {...rest} | |
| data-slot="dropdown-menu-group-label" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.GroupLabel> | |
| ) | |
| } | |
| function DropdownMenuItem(props: ParentProps<DropdownMenuItemProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.Item | |
| {...rest} | |
| data-slot="dropdown-menu-item" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.Item> | |
| ) | |
| } | |
| function DropdownMenuItemLabel(props: ParentProps<DropdownMenuItemLabelProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.ItemLabel | |
| {...rest} | |
| data-slot="dropdown-menu-item-label" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.ItemLabel> | |
| ) | |
| } | |
| function DropdownMenuItemDescription(props: ParentProps<DropdownMenuItemDescriptionProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.ItemDescription | |
| {...rest} | |
| data-slot="dropdown-menu-item-description" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.ItemDescription> | |
| ) | |
| } | |
| function DropdownMenuItemIndicator(props: ParentProps<DropdownMenuItemIndicatorProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.ItemIndicator | |
| {...rest} | |
| data-slot="dropdown-menu-item-indicator" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.ItemIndicator> | |
| ) | |
| } | |
| function DropdownMenuRadioGroup(props: ParentProps<DropdownMenuRadioGroupProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.RadioGroup | |
| {...rest} | |
| data-slot="dropdown-menu-radio-group" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.RadioGroup> | |
| ) | |
| } | |
| function DropdownMenuRadioItem(props: ParentProps<DropdownMenuRadioItemProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.RadioItem | |
| {...rest} | |
| data-slot="dropdown-menu-radio-item" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.RadioItem> | |
| ) | |
| } | |
| function DropdownMenuCheckboxItem(props: ParentProps<DropdownMenuCheckboxItemProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.CheckboxItem | |
| {...rest} | |
| data-slot="dropdown-menu-checkbox-item" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.CheckboxItem> | |
| ) | |
| } | |
| function DropdownMenuSub(props: DropdownMenuSubProps) { | |
| return <Kobalte.Sub {...props} /> | |
| } | |
| function DropdownMenuSubTrigger(props: ParentProps<DropdownMenuSubTriggerProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.SubTrigger | |
| {...rest} | |
| data-slot="dropdown-menu-sub-trigger" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.SubTrigger> | |
| ) | |
| } | |
| function DropdownMenuSubContent(props: ParentProps<DropdownMenuSubContentProps>) { | |
| const [local, rest] = splitProps(props, ["class", "classList", "children"]) | |
| return ( | |
| <Kobalte.SubContent | |
| {...rest} | |
| data-component="dropdown-menu-sub-content" | |
| classList={{ | |
| ...local.classList, | |
| [local.class ?? ""]: !!local.class, | |
| }} | |
| > | |
| {local.children} | |
| </Kobalte.SubContent> | |
| ) | |
| } | |
| export const DropdownMenu = Object.assign(DropdownMenuRoot, { | |
| Trigger: DropdownMenuTrigger, | |
| Icon: DropdownMenuIcon, | |
| Portal: DropdownMenuPortal, | |
| Content: DropdownMenuContent, | |
| Arrow: DropdownMenuArrow, | |
| Separator: DropdownMenuSeparator, | |
| Group: DropdownMenuGroup, | |
| GroupLabel: DropdownMenuGroupLabel, | |
| Item: DropdownMenuItem, | |
| ItemLabel: DropdownMenuItemLabel, | |
| ItemDescription: DropdownMenuItemDescription, | |
| ItemIndicator: DropdownMenuItemIndicator, | |
| RadioGroup: DropdownMenuRadioGroup, | |
| RadioItem: DropdownMenuRadioItem, | |
| CheckboxItem: DropdownMenuCheckboxItem, | |
| Sub: DropdownMenuSub, | |
| SubTrigger: DropdownMenuSubTrigger, | |
| SubContent: DropdownMenuSubContent, | |
| }) | |
Xet Storage Details
- Size:
- 9.4 kB
- Xet hash:
- d37cfd6a68fd80a17490c4c89b7d14de466153adb6c300175961ace04bfa5455
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.