diff --git a/apps/www/src/lib/registry/new-york/ui/avatar/Avatar.vue b/apps/www/src/lib/registry/new-york/ui/avatar/Avatar.vue
new file mode 100644
index 00000000..39f71b65
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/avatar/Avatar.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/avatar/AvatarFallback.vue b/apps/www/src/lib/registry/new-york/ui/avatar/AvatarFallback.vue
new file mode 100644
index 00000000..a671a219
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/avatar/AvatarFallback.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/avatar/AvatarImage.vue b/apps/www/src/lib/registry/new-york/ui/avatar/AvatarImage.vue
new file mode 100644
index 00000000..28861feb
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/avatar/AvatarImage.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/avatar/index.ts b/apps/www/src/lib/registry/new-york/ui/avatar/index.ts
new file mode 100644
index 00000000..df30260e
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/avatar/index.ts
@@ -0,0 +1,22 @@
+import { cva } from 'class-variance-authority'
+
+export { default as Avatar } from './Avatar.vue'
+export { default as AvatarImage } from './AvatarImage.vue'
+export { default as AvatarFallback } from './AvatarFallback.vue'
+
+export const avatarVariant = cva(
+ 'inline-flex items-center justify-center font-normal text-foregorund select-none shrink-0 bg-muted overflow-hidden',
+ {
+ variants: {
+ size: {
+ sm: 'h-10 w-10 text-xs',
+ base: 'h-16 w-16 text-2xl',
+ lg: 'h-32 w-32 text-5xl',
+ },
+ shape: {
+ circle: 'rounded-full',
+ square: 'rounded-md',
+ },
+ },
+ },
+)
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenu.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenu.vue
new file mode 100644
index 00000000..f042c306
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenu.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuCheckboxItem.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuCheckboxItem.vue
new file mode 100644
index 00000000..e3abb007
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuCheckboxItem.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuContent.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuContent.vue
new file mode 100644
index 00000000..67dcff43
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuContent.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuGroup.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuGroup.vue
new file mode 100644
index 00000000..b7458d77
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuGroup.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuItem.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuItem.vue
new file mode 100644
index 00000000..19b3765d
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuItem.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuLabel.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuLabel.vue
new file mode 100644
index 00000000..3702f395
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuLabel.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuPortal.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuPortal.vue
new file mode 100644
index 00000000..73dc714b
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuPortal.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuRadioGroup.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuRadioGroup.vue
new file mode 100644
index 00000000..bb0b173d
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuRadioGroup.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuRadioItem.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuRadioItem.vue
new file mode 100644
index 00000000..ea9aa8aa
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuRadioItem.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSeparator.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSeparator.vue
new file mode 100644
index 00000000..bf1eca8b
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSeparator.vue
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuShortcut.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuShortcut.vue
new file mode 100644
index 00000000..e97f3c2b
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuShortcut.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSub.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSub.vue
new file mode 100644
index 00000000..80471807
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSub.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSubContent.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSubContent.vue
new file mode 100644
index 00000000..ebeb363e
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSubContent.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSubTrigger.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSubTrigger.vue
new file mode 100644
index 00000000..258a6df7
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuSubTrigger.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuTrigger.vue b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuTrigger.vue
new file mode 100644
index 00000000..9747cc1a
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/ContextMenuTrigger.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/context-menu/index.ts b/apps/www/src/lib/registry/new-york/ui/context-menu/index.ts
new file mode 100644
index 00000000..157f7b1d
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/context-menu/index.ts
@@ -0,0 +1,14 @@
+export { default as ContextMenu } from './ContextMenu.vue'
+export { default as ContextMenuTrigger } from './ContextMenuTrigger.vue'
+export { default as ContextMenuContent } from './ContextMenuContent.vue'
+export { default as ContextMenuGroup } from './ContextMenuGroup.vue'
+export { default as ContextMenuRadioGroup } from './ContextMenuRadioGroup.vue'
+export { default as ContextMenuItem } from './ContextMenuItem.vue'
+export { default as ContextMenuCheckboxItem } from './ContextMenuCheckboxItem.vue'
+export { default as ContextMenuRadioItem } from './ContextMenuRadioItem.vue'
+export { default as ContextMenuShortcut } from './ContextMenuShortcut.vue'
+export { default as ContextMenuSeparator } from './ContextMenuSeparator.vue'
+export { default as ContextMenuLabel } from './ContextMenuLabel.vue'
+export { default as ContextMenuSub } from './ContextMenuSub.vue'
+export { default as ContextMenuSubTrigger } from './ContextMenuSubTrigger.vue'
+export { default as ContextMenuSubContent } from './ContextMenuSubContent.vue'
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenu.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenu.vue
new file mode 100644
index 00000000..703c640d
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenu.vue
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuCheckboxItem.vue
new file mode 100644
index 00000000..10490662
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuCheckboxItem.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuContent.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuContent.vue
new file mode 100644
index 00000000..69c96685
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuContent.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuGroup.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuGroup.vue
new file mode 100644
index 00000000..3f201352
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuGroup.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuItem.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuItem.vue
new file mode 100644
index 00000000..b632e09f
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuItem.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuLabel.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuLabel.vue
new file mode 100644
index 00000000..c94782d7
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuLabel.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuRadioGroup.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuRadioGroup.vue
new file mode 100644
index 00000000..5bdc41f7
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuRadioGroup.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuRadioItem.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuRadioItem.vue
new file mode 100644
index 00000000..20cb34c7
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuRadioItem.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSeparator.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSeparator.vue
new file mode 100644
index 00000000..9cb171be
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSeparator.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuShortcut.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuShortcut.vue
new file mode 100644
index 00000000..008520cb
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuShortcut.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSub.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSub.vue
new file mode 100644
index 00000000..7589389f
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSub.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSubContent.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSubContent.vue
new file mode 100644
index 00000000..293a2fab
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSubContent.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSubTrigger.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSubTrigger.vue
new file mode 100644
index 00000000..e4a77f47
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuSubTrigger.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuTrigger.vue b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuTrigger.vue
new file mode 100644
index 00000000..73d88670
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/DropdownMenuTrigger.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/dropdown-menu/index.ts b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/index.ts
new file mode 100644
index 00000000..6f9446c3
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/dropdown-menu/index.ts
@@ -0,0 +1,16 @@
+export { DropdownMenuPortal } from 'radix-vue'
+
+export { default as DropdownMenu } from './DropdownMenu.vue'
+export { default as DropdownMenuTrigger } from './DropdownMenuTrigger.vue'
+export { default as DropdownMenuContent } from './DropdownMenuContent.vue'
+export { default as DropdownMenuGroup } from './DropdownMenuGroup.vue'
+export { default as DropdownMenuRadioGroup } from './DropdownMenuRadioGroup.vue'
+export { default as DropdownMenuItem } from './DropdownMenuItem.vue'
+export { default as DropdownMenuCheckboxItem } from './DropdownMenuCheckboxItem.vue'
+export { default as DropdownMenuRadioItem } from './DropdownMenuRadioItem.vue'
+export { default as DropdownMenuShortcut } from './DropdownMenuShortcut.vue'
+export { default as DropdownMenuSeparator } from './DropdownMenuSeparator.vue'
+export { default as DropdownMenuLabel } from './DropdownMenuLabel.vue'
+export { default as DropdownMenuSub } from './DropdownMenuSub.vue'
+export { default as DropdownMenuSubTrigger } from './DropdownMenuSubTrigger.vue'
+export { default as DropdownMenuSubContent } from './DropdownMenuSubContent.vue'
diff --git a/apps/www/src/lib/registry/new-york/ui/select/Select.vue b/apps/www/src/lib/registry/new-york/ui/select/Select.vue
new file mode 100644
index 00000000..9ea04703
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/Select.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectContent.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectContent.vue
new file mode 100644
index 00000000..1f2610c8
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectContent.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectGroup.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectGroup.vue
new file mode 100644
index 00000000..e31301c7
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectGroup.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectItem.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectItem.vue
new file mode 100644
index 00000000..5ebbd0be
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectItem.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectItemText.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectItemText.vue
new file mode 100644
index 00000000..a0bb5c24
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectItemText.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectLabel.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectLabel.vue
new file mode 100644
index 00000000..9674ccb1
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectLabel.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectSeparator.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectSeparator.vue
new file mode 100644
index 00000000..b1473cb4
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectSeparator.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectTrigger.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectTrigger.vue
new file mode 100644
index 00000000..c7ad6747
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectTrigger.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/SelectValue.vue b/apps/www/src/lib/registry/new-york/ui/select/SelectValue.vue
new file mode 100644
index 00000000..4bc37dd8
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/SelectValue.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/select/index.ts b/apps/www/src/lib/registry/new-york/ui/select/index.ts
new file mode 100644
index 00000000..f188cc49
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/select/index.ts
@@ -0,0 +1,9 @@
+export { default as Select } from './Select.vue'
+export { default as SelectValue } from './SelectValue.vue'
+export { default as SelectTrigger } from './SelectTrigger.vue'
+export { default as SelectContent } from './SelectContent.vue'
+export { default as SelectGroup } from './SelectGroup.vue'
+export { default as SelectItem } from './SelectItem.vue'
+export { default as SelectItemText } from './SelectItemText.vue'
+export { default as SelectLabel } from './SelectLabel.vue'
+export { default as SelectSeparator } from './SelectSeparator.vue'