diff --git a/apps/www/.vitepress/theme/config/docs.ts b/apps/www/.vitepress/theme/config/docs.ts
index b7f61e4e..f22bf81c 100644
--- a/apps/www/.vitepress/theme/config/docs.ts
+++ b/apps/www/.vitepress/theme/config/docs.ts
@@ -330,6 +330,11 @@ export const docsConfig: DocsConfig = {
href: '/docs/components/toggle',
items: [],
},
+ {
+ title: 'Toggle Group',
+ href: '/docs/components/toggle-group',
+ items: [],
+ },
{
title: 'Tooltip',
href: '/docs/components/tooltip',
diff --git a/apps/www/__registry__/index.ts b/apps/www/__registry__/index.ts
index 404c73f9..3819aa07 100644
--- a/apps/www/__registry__/index.ts
+++ b/apps/www/__registry__/index.ts
@@ -716,6 +716,48 @@ export const Index = {
component: () => import('../src/lib/registry/default/example/ToggleSmallDemo.vue').then(m => m.default),
files: ['../src/lib/registry/default/example/ToggleSmallDemo.vue'],
},
+ ToggleGroupDemo: {
+ name: 'ToggleGroupDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/default/example/ToggleGroupDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/ToggleGroupDemo.vue'],
+ },
+ ToggleGroupDisabledDemo: {
+ name: 'ToggleGroupDisabledDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/default/example/ToggleGroupDisabledDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/ToggleGroupDisabledDemo.vue'],
+ },
+ ToggleGroupLargeDemo: {
+ name: 'ToggleGroupLargeDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/default/example/ToggleGroupLargeDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/ToggleGroupLargeDemo.vue'],
+ },
+ ToggleGroupOutlineDemo: {
+ name: 'ToggleGroupOutlineDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/default/example/ToggleGroupOutlineDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/ToggleGroupOutlineDemo.vue'],
+ },
+ ToggleGroupSingleDemo: {
+ name: 'ToggleGroupSingleDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/default/example/ToggleGroupSingleDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/ToggleGroupSingleDemo.vue'],
+ },
+ ToggleGroupSmallDemo: {
+ name: 'ToggleGroupSmallDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/default/example/ToggleGroupSmallDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/ToggleGroupSmallDemo.vue'],
+ },
TooltipDemo: {
name: 'TooltipDemo',
type: 'components:example',
@@ -1558,6 +1600,48 @@ export const Index = {
component: () => import('../src/lib/registry/new-york/example/ToggleSmallDemo.vue').then(m => m.default),
files: ['../src/lib/registry/new-york/example/ToggleSmallDemo.vue'],
},
+ ToggleGroupDemo: {
+ name: 'ToggleGroupDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/new-york/example/ToggleGroupDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/ToggleGroupDemo.vue'],
+ },
+ ToggleGroupDisabledDemo: {
+ name: 'ToggleGroupDisabledDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/new-york/example/ToggleGroupDisabledDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/ToggleGroupDisabledDemo.vue'],
+ },
+ ToggleGroupLargeDemo: {
+ name: 'ToggleGroupLargeDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/new-york/example/ToggleGroupLargeDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/ToggleGroupLargeDemo.vue'],
+ },
+ ToggleGroupOutlineDemo: {
+ name: 'ToggleGroupOutlineDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/new-york/example/ToggleGroupOutlineDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/ToggleGroupOutlineDemo.vue'],
+ },
+ ToggleGroupSingleDemo: {
+ name: 'ToggleGroupSingleDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/new-york/example/ToggleGroupSingleDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/ToggleGroupSingleDemo.vue'],
+ },
+ ToggleGroupSmallDemo: {
+ name: 'ToggleGroupSmallDemo',
+ type: 'components:example',
+ registryDependencies: ['toggle-group'],
+ component: () => import('../src/lib/registry/new-york/example/ToggleGroupSmallDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/ToggleGroupSmallDemo.vue'],
+ },
TooltipDemo: {
name: 'TooltipDemo',
type: 'components:example',
diff --git a/apps/www/src/content/docs/components/toggle-group.md b/apps/www/src/content/docs/components/toggle-group.md
new file mode 100644
index 00000000..f622f630
--- /dev/null
+++ b/apps/www/src/content/docs/components/toggle-group.md
@@ -0,0 +1,93 @@
+---
+title: Toggle Group
+description: A set of two-state buttons that can be toggled on or off.
+source: apps/www/src/lib/registry/default/ui/toggle-group
+primitive: https://www.radix-vue.com/components/toggle-group.html
+---
+
+
+
+## Installation
+
+
+
+
+```bash
+npx shadcn-vue@latest add toggle-group
+```
+
+
+
+
+
+
+### Install the following dependencies:
+
+```bash
+npm install radix-vue
+```
+
+### Copy and paste the following code into your project
+
+<<< @/lib/registry/default/ui/toggle-group/ToggleGroup.vue
+
+
+
+
+
+
+## Usage
+
+```vue
+
+
+
+
+
+ A
+
+
+ B
+
+
+ C
+
+
+
+```
+
+## Examples
+
+### Default
+
+
+
+
+### Outline
+
+
+
+
+### Single
+
+
+
+
+### Small
+
+
+
+
+### Large
+
+
+
+
+### Disabled
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/ToggleGroupDemo.vue b/apps/www/src/lib/registry/default/example/ToggleGroupDemo.vue
new file mode 100644
index 00000000..acadbb58
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/ToggleGroupDemo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/ToggleGroupDisabledDemo.vue b/apps/www/src/lib/registry/default/example/ToggleGroupDisabledDemo.vue
new file mode 100644
index 00000000..69ea5d09
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/ToggleGroupDisabledDemo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/ToggleGroupLargeDemo.vue b/apps/www/src/lib/registry/default/example/ToggleGroupLargeDemo.vue
new file mode 100644
index 00000000..f3c54ea2
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/ToggleGroupLargeDemo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/ToggleGroupOutlineDemo.vue b/apps/www/src/lib/registry/default/example/ToggleGroupOutlineDemo.vue
new file mode 100644
index 00000000..e802d64a
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/ToggleGroupOutlineDemo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/ToggleGroupSingleDemo.vue b/apps/www/src/lib/registry/default/example/ToggleGroupSingleDemo.vue
new file mode 100644
index 00000000..14da4d41
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/ToggleGroupSingleDemo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/ToggleGroupSmallDemo.vue b/apps/www/src/lib/registry/default/example/ToggleGroupSmallDemo.vue
new file mode 100644
index 00000000..e7364dc5
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/ToggleGroupSmallDemo.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/toggle-group/ToggleGroup.vue b/apps/www/src/lib/registry/default/ui/toggle-group/ToggleGroup.vue
new file mode 100644
index 00000000..55edbd15
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/toggle-group/ToggleGroup.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/toggle-group/ToggleGroupItem.vue b/apps/www/src/lib/registry/default/ui/toggle-group/ToggleGroupItem.vue
new file mode 100644
index 00000000..399d19c0
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/toggle-group/ToggleGroupItem.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/toggle-group/index.ts b/apps/www/src/lib/registry/default/ui/toggle-group/index.ts
new file mode 100644
index 00000000..9f89ad77
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/toggle-group/index.ts
@@ -0,0 +1,2 @@
+export { default as ToggleGroup } from './ToggleGroup.vue'
+export { default as ToggleGroupItem } from './ToggleGroupItem.vue'
diff --git a/apps/www/src/lib/registry/new-york/example/ToggleGroupDemo.vue b/apps/www/src/lib/registry/new-york/example/ToggleGroupDemo.vue
new file mode 100644
index 00000000..ff2e9e60
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/ToggleGroupDemo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/ToggleGroupDisabledDemo.vue b/apps/www/src/lib/registry/new-york/example/ToggleGroupDisabledDemo.vue
new file mode 100644
index 00000000..7e4d9a94
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/ToggleGroupDisabledDemo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/ToggleGroupLargeDemo.vue b/apps/www/src/lib/registry/new-york/example/ToggleGroupLargeDemo.vue
new file mode 100644
index 00000000..b3acc8ba
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/ToggleGroupLargeDemo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/ToggleGroupOutlineDemo.vue b/apps/www/src/lib/registry/new-york/example/ToggleGroupOutlineDemo.vue
new file mode 100644
index 00000000..829d9d02
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/ToggleGroupOutlineDemo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/ToggleGroupSingleDemo.vue b/apps/www/src/lib/registry/new-york/example/ToggleGroupSingleDemo.vue
new file mode 100644
index 00000000..71ae8d69
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/ToggleGroupSingleDemo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/ToggleGroupSmallDemo.vue b/apps/www/src/lib/registry/new-york/example/ToggleGroupSmallDemo.vue
new file mode 100644
index 00000000..35686889
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/ToggleGroupSmallDemo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/toggle-group/ToggleGroup.vue b/apps/www/src/lib/registry/new-york/ui/toggle-group/ToggleGroup.vue
new file mode 100644
index 00000000..4527419e
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/toggle-group/ToggleGroup.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/toggle-group/ToggleGroupItem.vue b/apps/www/src/lib/registry/new-york/ui/toggle-group/ToggleGroupItem.vue
new file mode 100644
index 00000000..2e0e0d28
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/toggle-group/ToggleGroupItem.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/toggle-group/index.ts b/apps/www/src/lib/registry/new-york/ui/toggle-group/index.ts
new file mode 100644
index 00000000..9f89ad77
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/toggle-group/index.ts
@@ -0,0 +1,2 @@
+export { default as ToggleGroup } from './ToggleGroup.vue'
+export { default as ToggleGroupItem } from './ToggleGroupItem.vue'
diff --git a/apps/www/src/public/registry/index.json b/apps/www/src/public/registry/index.json
index c2f5a4c8..d0315ce9 100644
--- a/apps/www/src/public/registry/index.json
+++ b/apps/www/src/public/registry/index.json
@@ -610,6 +610,19 @@
],
"type": "components:ui"
},
+ {
+ "name": "toggle-group",
+ "dependencies": [],
+ "registryDependencies": [
+ "utils"
+ ],
+ "files": [
+ "ui/toggle-group/ToggleGroup.vue",
+ "ui/toggle-group/ToggleGroupItem.vue",
+ "ui/toggle-group/index.ts"
+ ],
+ "type": "components:ui"
+ },
{
"name": "tooltip",
"dependencies": [],
@@ -625,4 +638,4 @@
],
"type": "components:ui"
}
-]
\ No newline at end of file
+]