radix-vue
Version:
Vue port for Radix UI Primitives.
288 lines (285 loc) • 5.63 kB
JavaScript
const components = {
accordion: [
"AccordionContent",
"AccordionHeader",
"AccordionItem",
"AccordionRoot",
"AccordionTrigger"
],
alertDialog: [
"AlertDialogRoot",
"AlertDialogTrigger",
"AlertDialogPortal",
"AlertDialogContent",
"AlertDialogOverlay",
"AlertDialogCancel",
"AlertDialogTitle",
"AlertDialogDescription",
"AlertDialogAction"
],
aspectRatio: [
"AspectRatio"
],
avatar: [
"AvatarRoot",
"AvatarImage",
"AvatarFallback"
],
checkbox: [
"CheckboxRoot",
"CheckboxIndicator"
],
collapsible: [
"CollapsibleRoot",
"CollapsibleTrigger",
"CollapsibleContent"
],
combobox: [
"ComboboxRoot",
"ComboboxInput",
"ComboboxAnchor",
"ComboboxTrigger",
"ComboboxCancel",
"ComboboxGroup",
"ComboboxLabel",
"ComboboxContent",
"ComboboxEmpty",
"ComboboxViewport",
"ComboboxItem",
"ComboboxItemIndicator",
"ComboboxSeparator",
"ComboboxArrow",
"ComboboxPortal"
],
configProvider: [
"ConfigProvider"
],
contextMenu: [
"ContextMenuRoot",
"ContextMenuTrigger",
"ContextMenuPortal",
"ContextMenuContent",
"ContextMenuArrow",
"ContextMenuItem",
"ContextMenuGroup",
"ContextMenuSeparator",
"ContextMenuCheckboxItem",
"ContextMenuItemIndicator",
"ContextMenuLabel",
"ContextMenuRadioGroup",
"ContextMenuRadioItem",
"ContextMenuSub",
"ContextMenuSubContent",
"ContextMenuSubTrigger"
],
dialog: [
"DialogRoot",
"DialogTrigger",
"DialogPortal",
"DialogContent",
"DialogOverlay",
"DialogClose",
"DialogTitle",
"DialogDescription"
],
dropdownMenu: [
"DropdownMenuRoot",
"DropdownMenuTrigger",
"DropdownMenuPortal",
"DropdownMenuContent",
"DropdownMenuArrow",
"DropdownMenuItem",
"DropdownMenuGroup",
"DropdownMenuSeparator",
"DropdownMenuCheckboxItem",
"DropdownMenuItemIndicator",
"DropdownMenuLabel",
"DropdownMenuRadioGroup",
"DropdownMenuRadioItem",
"DropdownMenuSub",
"DropdownMenuSubContent",
"DropdownMenuSubTrigger"
],
hoverCard: [
"HoverCardRoot",
"HoverCardTrigger",
"HoverCardPortal",
"HoverCardContent",
"HoverCardArrow"
],
label: [
"Label"
],
menubar: [
"MenubarRoot",
"MenubarTrigger",
"MenubarPortal",
"MenubarContent",
"MenubarArrow",
"MenubarItem",
"MenubarGroup",
"MenubarSeparator",
"MenubarCheckboxItem",
"MenubarItemIndicator",
"MenubarLabel",
"MenubarRadioGroup",
"MenubarRadioItem",
"MenubarSub",
"MenubarSubContent",
"MenubarSubTrigger",
"MenubarMenu"
],
navigationMenu: [
"NavigationMenuContent",
"NavigationMenuIndicator",
"NavigationMenuItem",
"NavigationMenuLink",
"NavigationMenuList",
"NavigationMenuRoot",
"NavigationMenuSub",
"NavigationMenuTrigger",
"NavigationMenuViewport"
],
pagination: [
"PaginationRoot",
"PaginationEllipsis",
"PaginationFirst",
"PaginationLast",
"PaginationList",
"PaginationListItem",
"PaginationNext",
"PaginationPrev"
],
pinInput: [
"PinInputRoot",
"PinInputInput"
],
popover: [
"PopoverRoot",
"PopoverTrigger",
"PopoverPortal",
"PopoverContent",
"PopoverArrow",
"PopoverClose",
"PopoverAnchor"
],
progress: [
"ProgressRoot",
"ProgressIndicator"
],
radioGroup: [
"RadioGroupRoot",
"RadioGroupItem",
"RadioGroupIndicator"
],
scrollArea: [
"ScrollAreaRoot",
"ScrollAreaViewport",
"ScrollAreaScrollbar",
"ScrollAreaThumb",
"ScrollAreaCorner"
],
select: [
"SelectRoot",
"SelectTrigger",
"SelectPortal",
"SelectContent",
"SelectArrow",
"SelectSeparator",
"SelectItemIndicator",
"SelectLabel",
"SelectGroup",
"SelectItem",
"SelectItemText",
"SelectViewport",
"SelectScrollUpButton",
"SelectScrollDownButton",
"SelectValue",
"SelectIcon"
],
separator: [
"Separator"
],
slider: [
"SliderRoot",
"SliderThumb",
"SliderTrack",
"SliderRange"
],
switch: [
"SwitchRoot",
"SwitchThumb"
],
tabs: [
"TabsRoot",
"TabsList",
"TabsContent",
"TabsTrigger",
"TabsIndicator"
],
tagsInput: [
"TagsInputRoot",
"TagsInputInput",
"TagsInputItem",
"TagsInputItemText",
"TagsInputItemDelete",
"TagsInputClear"
],
toast: [
"ToastProvider",
"ToastRoot",
"ToastAction",
"ToastClose",
"ToastViewport",
"ToastTitle",
"ToastDescription"
],
toggle: [
"Toggle"
],
toggleGroup: [
"ToggleGroupRoot",
"ToggleGroupItem"
],
toolbar: [
"ToolbarRoot",
"ToolbarButton",
"ToolbarLink",
"ToolbarToggleGroup",
"ToolbarToggleItem",
"ToolbarSeparator"
],
tooltip: [
"TooltipRoot",
"TooltipTrigger",
"TooltipContent",
"TooltipArrow",
"TooltipPortal",
"TooltipProvider"
],
primitive: [
"Primitive",
"Slot"
],
visuallyHidden: [
"VisuallyHidden"
]
};
function index(options = {}) {
const { prefix = "" } = options;
return {
type: "component",
resolve: (name) => {
if (name.toLowerCase().startsWith(prefix.toLowerCase())) {
const componentName = name.substring(prefix.length);
if (Object.values(components).flat().includes(componentName)) {
return {
name: componentName,
from: "radix-vue"
};
}
}
}
};
}
export { index as default };