Compare commits
25 Commits
dev
...
tailwind-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9080a792ad | ||
|
|
ddf0023eb3 | ||
|
|
7cc196ce74 | ||
|
|
e573ea9bab | ||
|
|
71c5904a6a | ||
|
|
b55c8b796d | ||
|
|
524f3ad60d | ||
|
|
9bd32b6d8d | ||
|
|
d6460cd236 | ||
|
|
6d36be6440 | ||
|
|
b2f2981377 | ||
|
|
20c38b35e9 | ||
|
|
b2d7dabf87 | ||
|
|
2f5279ffdc | ||
|
|
4b2e4a0da1 | ||
|
|
2c2c46755e | ||
|
|
e51c6c7742 | ||
|
|
7033b4b02f | ||
|
|
42d6cfd252 | ||
|
|
baab087a58 | ||
|
|
9ca5101448 | ||
|
|
386c77c9c6 | ||
|
|
0f551c85e6 | ||
|
|
f7a8121fa3 | ||
|
|
511ae6a62e |
|
|
@ -1,14 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { CircleHelp, Info, Monitor, Smartphone, Tablet } from 'lucide-vue-next'
|
|
||||||
import { reactive, ref, watch } from 'vue'
|
|
||||||
import { codeToHtml } from 'shiki'
|
|
||||||
import { compileScript, parse, walk } from 'vue/compiler-sfc'
|
|
||||||
import MagicString from 'magic-string'
|
|
||||||
import { cssVariables } from '../config/shiki'
|
|
||||||
import StyleSwitcher from './StyleSwitcher.vue'
|
|
||||||
import Spinner from './Spinner.vue'
|
|
||||||
import BlockCopyButton from './BlockCopyButton.vue'
|
|
||||||
import { useConfigStore } from '@/stores/config'
|
import { useConfigStore } from '@/stores/config'
|
||||||
|
import { CircleHelp, Info, Monitor, Smartphone, Tablet } from 'lucide-vue-next'
|
||||||
|
import MagicString from 'magic-string'
|
||||||
|
import { codeToHtml } from 'shiki'
|
||||||
|
import { reactive, ref, watch } from 'vue'
|
||||||
|
import { compileScript, parse, walk } from 'vue/compiler-sfc'
|
||||||
|
import { cssVariables } from '../config/shiki'
|
||||||
|
import BlockCopyButton from './BlockCopyButton.vue'
|
||||||
|
import Spinner from './Spinner.vue'
|
||||||
|
import StyleSwitcher from './StyleSwitcher.vue'
|
||||||
|
|
||||||
// import { V0Button } from '@/components/v0-button'
|
// import { V0Button } from '@/components/v0-button'
|
||||||
import { Badge } from '@/lib/registry/new-york/ui/badge'
|
import { Badge } from '@/lib/registry/new-york/ui/badge'
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { CreditCard } from 'lucide-vue-next'
|
|
||||||
import RiAppleFill from '~icons/ri/apple-fill'
|
import RiAppleFill from '~icons/ri/apple-fill'
|
||||||
import RiPaypalFill from '~icons/ri/paypal-fill'
|
import RiPaypalFill from '~icons/ri/paypal-fill'
|
||||||
|
import { CreditCard } from 'lucide-vue-next'
|
||||||
|
|
||||||
type Color =
|
type Color =
|
||||||
| 'zinc'
|
| 'zinc'
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { getParameters } from 'codesandbox/lib/api/define'
|
import type { Style } from '@/lib/registry/styles'
|
||||||
import sdk from '@stackblitz/sdk'
|
import sdk from '@stackblitz/sdk'
|
||||||
|
import { getParameters } from 'codesandbox/lib/api/define'
|
||||||
import { Index as demoIndex } from '../../../../www/__registry__'
|
import { Index as demoIndex } from '../../../../www/__registry__'
|
||||||
// @ts-expect-error ?raw
|
// @ts-expect-error ?raw
|
||||||
import tailwindConfigRaw from '../../../tailwind.config?raw'
|
import tailwindConfigRaw from '../../../tailwind.config?raw'
|
||||||
// @ts-expect-error ?raw
|
// @ts-expect-error ?raw
|
||||||
import cssRaw from '../../../../../packages/cli/test/fixtures/nuxt/assets/css/tailwind.css?raw'
|
import cssRaw from '../../../../../packages/cli/test/fixtures/nuxt/assets/css/tailwind.css?raw'
|
||||||
import type { Style } from '@/lib/registry/styles'
|
|
||||||
|
|
||||||
export function makeCodeSandboxParams(componentName: string, style: Style, sources: Record<string, string>) {
|
export function makeCodeSandboxParams(componentName: string, style: Style, sources: Record<string, string>) {
|
||||||
let files: Record<string, any> = {}
|
let files: Record<string, any> = {}
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,6 @@ Use a custom component as `slot` for `<BreadcrumbSeparator />` to create a custo
|
||||||
|
|
||||||
```vue showLineNumbers {2,20-22}
|
```vue showLineNumbers {2,20-22}
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Slash } from 'lucide-vue-next'
|
|
||||||
import {
|
import {
|
||||||
Breadcrumb,
|
Breadcrumb,
|
||||||
BreadcrumbItem,
|
BreadcrumbItem,
|
||||||
|
|
@ -66,6 +65,7 @@ import {
|
||||||
BreadcrumbList,
|
BreadcrumbList,
|
||||||
BreadcrumbSeparator,
|
BreadcrumbSeparator,
|
||||||
} from '@/components/ui/breadcrumb'
|
} from '@/components/ui/breadcrumb'
|
||||||
|
import { Slash } from 'lucide-vue-next'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -99,6 +99,8 @@ You can compose `<BreadcrumbItem />` with a `<DropdownMenu />` to create a dropd
|
||||||
|
|
||||||
```vue showLineNumbers {2-7,16-26}
|
```vue showLineNumbers {2-7,16-26}
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { BreadcrumbItem } from '@/components/ui/breadcrumb'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuContent,
|
DropdownMenuContent,
|
||||||
|
|
@ -106,8 +108,6 @@ import {
|
||||||
DropdownMenuTrigger,
|
DropdownMenuTrigger,
|
||||||
} from '@/lib/components/ui/dropdown-menu'
|
} from '@/lib/components/ui/dropdown-menu'
|
||||||
|
|
||||||
import { BreadcrumbItem } from '@/components/ui/breadcrumb'
|
|
||||||
|
|
||||||
import ChevronDownIcon from '~icons/radix-icons/chevron-down'
|
import ChevronDownIcon from '~icons/radix-icons/chevron-down'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -169,13 +169,13 @@ To use a custom link component from your routing library, you can use the `asChi
|
||||||
|
|
||||||
```vue showLineNumbers {15-19}
|
```vue showLineNumbers {15-19}
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { RouterLink } from 'vue-router'
|
|
||||||
import {
|
import {
|
||||||
Breadcrumb,
|
Breadcrumb,
|
||||||
BreadcrumbItem,
|
BreadcrumbItem,
|
||||||
BreadcrumbLink,
|
BreadcrumbLink,
|
||||||
BreadcrumbList,
|
BreadcrumbList,
|
||||||
} from '@/components/ui/breadcrumb'
|
} from '@/components/ui/breadcrumb'
|
||||||
|
import { RouterLink } from 'vue-router'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
||||||
|
|
@ -163,12 +163,6 @@ Next, we'll create a `<DataTable />` component to render our table.
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts" generic="TData, TValue">
|
<script setup lang="ts" generic="TData, TValue">
|
||||||
import type { ColumnDef } from '@tanstack/vue-table'
|
import type { ColumnDef } from '@tanstack/vue-table'
|
||||||
import {
|
|
||||||
FlexRender,
|
|
||||||
getCoreRowModel,
|
|
||||||
useVueTable,
|
|
||||||
} from '@tanstack/vue-table'
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Table,
|
Table,
|
||||||
TableBody,
|
TableBody,
|
||||||
|
|
@ -178,6 +172,12 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from '@/components/ui/table'
|
} from '@/components/ui/table'
|
||||||
|
|
||||||
|
import {
|
||||||
|
FlexRender,
|
||||||
|
getCoreRowModel,
|
||||||
|
useVueTable,
|
||||||
|
} from '@tanstack/vue-table'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
columns: ColumnDef<TData, TValue>[]
|
columns: ColumnDef<TData, TValue>[]
|
||||||
data: TData[]
|
data: TData[]
|
||||||
|
|
@ -241,9 +241,9 @@ Finally, we'll render our table in our index component.
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import type { Payment } from './components/columns'
|
||||||
import { onMounted, ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
import { columns } from './components/columns'
|
import { columns } from './components/columns'
|
||||||
import type { Payment } from './components/columns'
|
|
||||||
import DataTable from './components/DataTable.vue'
|
import DataTable from './components/DataTable.vue'
|
||||||
|
|
||||||
const data = ref<Payment[]>([])
|
const data = ref<Payment[]>([])
|
||||||
|
|
@ -317,9 +317,9 @@ Let's add row actions to our table. We'll use a `<Dropdown />` component for thi
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { MoreHorizontal } from 'lucide-vue-next'
|
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
|
||||||
import { Button } from '@/components/ui/button'
|
import { Button } from '@/components/ui/button'
|
||||||
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
||||||
|
import { MoreHorizontal } from 'lucide-vue-next'
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
payment: {
|
payment: {
|
||||||
|
|
@ -358,8 +358,8 @@ function copy(id: string) {
|
||||||
Update our columns definition to add a new `actions` column. The `actions` cell returns a `<Dropdown />` component.
|
Update our columns definition to add a new `actions` column. The `actions` cell returns a `<Dropdown />` component.
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { ColumnDef } from '@tanstack/vue-table'
|
|
||||||
import DropdownAction from '@/components/DataTableDropDown.vue'
|
import DropdownAction from '@/components/DataTableDropDown.vue'
|
||||||
|
import { ColumnDef } from '@tanstack/vue-table'
|
||||||
|
|
||||||
export const columns: ColumnDef<Payment>[] = [
|
export const columns: ColumnDef<Payment>[] = [
|
||||||
// ...
|
// ...
|
||||||
|
|
@ -465,12 +465,12 @@ Let's make the email column sortable.
|
||||||
### Add the following into your `utils` file
|
### Add the following into your `utils` file
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { type ClassValue, clsx } from 'clsx'
|
|
||||||
import { twMerge } from 'tailwind-merge'
|
|
||||||
|
|
||||||
import type { Updater } from '@tanstack/vue-table'
|
import type { Updater } from '@tanstack/vue-table'
|
||||||
import type { Ref } from 'vue'
|
import type { Ref } from 'vue'
|
||||||
|
|
||||||
|
import { type ClassValue, clsx } from 'clsx'
|
||||||
|
import { twMerge } from 'tailwind-merge'
|
||||||
|
|
||||||
export function cn(...inputs: ClassValue[]) {
|
export function cn(...inputs: ClassValue[]) {
|
||||||
return twMerge(clsx(inputs))
|
return twMerge(clsx(inputs))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ npx shadcn-vue@latest add number-field
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Label } from '@/components/ui/label'
|
||||||
import {
|
import {
|
||||||
NumberField,
|
NumberField,
|
||||||
NumberFieldContent,
|
NumberFieldContent,
|
||||||
|
|
@ -29,7 +30,6 @@ import {
|
||||||
NumberFieldIncrement,
|
NumberFieldIncrement,
|
||||||
NumberFieldInput,
|
NumberFieldInput,
|
||||||
} from '@/components/ui/number-field'
|
} from '@/components/ui/number-field'
|
||||||
import { Label } from '@/components/ui/label'
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
||||||
|
|
@ -221,9 +221,9 @@ Take a look at `DrawerDescription.vue`.
|
||||||
```vue
|
```vue
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { DrawerDescriptionProps } from 'vaul-vue'
|
import type { DrawerDescriptionProps } from 'vaul-vue'
|
||||||
import { DrawerDescription } from 'vaul-vue'
|
|
||||||
import { type HtmlHTMLAttributes, computed } from 'vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { DrawerDescription } from 'vaul-vue'
|
||||||
|
import { computed, type HtmlHTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<DrawerDescriptionProps & { class?: HtmlHTMLAttributes['class'] }>()
|
const props = defineProps<DrawerDescriptionProps & { class?: HtmlHTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
@ -270,9 +270,9 @@ Take a look at `AccordionItem.vue`
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { AccordionItem, type AccordionItemProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { AccordionItem, type AccordionItemProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<AccordionItemProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<AccordionItemProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
@ -307,9 +307,9 @@ Let's take a look at `Button.vue`
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { HTMLAttributes } from 'vue'
|
import type { HTMLAttributes } from 'vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { Primitive, type PrimitiveProps } from 'radix-vue'
|
import { Primitive, type PrimitiveProps } from 'radix-vue'
|
||||||
import { type ButtonVariants, buttonVariants } from '.'
|
import { type ButtonVariants, buttonVariants } from '.'
|
||||||
import { cn } from '@/lib/utils'
|
|
||||||
|
|
||||||
interface Props extends PrimitiveProps {
|
interface Props extends PrimitiveProps {
|
||||||
variant?: ButtonVariants['variant']
|
variant?: ButtonVariants['variant']
|
||||||
|
|
|
||||||
|
|
@ -61,10 +61,10 @@ We're using [`useColorMode`](https://vueuse.org/core/usecolormode/) from [`@vueu
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useColorMode } from '@vueuse/core'
|
|
||||||
import { Icon } from '@iconify/vue'
|
|
||||||
import { Button } from '@/components/ui/button'
|
import { Button } from '@/components/ui/button'
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
||||||
|
import { Icon } from '@iconify/vue'
|
||||||
|
import { useColorMode } from '@vueuse/core'
|
||||||
|
|
||||||
const mode = useColorMode()
|
const mode = useColorMode()
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,9 @@ npm install -D @iconify/vue @iconify-json/radix-icons
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Icon } from '@iconify/vue'
|
|
||||||
import { Button } from '@/components/ui/button'
|
import { Button } from '@/components/ui/button'
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
||||||
|
import { Icon } from '@iconify/vue'
|
||||||
|
|
||||||
const colorMode = useColorMode()
|
const colorMode = useColorMode()
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,10 @@ We're using [`useColorMode`](https://vueuse.org/core/usecolormode/) from [`@vueu
|
||||||
|
|
||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useColorMode } from '@vueuse/core'
|
|
||||||
import { Icon } from '@iconify/vue'
|
|
||||||
import { Button } from '@/components/ui/button'
|
import { Button } from '@/components/ui/button'
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
||||||
|
import { Icon } from '@iconify/vue'
|
||||||
|
import { useColorMode } from '@vueuse/core'
|
||||||
|
|
||||||
// Pass { disableTransition: false } to enable transitions
|
// Pass { disableTransition: false } to enable transitions
|
||||||
const mode = useColorMode()
|
const mode = useColorMode()
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,11 @@ Install `tailwindcss` and its peer dependencies, then generate your `tailwind.co
|
||||||
|
|
||||||
```typescript {5,6,9-13}
|
```typescript {5,6,9-13}
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
import { defineConfig } from 'vite'
|
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
|
import autoprefixer from 'autoprefixer'
|
||||||
|
|
||||||
import tailwind from 'tailwindcss'
|
import tailwind from 'tailwindcss'
|
||||||
import autoprefixer from 'autoprefixer'
|
import { defineConfig } from 'vite'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
css: {
|
css: {
|
||||||
|
|
@ -124,10 +124,10 @@ npm i -D @types/node
|
||||||
```typescript {15-19}
|
```typescript {15-19}
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
import { defineConfig } from 'vite'
|
import autoprefixer from 'autoprefixer'
|
||||||
|
|
||||||
import tailwind from 'tailwindcss'
|
import tailwind from 'tailwindcss'
|
||||||
import autoprefixer from 'autoprefixer'
|
import { defineConfig } from 'vite'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
css: {
|
css: {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,11 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue'
|
|
||||||
import ChevronDownIcon from '~icons/radix-icons/chevron-down'
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Avatar,
|
Avatar,
|
||||||
AvatarFallback,
|
AvatarFallback,
|
||||||
AvatarImage,
|
AvatarImage,
|
||||||
} from '@/lib/registry/new-york/ui/avatar'
|
} from '@/lib/registry/new-york/ui/avatar'
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Card,
|
Card,
|
||||||
CardContent,
|
CardContent,
|
||||||
|
|
@ -16,12 +14,14 @@ import {
|
||||||
CardTitle,
|
CardTitle,
|
||||||
} from '@/lib/registry/new-york/ui/card'
|
} from '@/lib/registry/new-york/ui/card'
|
||||||
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '@/lib/registry/new-york/ui/command'
|
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '@/lib/registry/new-york/ui/command'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Popover,
|
Popover,
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from '@/lib/registry/new-york/ui/popover'
|
} from '@/lib/registry/new-york/ui/popover'
|
||||||
|
import ChevronDownIcon from '~icons/radix-icons/chevron-down'
|
||||||
|
|
||||||
|
import { ref } from 'vue'
|
||||||
|
|
||||||
const sofiaRole = ref('Owner')
|
const sofiaRole = ref('Owner')
|
||||||
const jacksonRole = ref('Member')
|
const jacksonRole = ref('Member')
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h } from 'vue'
|
|
||||||
import { useForm } from 'vee-validate'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
|
|
||||||
import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '@/lib/registry/default/ui/form'
|
import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '@/lib/registry/default/ui/form'
|
||||||
import { Separator } from '@/lib/registry/new-york/ui/separator'
|
|
||||||
import { RadioGroup, RadioGroupItem } from '@/lib/registry/new-york/ui/radio-group'
|
|
||||||
import { Switch } from '@/lib/registry/new-york/ui/switch'
|
|
||||||
import { Checkbox } from '@/lib/registry/new-york/ui/checkbox'
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
|
import { Checkbox } from '@/lib/registry/new-york/ui/checkbox'
|
||||||
|
import { RadioGroup, RadioGroupItem } from '@/lib/registry/new-york/ui/radio-group'
|
||||||
|
|
||||||
|
import { Separator } from '@/lib/registry/new-york/ui/separator'
|
||||||
|
import { Switch } from '@/lib/registry/new-york/ui/switch'
|
||||||
import { toast } from '@/lib/registry/new-york/ui/toast'
|
import { toast } from '@/lib/registry/new-york/ui/toast'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { useForm } from 'vee-validate'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const notificationsFormSchema = toTypedSchema(z.object({
|
const notificationsFormSchema = toTypedSchema(z.object({
|
||||||
type: z.enum(['all', 'mentions', 'none'], {
|
type: z.enum(['all', 'mentions', 'none'], {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, type Ref, computed } from 'vue'
|
|
||||||
import { CalendarRoot, type CalendarRootEmits, type CalendarRootProps, useDateFormatter, useForwardPropsEmits } from 'radix-vue'
|
|
||||||
import { createDecade, createYear, toDate } from 'radix-vue/date'
|
|
||||||
import { type DateValue, getLocalTimeZone, today } from '@internationalized/date'
|
|
||||||
import { useVModel } from '@vueuse/core'
|
|
||||||
import { CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarHeader, CalendarHeading } from '@/lib/registry/default/ui/calendar'
|
import { CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarHeader, CalendarHeading } from '@/lib/registry/default/ui/calendar'
|
||||||
import {
|
import {
|
||||||
Select,
|
Select,
|
||||||
|
|
@ -13,6 +8,11 @@ import {
|
||||||
SelectValue,
|
SelectValue,
|
||||||
} from '@/lib/registry/default/ui/select'
|
} from '@/lib/registry/default/ui/select'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { type DateValue, getLocalTimeZone, today } from '@internationalized/date'
|
||||||
|
import { useVModel } from '@vueuse/core'
|
||||||
|
import { CalendarRoot, type CalendarRootEmits, type CalendarRootProps, useDateFormatter, useForwardPropsEmits } from 'radix-vue'
|
||||||
|
import { createDecade, createYear, toDate } from 'radix-vue/date'
|
||||||
|
import { computed, type HTMLAttributes, type Ref } from 'vue'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<CalendarRootProps & { class?: HTMLAttributes['class'] }>(), {
|
const props = withDefaults(defineProps<CalendarRootProps & { class?: HTMLAttributes['class'] }>(), {
|
||||||
modelValue: undefined,
|
modelValue: undefined,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from '@/lib/registry/default/ui/carousel'
|
|
||||||
import { Card, CardContent } from '@/lib/registry/default/ui/card'
|
import { Card, CardContent } from '@/lib/registry/default/ui/card'
|
||||||
|
import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from '@/lib/registry/default/ui/carousel'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue'
|
|
||||||
import {
|
|
||||||
ArrowUpCircle,
|
|
||||||
CheckCircle2,
|
|
||||||
Circle,
|
|
||||||
HelpCircle,
|
|
||||||
XCircle,
|
|
||||||
} from 'lucide-vue-next'
|
|
||||||
import type { Icon } from 'lucide-vue-next'
|
import type { Icon } from 'lucide-vue-next'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import {
|
import {
|
||||||
Command,
|
Command,
|
||||||
|
|
@ -19,11 +9,21 @@ import {
|
||||||
CommandItem,
|
CommandItem,
|
||||||
CommandList,
|
CommandList,
|
||||||
} from '@/lib/registry/default/ui/command'
|
} from '@/lib/registry/default/ui/command'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Popover,
|
Popover,
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from '@/lib/registry/default/ui/popover'
|
} from '@/lib/registry/default/ui/popover'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
|
import {
|
||||||
|
ArrowUpCircle,
|
||||||
|
CheckCircle2,
|
||||||
|
Circle,
|
||||||
|
HelpCircle,
|
||||||
|
XCircle,
|
||||||
|
} from 'lucide-vue-next'
|
||||||
|
import { ref } from 'vue'
|
||||||
|
|
||||||
interface Status {
|
interface Status {
|
||||||
value: string
|
value: string
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,9 @@ import type {
|
||||||
SortingState,
|
SortingState,
|
||||||
VisibilityState,
|
VisibilityState,
|
||||||
} from '@tanstack/vue-table'
|
} from '@tanstack/vue-table'
|
||||||
import {
|
|
||||||
FlexRender,
|
|
||||||
createColumnHelper,
|
|
||||||
getCoreRowModel,
|
|
||||||
getExpandedRowModel,
|
|
||||||
getFilteredRowModel,
|
|
||||||
getPaginationRowModel,
|
|
||||||
getSortedRowModel,
|
|
||||||
useVueTable,
|
|
||||||
} from '@tanstack/vue-table'
|
|
||||||
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import DropdownAction from './DataTableDemoColumn.vue'
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import { Checkbox } from '@/lib/registry/default/ui/checkbox'
|
import { Checkbox } from '@/lib/registry/default/ui/checkbox'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuCheckboxItem,
|
DropdownMenuCheckboxItem,
|
||||||
|
|
@ -37,6 +24,19 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from '@/lib/registry/default/ui/table'
|
} from '@/lib/registry/default/ui/table'
|
||||||
import { cn, valueUpdater } from '@/lib/utils'
|
import { cn, valueUpdater } from '@/lib/utils'
|
||||||
|
import {
|
||||||
|
createColumnHelper,
|
||||||
|
FlexRender,
|
||||||
|
getCoreRowModel,
|
||||||
|
getExpandedRowModel,
|
||||||
|
getFilteredRowModel,
|
||||||
|
getPaginationRowModel,
|
||||||
|
getSortedRowModel,
|
||||||
|
useVueTable,
|
||||||
|
} from '@tanstack/vue-table'
|
||||||
|
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
||||||
|
import { h, ref } from 'vue'
|
||||||
|
import DropdownAction from './DataTableDemoColumn.vue'
|
||||||
|
|
||||||
export interface Payment {
|
export interface Payment {
|
||||||
id: string
|
id: string
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,9 @@ import type {
|
||||||
SortingState,
|
SortingState,
|
||||||
VisibilityState,
|
VisibilityState,
|
||||||
} from '@tanstack/vue-table'
|
} from '@tanstack/vue-table'
|
||||||
import {
|
|
||||||
FlexRender,
|
|
||||||
getCoreRowModel,
|
|
||||||
getExpandedRowModel,
|
|
||||||
getFilteredRowModel,
|
|
||||||
getPaginationRowModel,
|
|
||||||
getSortedRowModel,
|
|
||||||
useVueTable,
|
|
||||||
} from '@tanstack/vue-table'
|
|
||||||
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import DropdownAction from './DataTableDemoColumn.vue'
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import { Checkbox } from '@/lib/registry/default/ui/checkbox'
|
import { Checkbox } from '@/lib/registry/default/ui/checkbox'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuCheckboxItem,
|
DropdownMenuCheckboxItem,
|
||||||
|
|
@ -37,6 +25,18 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from '@/lib/registry/default/ui/table'
|
} from '@/lib/registry/default/ui/table'
|
||||||
import { valueUpdater } from '@/lib/utils'
|
import { valueUpdater } from '@/lib/utils'
|
||||||
|
import {
|
||||||
|
FlexRender,
|
||||||
|
getCoreRowModel,
|
||||||
|
getExpandedRowModel,
|
||||||
|
getFilteredRowModel,
|
||||||
|
getPaginationRowModel,
|
||||||
|
getSortedRowModel,
|
||||||
|
useVueTable,
|
||||||
|
} from '@tanstack/vue-table'
|
||||||
|
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
||||||
|
import { h, ref } from 'vue'
|
||||||
|
import DropdownAction from './DataTableDemoColumn.vue'
|
||||||
|
|
||||||
export interface Payment {
|
export interface Payment {
|
||||||
id: string
|
id: string
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { MoreHorizontal } from 'lucide-vue-next'
|
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/lib/registry/default/ui/dropdown-menu'
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/lib/registry/default/ui/dropdown-menu'
|
||||||
|
import { MoreHorizontal } from 'lucide-vue-next'
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
payment: {
|
payment: {
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,9 @@ import type {
|
||||||
SortingState,
|
SortingState,
|
||||||
VisibilityState,
|
VisibilityState,
|
||||||
} from '@tanstack/vue-table'
|
} from '@tanstack/vue-table'
|
||||||
import {
|
|
||||||
FlexRender,
|
|
||||||
getCoreRowModel,
|
|
||||||
getExpandedRowModel,
|
|
||||||
getFilteredRowModel,
|
|
||||||
getPaginationRowModel,
|
|
||||||
getSortedRowModel,
|
|
||||||
useVueTable,
|
|
||||||
} from '@tanstack/vue-table'
|
|
||||||
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
import { h, ref, shallowRef } from 'vue'
|
|
||||||
import DropdownAction from './DataTableDemoColumn.vue'
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import { Checkbox } from '@/lib/registry/default/ui/checkbox'
|
import { Checkbox } from '@/lib/registry/default/ui/checkbox'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuCheckboxItem,
|
DropdownMenuCheckboxItem,
|
||||||
|
|
@ -37,6 +25,18 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from '@/lib/registry/default/ui/table'
|
} from '@/lib/registry/default/ui/table'
|
||||||
import { valueUpdater } from '@/lib/utils'
|
import { valueUpdater } from '@/lib/utils'
|
||||||
|
import {
|
||||||
|
FlexRender,
|
||||||
|
getCoreRowModel,
|
||||||
|
getExpandedRowModel,
|
||||||
|
getFilteredRowModel,
|
||||||
|
getPaginationRowModel,
|
||||||
|
getSortedRowModel,
|
||||||
|
useVueTable,
|
||||||
|
} from '@tanstack/vue-table'
|
||||||
|
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
||||||
|
import { h, ref, shallowRef } from 'vue'
|
||||||
|
import DropdownAction from './DataTableDemoColumn.vue'
|
||||||
|
|
||||||
export interface Payment {
|
export interface Payment {
|
||||||
id: string
|
id: string
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h } from 'vue'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import {
|
|
||||||
Form,
|
|
||||||
FormControl,
|
|
||||||
FormDescription,
|
|
||||||
FormField,
|
|
||||||
FormItem,
|
|
||||||
FormLabel,
|
|
||||||
FormMessage,
|
|
||||||
} from '@/lib/registry/default/ui/form'
|
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
DialogContent,
|
DialogContent,
|
||||||
|
|
@ -22,8 +9,21 @@ import {
|
||||||
DialogTitle,
|
DialogTitle,
|
||||||
DialogTrigger,
|
DialogTrigger,
|
||||||
} from '@/lib/registry/default/ui/dialog'
|
} from '@/lib/registry/default/ui/dialog'
|
||||||
|
import {
|
||||||
|
Form,
|
||||||
|
FormControl,
|
||||||
|
FormDescription,
|
||||||
|
FormField,
|
||||||
|
FormItem,
|
||||||
|
FormLabel,
|
||||||
|
FormMessage,
|
||||||
|
} from '@/lib/registry/default/ui/form'
|
||||||
|
|
||||||
import { Input } from '@/lib/registry/default/ui/input'
|
import { Input } from '@/lib/registry/default/ui/input'
|
||||||
import { toast } from '@/lib/registry/default/ui/toast'
|
import { toast } from '@/lib/registry/default/ui/toast'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const formSchema = toTypedSchema(z.object({
|
const formSchema = toTypedSchema(z.object({
|
||||||
username: z.string().min(2).max(50),
|
username: z.string().min(2).max(50),
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h } from 'vue'
|
|
||||||
import { useForm } from 'vee-validate'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import {
|
import {
|
||||||
FormControl,
|
FormControl,
|
||||||
|
|
@ -22,6 +17,11 @@ import {
|
||||||
} from '@/lib/registry/default/ui/number-field'
|
} from '@/lib/registry/default/ui/number-field'
|
||||||
import { toast } from '@/lib/registry/default/ui/toast'
|
import { toast } from '@/lib/registry/default/ui/toast'
|
||||||
|
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { useForm } from 'vee-validate'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const formSchema = toTypedSchema(z.object({
|
const formSchema = toTypedSchema(z.object({
|
||||||
payment: z.number().min(10, 'Min 10 euros to send payment').max(5000, 'Max 5000 euros to send payment'),
|
payment: z.number().min(10, 'Min 10 euros to send payment').max(5000, 'Max 5000 euros to send payment'),
|
||||||
}))
|
}))
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { BookUser, Check, CreditCard, Truck } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
import { Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
import { Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
||||||
|
|
||||||
|
import { BookUser, Check, CreditCard, Truck } from 'lucide-vue-next'
|
||||||
|
|
||||||
const steps = [{
|
const steps = [{
|
||||||
step: 1,
|
step: 1,
|
||||||
title: 'Address',
|
title: 'Address',
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Check, Circle, Dot } from 'lucide-vue-next'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
|
||||||
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/lib/registry/default/ui/form'
|
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/lib/registry/default/ui/form'
|
||||||
|
import { Input } from '@/lib/registry/default/ui/input'
|
||||||
import {
|
import {
|
||||||
Select,
|
Select,
|
||||||
SelectContent,
|
SelectContent,
|
||||||
|
|
@ -13,9 +10,12 @@ import {
|
||||||
SelectTrigger,
|
SelectTrigger,
|
||||||
SelectValue,
|
SelectValue,
|
||||||
} from '@/lib/registry/default/ui/select'
|
} from '@/lib/registry/default/ui/select'
|
||||||
import { Input } from '@/lib/registry/default/ui/input'
|
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
|
||||||
import { toast } from '@/lib/registry/default/ui/toast'
|
import { toast } from '@/lib/registry/default/ui/toast'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { Check, Circle, Dot } from 'lucide-vue-next'
|
||||||
|
import { h, ref } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const formSchema = [
|
const formSchema = [
|
||||||
z.object({
|
z.object({
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Check, Circle, Dot } from 'lucide-vue-next'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
|
|
||||||
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Check, Circle, Dot } from 'lucide-vue-next'
|
||||||
|
|
||||||
const steps = [
|
const steps = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Check, Circle, Dot } from 'lucide-vue-next'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
|
|
||||||
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/default/ui/stepper'
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Check, Circle, Dot } from 'lucide-vue-next'
|
||||||
|
|
||||||
const steps = [
|
const steps = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref } from 'vue'
|
|
||||||
import { ComboboxAnchor, ComboboxContent, ComboboxInput, ComboboxPortal, ComboboxRoot } from 'radix-vue'
|
|
||||||
import { CommandEmpty, CommandGroup, CommandItem, CommandList } from '@/lib/registry/default/ui/command'
|
import { CommandEmpty, CommandGroup, CommandItem, CommandList } from '@/lib/registry/default/ui/command'
|
||||||
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/default/ui/tags-input'
|
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/default/ui/tags-input'
|
||||||
|
import { ComboboxAnchor, ComboboxContent, ComboboxInput, ComboboxPortal, ComboboxRoot } from 'radix-vue'
|
||||||
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
const frameworks = [
|
const frameworks = [
|
||||||
{ value: 'next.js', label: 'Next.js' },
|
{ value: 'next.js', label: 'Next.js' },
|
||||||
|
|
@ -28,7 +28,7 @@ const filteredFrameworks = computed(() => frameworks.filter(i => !modelValue.val
|
||||||
</TagsInputItem>
|
</TagsInputItem>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ComboboxRoot v-model="modelValue" v-model:open="open" v-model:searchTerm="searchTerm" class="w-full">
|
<ComboboxRoot v-model="modelValue" v-model:open="open" v-model:search-term="searchTerm" class="w-full">
|
||||||
<ComboboxAnchor as-child>
|
<ComboboxAnchor as-child>
|
||||||
<ComboboxInput placeholder="Framework..." as-child>
|
<ComboboxInput placeholder="Framework..." as-child>
|
||||||
<TagsInputInput class="w-full px-3" :class="modelValue.length > 0 ? 'mt-2' : ''" @keydown.enter.prevent />
|
<TagsInputInput class="w-full px-3" :class="modelValue.length > 0 ? 'mt-2' : ''" @keydown.enter.prevent />
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import { useForm } from 'vee-validate'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import { z } from 'zod'
|
|
||||||
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/default/ui/tags-input'
|
|
||||||
import { Button } from '@/lib/registry/default/ui/button'
|
import { Button } from '@/lib/registry/default/ui/button'
|
||||||
import {
|
import {
|
||||||
FormControl,
|
FormControl,
|
||||||
|
|
@ -13,7 +8,12 @@ import {
|
||||||
FormLabel,
|
FormLabel,
|
||||||
FormMessage,
|
FormMessage,
|
||||||
} from '@/lib/registry/default/ui/form'
|
} from '@/lib/registry/default/ui/form'
|
||||||
|
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/default/ui/tags-input'
|
||||||
import { toast } from '@/lib/registry/default/ui/toast'
|
import { toast } from '@/lib/registry/default/ui/toast'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { useForm } from 'vee-validate'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import { z } from 'zod'
|
||||||
|
|
||||||
const formSchema = toTypedSchema(z.object({
|
const formSchema = toTypedSchema(z.object({
|
||||||
fruits: z.array(z.string()).min(1).max(3),
|
fruits: z.array(z.string()).min(1).max(3),
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,14 @@ const delegatedProps = computed(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<AlertDialogCancel v-bind="delegatedProps" :class="cn(buttonVariants({ variant: 'outline' }), 'mt-2 sm:mt-0', props.class)">
|
<AlertDialogCancel
|
||||||
|
v-bind="delegatedProps"
|
||||||
|
:class="cn(
|
||||||
|
buttonVariants({ variant: 'outline' }),
|
||||||
|
'mt-2 sm:mt-0',
|
||||||
|
props.class,
|
||||||
|
)"
|
||||||
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</AlertDialogCancel>
|
</AlertDialogCancel>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<script setup lang="ts" generic="T extends ZodObjectOrWrapped">
|
<script setup lang="ts" generic="T extends ZodObjectOrWrapped">
|
||||||
import { computed, toRefs } from 'vue'
|
|
||||||
import type { ZodAny, z } from 'zod'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import type { FormContext, GenericObject } from 'vee-validate'
|
import type { FormContext, GenericObject } from 'vee-validate'
|
||||||
import { type ZodObjectOrWrapped, getBaseSchema, getBaseType, getDefaultValueInZodStack, getObjectFormSchema } from './utils'
|
import type { z, ZodAny } from 'zod'
|
||||||
import type { Config, ConfigItem, Dependency, Shape } from './interface'
|
import type { Config, ConfigItem, Dependency, Shape } from './interface'
|
||||||
|
import { Form } from '@/lib/registry/default/ui/form'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { computed, toRefs } from 'vue'
|
||||||
import AutoFormField from './AutoFormField.vue'
|
import AutoFormField from './AutoFormField.vue'
|
||||||
import { provideDependencies } from './dependencies'
|
import { provideDependencies } from './dependencies'
|
||||||
import { Form } from '@/lib/registry/default/ui/form'
|
import { getBaseSchema, getBaseType, getDefaultValueInZodStack, getObjectFormSchema, type ZodObjectOrWrapped } from './utils'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
schema: T
|
schema: T
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { CalendarCell, type CalendarCellProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { CalendarCell, type CalendarCellProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<CalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<CalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { CalendarCellTrigger, type CalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { buttonVariants } from '@/lib/registry/default/ui/button'
|
import { buttonVariants } from '@/lib/registry/default/ui/button'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { CalendarCellTrigger, type CalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useProvideCarousel } from './useCarousel'
|
|
||||||
import type { CarouselEmits, CarouselProps, WithClassAsProps } from './interface'
|
import type { CarouselEmits, CarouselProps, WithClassAsProps } from './interface'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { useProvideCarousel } from './useCarousel'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<CarouselProps & WithClassAsProps>(), {
|
const props = withDefaults(defineProps<CarouselProps & WithClassAsProps>(), {
|
||||||
orientation: 'horizontal',
|
orientation: 'horizontal',
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<script setup lang="ts" generic="T extends Record<string, any>">
|
<script setup lang="ts" generic="T extends Record<string, any>">
|
||||||
import { type BulletLegendItemInterface, CurveType } from '@unovis/ts'
|
|
||||||
import { VisArea, VisAxis, VisLine, VisXYContainer } from '@unovis/vue'
|
|
||||||
import { Area, Axis, Line } from '@unovis/ts'
|
|
||||||
import { type Component, computed, ref } from 'vue'
|
|
||||||
import { useMounted } from '@vueuse/core'
|
|
||||||
import { useId } from 'radix-vue'
|
|
||||||
import type { BaseChartProps } from '.'
|
import type { BaseChartProps } from '.'
|
||||||
import { ChartCrosshair, ChartLegend, defaultColors } from '@/lib/registry/default/ui/chart'
|
import { ChartCrosshair, ChartLegend, defaultColors } from '@/lib/registry/default/ui/chart'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { type BulletLegendItemInterface, CurveType } from '@unovis/ts'
|
||||||
|
import { Area, Axis, Line } from '@unovis/ts'
|
||||||
|
import { VisArea, VisAxis, VisLine, VisXYContainer } from '@unovis/vue'
|
||||||
|
import { useMounted } from '@vueuse/core'
|
||||||
|
import { useId } from 'radix-vue'
|
||||||
|
import { type Component, computed, ref } from 'vue'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<BaseChartProps<T> & {
|
const props = withDefaults(defineProps<BaseChartProps<T> & {
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { NumberFieldDecrementProps } from 'radix-vue'
|
import type { NumberFieldDecrementProps } from 'radix-vue'
|
||||||
import { NumberFieldDecrement, useForwardProps } from 'radix-vue'
|
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { Minus } from 'lucide-vue-next'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Minus } from 'lucide-vue-next'
|
||||||
|
import { NumberFieldDecrement, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<NumberFieldDecrementProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<NumberFieldDecrementProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { NumberFieldIncrementProps } from 'radix-vue'
|
import type { NumberFieldIncrementProps } from 'radix-vue'
|
||||||
import { NumberFieldIncrement, useForwardProps } from 'radix-vue'
|
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { Plus } from 'lucide-vue-next'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Plus } from 'lucide-vue-next'
|
||||||
|
import { NumberFieldIncrement, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<NumberFieldIncrementProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<NumberFieldIncrementProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { NumberFieldInput } from 'radix-vue'
|
|
||||||
import type { HTMLAttributes } from 'vue'
|
import type { HTMLAttributes } from 'vue'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { NumberFieldInput } from 'radix-vue'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
class?: HTMLAttributes['class']
|
class?: HTMLAttributes['class']
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarCell, type RangeCalendarCellProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarCell, type RangeCalendarCellProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarCellTrigger, type RangeCalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { buttonVariants } from '@/lib/registry/default/ui/button'
|
import { buttonVariants } from '@/lib/registry/default/ui/button'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarCellTrigger, type RangeCalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarHeadCell, type RangeCalendarHeadCellProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarHeadCell, type RangeCalendarHeadCellProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarHeadCellProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarHeadCellProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { SelectIcon, SelectTrigger, type SelectTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { ChevronDown } from 'lucide-vue-next'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { ChevronDown } from 'lucide-vue-next'
|
||||||
|
import { SelectIcon, SelectTrigger, type SelectTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<SelectTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<SelectTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { Separator, type SeparatorProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Separator, type SeparatorProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<
|
const props = defineProps<
|
||||||
SeparatorProps & { class?: HTMLAttributes['class'], label?: string }
|
SeparatorProps & { class?: HTMLAttributes['class'], label?: string }
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { SliderRootEmits, SliderRootProps } from 'radix-vue'
|
import type { SliderRootEmits, SliderRootProps } from 'radix-vue'
|
||||||
import { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<SliderRootProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<SliderRootProps & { class?: HTMLAttributes['class'] }>()
|
||||||
const emits = defineEmits<SliderRootEmits>()
|
const emits = defineEmits<SliderRootEmits>()
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperRootEmits, StepperRootProps } from 'radix-vue'
|
import type { StepperRootEmits, StepperRootProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperRoot, useForwardPropsEmits } from 'radix-vue'
|
import { StepperRoot, useForwardPropsEmits } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperRootProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperRootProps & { class?: HTMLAttributes['class'] }>()
|
||||||
const emits = defineEmits<StepperRootEmits>()
|
const emits = defineEmits<StepperRootEmits>()
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperDescriptionProps } from 'radix-vue'
|
import type { StepperDescriptionProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperDescription, useForwardProps } from 'radix-vue'
|
import { StepperDescription, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperDescriptionProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperDescriptionProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperIndicatorProps } from 'radix-vue'
|
import type { StepperIndicatorProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperIndicator, useForwardProps } from 'radix-vue'
|
import { StepperIndicator, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperIndicatorProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperIndicatorProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperItemProps } from 'radix-vue'
|
import type { StepperItemProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperItem, useForwardProps } from 'radix-vue'
|
import { StepperItem, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperItemProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperItemProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperSeparatorProps } from 'radix-vue'
|
import type { StepperSeparatorProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperSeparator, useForwardProps } from 'radix-vue'
|
import { StepperSeparator, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperSeparatorProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperSeparatorProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperTitleProps } from 'radix-vue'
|
import type { StepperTitleProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperTitle, useForwardProps } from 'radix-vue'
|
import { StepperTitle, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperTitleProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperTitleProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperTriggerProps } from 'radix-vue'
|
import type { StepperTriggerProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperTrigger, useForwardProps } from 'radix-vue'
|
import { StepperTrigger, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
export { default as Stepper } from './Stepper.vue'
|
export { default as Stepper } from './Stepper.vue'
|
||||||
export { default as StepperItem } from './StepperItem.vue'
|
|
||||||
export { default as StepperIndicator } from './StepperIndicator.vue'
|
|
||||||
export { default as StepperTrigger } from './StepperTrigger.vue'
|
|
||||||
export { default as StepperTitle } from './StepperTitle.vue'
|
|
||||||
export { default as StepperDescription } from './StepperDescription.vue'
|
export { default as StepperDescription } from './StepperDescription.vue'
|
||||||
|
export { default as StepperIndicator } from './StepperIndicator.vue'
|
||||||
|
export { default as StepperItem } from './StepperItem.vue'
|
||||||
export { default as StepperSeparator } from './StepperSeparator.vue'
|
export { default as StepperSeparator } from './StepperSeparator.vue'
|
||||||
|
export { default as StepperTitle } from './StepperTitle.vue'
|
||||||
|
export { default as StepperTrigger } from './StepperTrigger.vue'
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { TabsList, type TabsListProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { TabsList, type TabsListProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<TabsListProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<TabsListProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { TabsTrigger, type TabsTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { TabsTrigger, type TabsTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<TabsTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<TabsTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,10 +79,22 @@ const vCalendarSlots = computed(() => {
|
||||||
<template>
|
<template>
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
<div v-if="$attrs.mode !== 'time'" class="absolute flex justify-between w-full px-4 top-3 z-[1]">
|
<div v-if="$attrs.mode !== 'time'" class="absolute flex justify-between w-full px-4 top-3 z-[1]">
|
||||||
<button :class="cn(buttonVariants({ variant: 'outline' }), 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100')" @click="handleNav('prev')">
|
<button
|
||||||
|
:class="cn(
|
||||||
|
buttonVariants({ variant: 'outline' }),
|
||||||
|
'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100',
|
||||||
|
)"
|
||||||
|
@click="handleNav('prev')"
|
||||||
|
>
|
||||||
<ChevronLeft class="w-4 h-4" />
|
<ChevronLeft class="w-4 h-4" />
|
||||||
</button>
|
</button>
|
||||||
<button :class="cn(buttonVariants({ variant: 'outline' }), 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100')" @click="handleNav('next')">
|
<button
|
||||||
|
:class="cn(
|
||||||
|
buttonVariants({ variant: 'outline' }),
|
||||||
|
'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100',
|
||||||
|
)"
|
||||||
|
@click="handleNav('next')"
|
||||||
|
>
|
||||||
<ChevronRight class="w-4 h-4" />
|
<ChevronRight class="w-4 h-4" />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, type Ref, computed } from 'vue'
|
|
||||||
import { CalendarRoot, type CalendarRootEmits, type CalendarRootProps, useDateFormatter, useForwardPropsEmits } from 'radix-vue'
|
|
||||||
import { createDecade, createYear, toDate } from 'radix-vue/date'
|
|
||||||
import { type DateValue, getLocalTimeZone, today } from '@internationalized/date'
|
|
||||||
import { useVModel } from '@vueuse/core'
|
|
||||||
import { CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarHeader, CalendarHeading } from '@/lib/registry/new-york/ui/calendar'
|
import { CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarHeader, CalendarHeading } from '@/lib/registry/new-york/ui/calendar'
|
||||||
import {
|
import {
|
||||||
Select,
|
Select,
|
||||||
|
|
@ -13,6 +8,11 @@ import {
|
||||||
SelectValue,
|
SelectValue,
|
||||||
} from '@/lib/registry/new-york/ui/select'
|
} from '@/lib/registry/new-york/ui/select'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { type DateValue, getLocalTimeZone, today } from '@internationalized/date'
|
||||||
|
import { useVModel } from '@vueuse/core'
|
||||||
|
import { CalendarRoot, type CalendarRootEmits, type CalendarRootProps, useDateFormatter, useForwardPropsEmits } from 'radix-vue'
|
||||||
|
import { createDecade, createYear, toDate } from 'radix-vue/date'
|
||||||
|
import { computed, type HTMLAttributes, type Ref } from 'vue'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<CalendarRootProps & { class?: HTMLAttributes['class'] }>(), {
|
const props = withDefaults(defineProps<CalendarRootProps & { class?: HTMLAttributes['class'] }>(), {
|
||||||
modelValue: undefined,
|
modelValue: undefined,
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,9 @@ import type {
|
||||||
SortingState,
|
SortingState,
|
||||||
VisibilityState,
|
VisibilityState,
|
||||||
} from '@tanstack/vue-table'
|
} from '@tanstack/vue-table'
|
||||||
import {
|
|
||||||
FlexRender,
|
|
||||||
createColumnHelper,
|
|
||||||
getCoreRowModel,
|
|
||||||
getExpandedRowModel,
|
|
||||||
getFilteredRowModel,
|
|
||||||
getPaginationRowModel,
|
|
||||||
getSortedRowModel,
|
|
||||||
useVueTable,
|
|
||||||
} from '@tanstack/vue-table'
|
|
||||||
import { CaretSortIcon, ChevronDownIcon } from '@radix-icons/vue'
|
|
||||||
|
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import DropdownAction from './DataTableDemoColumn.vue'
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
import { Checkbox } from '@/lib/registry/new-york/ui/checkbox'
|
import { Checkbox } from '@/lib/registry/new-york/ui/checkbox'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuCheckboxItem,
|
DropdownMenuCheckboxItem,
|
||||||
|
|
@ -37,6 +24,19 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from '@/lib/registry/new-york/ui/table'
|
} from '@/lib/registry/new-york/ui/table'
|
||||||
import { cn, valueUpdater } from '@/lib/utils'
|
import { cn, valueUpdater } from '@/lib/utils'
|
||||||
|
import { CaretSortIcon, ChevronDownIcon } from '@radix-icons/vue'
|
||||||
|
import {
|
||||||
|
createColumnHelper,
|
||||||
|
FlexRender,
|
||||||
|
getCoreRowModel,
|
||||||
|
getExpandedRowModel,
|
||||||
|
getFilteredRowModel,
|
||||||
|
getPaginationRowModel,
|
||||||
|
getSortedRowModel,
|
||||||
|
useVueTable,
|
||||||
|
} from '@tanstack/vue-table'
|
||||||
|
import { h, ref } from 'vue'
|
||||||
|
import DropdownAction from './DataTableDemoColumn.vue'
|
||||||
|
|
||||||
export interface Payment {
|
export interface Payment {
|
||||||
id: string
|
id: string
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { DotsHorizontalIcon } from '@radix-icons/vue'
|
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/lib/registry/new-york/ui/dropdown-menu'
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/lib/registry/new-york/ui/dropdown-menu'
|
||||||
|
import { DotsHorizontalIcon } from '@radix-icons/vue'
|
||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
payment: {
|
payment: {
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,9 @@ import type {
|
||||||
SortingState,
|
SortingState,
|
||||||
VisibilityState,
|
VisibilityState,
|
||||||
} from '@tanstack/vue-table'
|
} from '@tanstack/vue-table'
|
||||||
import {
|
|
||||||
FlexRender,
|
|
||||||
getCoreRowModel,
|
|
||||||
getExpandedRowModel,
|
|
||||||
getFilteredRowModel,
|
|
||||||
getPaginationRowModel,
|
|
||||||
getSortedRowModel,
|
|
||||||
useVueTable,
|
|
||||||
} from '@tanstack/vue-table'
|
|
||||||
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
import { h, ref, shallowRef } from 'vue'
|
|
||||||
import DropdownAction from './DataTableDemoColumn.vue'
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
import { Checkbox } from '@/lib/registry/new-york/ui/checkbox'
|
import { Checkbox } from '@/lib/registry/new-york/ui/checkbox'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuCheckboxItem,
|
DropdownMenuCheckboxItem,
|
||||||
|
|
@ -37,6 +25,18 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from '@/lib/registry/new-york/ui/table'
|
} from '@/lib/registry/new-york/ui/table'
|
||||||
import { valueUpdater } from '@/lib/utils'
|
import { valueUpdater } from '@/lib/utils'
|
||||||
|
import {
|
||||||
|
FlexRender,
|
||||||
|
getCoreRowModel,
|
||||||
|
getExpandedRowModel,
|
||||||
|
getFilteredRowModel,
|
||||||
|
getPaginationRowModel,
|
||||||
|
getSortedRowModel,
|
||||||
|
useVueTable,
|
||||||
|
} from '@tanstack/vue-table'
|
||||||
|
import { ArrowUpDown, ChevronDown } from 'lucide-vue-next'
|
||||||
|
import { h, ref, shallowRef } from 'vue'
|
||||||
|
import DropdownAction from './DataTableDemoColumn.vue'
|
||||||
|
|
||||||
export interface Payment {
|
export interface Payment {
|
||||||
id: string
|
id: string
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h } from 'vue'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
import {
|
|
||||||
Form,
|
|
||||||
FormControl,
|
|
||||||
FormDescription,
|
|
||||||
FormField,
|
|
||||||
FormItem,
|
|
||||||
FormLabel,
|
|
||||||
FormMessage,
|
|
||||||
} from '@/lib/registry/new-york/ui/form'
|
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
DialogContent,
|
DialogContent,
|
||||||
|
|
@ -22,8 +9,21 @@ import {
|
||||||
DialogTitle,
|
DialogTitle,
|
||||||
DialogTrigger,
|
DialogTrigger,
|
||||||
} from '@/lib/registry/new-york/ui/dialog'
|
} from '@/lib/registry/new-york/ui/dialog'
|
||||||
|
import {
|
||||||
|
Form,
|
||||||
|
FormControl,
|
||||||
|
FormDescription,
|
||||||
|
FormField,
|
||||||
|
FormItem,
|
||||||
|
FormLabel,
|
||||||
|
FormMessage,
|
||||||
|
} from '@/lib/registry/new-york/ui/form'
|
||||||
|
|
||||||
import { Input } from '@/lib/registry/new-york/ui/input'
|
import { Input } from '@/lib/registry/new-york/ui/input'
|
||||||
import { toast } from '@/lib/registry/new-york/ui/toast'
|
import { toast } from '@/lib/registry/new-york/ui/toast'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const formSchema = toTypedSchema(z.object({
|
const formSchema = toTypedSchema(z.object({
|
||||||
username: z.string().min(2).max(50),
|
username: z.string().min(2).max(50),
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h } from 'vue'
|
|
||||||
import { useForm } from 'vee-validate'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
import {
|
import {
|
||||||
FormControl,
|
FormControl,
|
||||||
|
|
@ -22,6 +17,11 @@ import {
|
||||||
} from '@/lib/registry/new-york/ui/number-field'
|
} from '@/lib/registry/new-york/ui/number-field'
|
||||||
import { toast } from '@/lib/registry/new-york/ui/toast'
|
import { toast } from '@/lib/registry/new-york/ui/toast'
|
||||||
|
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { useForm } from 'vee-validate'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const formSchema = toTypedSchema(z.object({
|
const formSchema = toTypedSchema(z.object({
|
||||||
payment: z.number().min(10, 'Min 10 euros to send payment').max(5000, 'Max 5000 euros to send payment'),
|
payment: z.number().min(10, 'Min 10 euros to send payment').max(5000, 'Max 5000 euros to send payment'),
|
||||||
}))
|
}))
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { BookUser, Check, CreditCard, Truck } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
import { Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
import { Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
||||||
|
|
||||||
|
import { BookUser, Check, CreditCard, Truck } from 'lucide-vue-next'
|
||||||
|
|
||||||
const steps = [{
|
const steps = [{
|
||||||
step: 1,
|
step: 1,
|
||||||
title: 'Address',
|
title: 'Address',
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { CheckIcon, CircleIcon, DotIcon } from '@radix-icons/vue'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import * as z from 'zod'
|
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
|
||||||
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/lib/registry/new-york/ui/form'
|
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@/lib/registry/new-york/ui/form'
|
||||||
|
import { Input } from '@/lib/registry/new-york/ui/input'
|
||||||
import {
|
import {
|
||||||
Select,
|
Select,
|
||||||
SelectContent,
|
SelectContent,
|
||||||
|
|
@ -13,9 +10,12 @@ import {
|
||||||
SelectTrigger,
|
SelectTrigger,
|
||||||
SelectValue,
|
SelectValue,
|
||||||
} from '@/lib/registry/new-york/ui/select'
|
} from '@/lib/registry/new-york/ui/select'
|
||||||
import { Input } from '@/lib/registry/new-york/ui/input'
|
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
|
||||||
import { toast } from '@/lib/registry/new-york/ui/toast'
|
import { toast } from '@/lib/registry/new-york/ui/toast'
|
||||||
|
import { CheckIcon, CircleIcon, DotIcon } from '@radix-icons/vue'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { h, ref } from 'vue'
|
||||||
|
import * as z from 'zod'
|
||||||
|
|
||||||
const formSchema = [
|
const formSchema = [
|
||||||
z.object({
|
z.object({
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { CheckIcon, CircleIcon, DotIcon } from '@radix-icons/vue'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
|
|
||||||
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { CheckIcon, CircleIcon, DotIcon } from '@radix-icons/vue'
|
||||||
|
|
||||||
const steps = [
|
const steps = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { CheckIcon, CircleIcon, DotIcon } from '@radix-icons/vue'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
|
|
||||||
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
import { Stepper, StepperDescription, StepperItem, StepperSeparator, StepperTitle, StepperTrigger } from '@/lib/registry/new-york/ui/stepper'
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { CheckIcon, CircleIcon, DotIcon } from '@radix-icons/vue'
|
||||||
|
|
||||||
const steps = [
|
const steps = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref } from 'vue'
|
|
||||||
import { ComboboxAnchor, ComboboxContent, ComboboxInput, ComboboxPortal, ComboboxRoot } from 'radix-vue'
|
|
||||||
import { CommandEmpty, CommandGroup, CommandItem, CommandList } from '@/lib/registry/new-york/ui/command'
|
import { CommandEmpty, CommandGroup, CommandItem, CommandList } from '@/lib/registry/new-york/ui/command'
|
||||||
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/new-york/ui/tags-input'
|
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/new-york/ui/tags-input'
|
||||||
|
import { ComboboxAnchor, ComboboxContent, ComboboxInput, ComboboxPortal, ComboboxRoot } from 'radix-vue'
|
||||||
|
import { computed, ref } from 'vue'
|
||||||
|
|
||||||
const frameworks = [
|
const frameworks = [
|
||||||
{ value: 'next.js', label: 'Next.js' },
|
{ value: 'next.js', label: 'Next.js' },
|
||||||
|
|
@ -28,7 +28,7 @@ const filteredFrameworks = computed(() => frameworks.filter(i => !modelValue.val
|
||||||
</TagsInputItem>
|
</TagsInputItem>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ComboboxRoot v-model="modelValue" v-model:open="open" v-model:searchTerm="searchTerm" class="w-full">
|
<ComboboxRoot v-model="modelValue" v-model:open="open" v-model:search-term="searchTerm" class="w-full">
|
||||||
<ComboboxAnchor as-child>
|
<ComboboxAnchor as-child>
|
||||||
<ComboboxInput placeholder="Framework..." as-child>
|
<ComboboxInput placeholder="Framework..." as-child>
|
||||||
<TagsInputInput class="w-full px-3" :class="modelValue.length > 0 ? 'mt-2' : ''" @keydown.enter.prevent />
|
<TagsInputInput class="w-full px-3" :class="modelValue.length > 0 ? 'mt-2' : ''" @keydown.enter.prevent />
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { h, ref } from 'vue'
|
|
||||||
import { useForm } from 'vee-validate'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import { z } from 'zod'
|
|
||||||
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/new-york/ui/tags-input'
|
|
||||||
import { Button } from '@/lib/registry/new-york/ui/button'
|
import { Button } from '@/lib/registry/new-york/ui/button'
|
||||||
import {
|
import {
|
||||||
FormControl,
|
FormControl,
|
||||||
|
|
@ -13,7 +8,12 @@ import {
|
||||||
FormLabel,
|
FormLabel,
|
||||||
FormMessage,
|
FormMessage,
|
||||||
} from '@/lib/registry/new-york/ui/form'
|
} from '@/lib/registry/new-york/ui/form'
|
||||||
|
import { TagsInput, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText } from '@/lib/registry/new-york/ui/tags-input'
|
||||||
import { toast } from '@/lib/registry/new-york/ui/toast'
|
import { toast } from '@/lib/registry/new-york/ui/toast'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { useForm } from 'vee-validate'
|
||||||
|
import { h } from 'vue'
|
||||||
|
import { z } from 'zod'
|
||||||
|
|
||||||
const formSchema = toTypedSchema(z.object({
|
const formSchema = toTypedSchema(z.object({
|
||||||
fruits: z.array(z.string()).min(1).max(3),
|
fruits: z.array(z.string()).min(1).max(3),
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,14 @@ const delegatedProps = computed(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<AlertDialogCancel v-bind="delegatedProps" :class="cn(buttonVariants({ variant: 'outline' }), 'mt-2 sm:mt-0', props.class)">
|
<AlertDialogCancel
|
||||||
|
v-bind="delegatedProps"
|
||||||
|
:class="cn(
|
||||||
|
buttonVariants({ variant: 'outline' }),
|
||||||
|
'mt-2 sm:mt-0',
|
||||||
|
props.class,
|
||||||
|
)"
|
||||||
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</AlertDialogCancel>
|
</AlertDialogCancel>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<script setup lang="ts" generic="T extends ZodObjectOrWrapped">
|
<script setup lang="ts" generic="T extends ZodObjectOrWrapped">
|
||||||
import { computed, toRefs } from 'vue'
|
|
||||||
import type { ZodAny, z } from 'zod'
|
|
||||||
import { toTypedSchema } from '@vee-validate/zod'
|
|
||||||
import type { FormContext, GenericObject } from 'vee-validate'
|
import type { FormContext, GenericObject } from 'vee-validate'
|
||||||
import { type ZodObjectOrWrapped, getBaseSchema, getBaseType, getDefaultValueInZodStack, getObjectFormSchema } from './utils'
|
import type { z, ZodAny } from 'zod'
|
||||||
import type { Config, ConfigItem, Dependency, Shape } from './interface'
|
import type { Config, ConfigItem, Dependency, Shape } from './interface'
|
||||||
|
import { Form } from '@/lib/registry/new-york/ui/form'
|
||||||
|
import { toTypedSchema } from '@vee-validate/zod'
|
||||||
|
import { computed, toRefs } from 'vue'
|
||||||
import AutoFormField from './AutoFormField.vue'
|
import AutoFormField from './AutoFormField.vue'
|
||||||
import { provideDependencies } from './dependencies'
|
import { provideDependencies } from './dependencies'
|
||||||
import { Form } from '@/lib/registry/new-york/ui/form'
|
import { getBaseSchema, getBaseType, getDefaultValueInZodStack, getObjectFormSchema, type ZodObjectOrWrapped } from './utils'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
schema: T
|
schema: T
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { CalendarCell, type CalendarCellProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { CalendarCell, type CalendarCellProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<CalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<CalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { CalendarCellTrigger, type CalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { buttonVariants } from '@/lib/registry/new-york/ui/button'
|
import { buttonVariants } from '@/lib/registry/new-york/ui/button'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { CalendarCellTrigger, type CalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useProvideCarousel } from './useCarousel'
|
|
||||||
import type { CarouselEmits, CarouselProps, WithClassAsProps } from './interface'
|
import type { CarouselEmits, CarouselProps, WithClassAsProps } from './interface'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { useProvideCarousel } from './useCarousel'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<CarouselProps & WithClassAsProps>(), {
|
const props = withDefaults(defineProps<CarouselProps & WithClassAsProps>(), {
|
||||||
orientation: 'horizontal',
|
orientation: 'horizontal',
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<script setup lang="ts" generic="T extends Record<string, any>">
|
<script setup lang="ts" generic="T extends Record<string, any>">
|
||||||
import { type BulletLegendItemInterface, CurveType } from '@unovis/ts'
|
|
||||||
import { VisArea, VisAxis, VisLine, VisXYContainer } from '@unovis/vue'
|
|
||||||
import { Area, Axis, Line } from '@unovis/ts'
|
|
||||||
import { type Component, computed, ref } from 'vue'
|
|
||||||
import { useMounted } from '@vueuse/core'
|
|
||||||
import { useId } from 'radix-vue'
|
|
||||||
import type { BaseChartProps } from '.'
|
import type { BaseChartProps } from '.'
|
||||||
import { ChartCrosshair, ChartLegend, defaultColors } from '@/lib/registry/new-york/ui/chart'
|
import { ChartCrosshair, ChartLegend, defaultColors } from '@/lib/registry/new-york/ui/chart'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { type BulletLegendItemInterface, CurveType } from '@unovis/ts'
|
||||||
|
import { Area, Axis, Line } from '@unovis/ts'
|
||||||
|
import { VisArea, VisAxis, VisLine, VisXYContainer } from '@unovis/vue'
|
||||||
|
import { useMounted } from '@vueuse/core'
|
||||||
|
import { useId } from 'radix-vue'
|
||||||
|
import { type Component, computed, ref } from 'vue'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<BaseChartProps<T> & {
|
const props = withDefaults(defineProps<BaseChartProps<T> & {
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Cross2Icon } from '@radix-icons/vue'
|
||||||
import {
|
import {
|
||||||
DialogClose,
|
DialogClose,
|
||||||
DialogContent,
|
DialogContent,
|
||||||
|
|
@ -9,8 +10,7 @@ import {
|
||||||
DialogPortal,
|
DialogPortal,
|
||||||
useForwardPropsEmits,
|
useForwardPropsEmits,
|
||||||
} from 'radix-vue'
|
} from 'radix-vue'
|
||||||
import { Cross2Icon } from '@radix-icons/vue'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
import { cn } from '@/lib/utils'
|
|
||||||
|
|
||||||
const props = defineProps<DialogContentProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<DialogContentProps & { class?: HTMLAttributes['class'] }>()
|
||||||
const emits = defineEmits<DialogContentEmits>()
|
const emits = defineEmits<DialogContentEmits>()
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { NumberFieldDecrementProps } from 'radix-vue'
|
import type { NumberFieldDecrementProps } from 'radix-vue'
|
||||||
import { NumberFieldDecrement, useForwardProps } from 'radix-vue'
|
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { Minus } from 'lucide-vue-next'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Minus } from 'lucide-vue-next'
|
||||||
|
import { NumberFieldDecrement, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<NumberFieldDecrementProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<NumberFieldDecrementProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { NumberFieldIncrementProps } from 'radix-vue'
|
import type { NumberFieldIncrementProps } from 'radix-vue'
|
||||||
import { NumberFieldIncrement, useForwardProps } from 'radix-vue'
|
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { Plus } from 'lucide-vue-next'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Plus } from 'lucide-vue-next'
|
||||||
|
import { NumberFieldIncrement, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<NumberFieldIncrementProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<NumberFieldIncrementProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { NumberFieldInput } from 'radix-vue'
|
|
||||||
import type { HTMLAttributes } from 'vue'
|
import type { HTMLAttributes } from 'vue'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { NumberFieldInput } from 'radix-vue'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
class?: HTMLAttributes['class']
|
class?: HTMLAttributes['class']
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarCell, type RangeCalendarCellProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarCell, type RangeCalendarCellProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarCellProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarCellTrigger, type RangeCalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { buttonVariants } from '@/lib/registry/new-york/ui/button'
|
import { buttonVariants } from '@/lib/registry/new-york/ui/button'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarCellTrigger, type RangeCalendarCellTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarGridRow, type RangeCalendarGridRowProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarGridRow, type RangeCalendarGridRowProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarGridRowProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarGridRowProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { RangeCalendarHeadCell, type RangeCalendarHeadCellProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { RangeCalendarHeadCell, type RangeCalendarHeadCellProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<RangeCalendarHeadCellProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<RangeCalendarHeadCellProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { SelectIcon, SelectTrigger, type SelectTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { CaretSortIcon } from '@radix-icons/vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { CaretSortIcon } from '@radix-icons/vue'
|
||||||
|
import { SelectIcon, SelectTrigger, type SelectTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<SelectTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<SelectTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { Separator, type SeparatorProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { Separator, type SeparatorProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<
|
const props = defineProps<
|
||||||
SeparatorProps & { class?: HTMLAttributes['class'], label?: string }
|
SeparatorProps & { class?: HTMLAttributes['class'], label?: string }
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { SliderRootEmits, SliderRootProps } from 'radix-vue'
|
import type { SliderRootEmits, SliderRootProps } from 'radix-vue'
|
||||||
import { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<SliderRootProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<SliderRootProps & { class?: HTMLAttributes['class'] }>()
|
||||||
const emits = defineEmits<SliderRootEmits>()
|
const emits = defineEmits<SliderRootEmits>()
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperRootEmits, StepperRootProps } from 'radix-vue'
|
import type { StepperRootEmits, StepperRootProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperRoot, useForwardPropsEmits } from 'radix-vue'
|
import { StepperRoot, useForwardPropsEmits } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperRootProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperRootProps & { class?: HTMLAttributes['class'] }>()
|
||||||
const emits = defineEmits<StepperRootEmits>()
|
const emits = defineEmits<StepperRootEmits>()
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperDescriptionProps } from 'radix-vue'
|
import type { StepperDescriptionProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperDescription, useForwardProps } from 'radix-vue'
|
import { StepperDescription, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperDescriptionProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperDescriptionProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperIndicatorProps } from 'radix-vue'
|
import type { StepperIndicatorProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperIndicator, useForwardProps } from 'radix-vue'
|
import { StepperIndicator, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperIndicatorProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperIndicatorProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperItemProps } from 'radix-vue'
|
import type { StepperItemProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperItem, useForwardProps } from 'radix-vue'
|
import { StepperItem, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperItemProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperItemProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperSeparatorProps } from 'radix-vue'
|
import type { StepperSeparatorProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperSeparator, useForwardProps } from 'radix-vue'
|
import { StepperSeparator, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperSeparatorProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperSeparatorProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperTitleProps } from 'radix-vue'
|
import type { StepperTitleProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperTitle, useForwardProps } from 'radix-vue'
|
import { StepperTitle, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperTitleProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperTitleProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import type { StepperTriggerProps } from 'radix-vue'
|
import type { StepperTriggerProps } from 'radix-vue'
|
||||||
|
import { cn } from '@/lib/utils'
|
||||||
import { StepperTrigger, useForwardProps } from 'radix-vue'
|
import { StepperTrigger, useForwardProps } from 'radix-vue'
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<StepperTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<StepperTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
export { default as Stepper } from './Stepper.vue'
|
export { default as Stepper } from './Stepper.vue'
|
||||||
export { default as StepperItem } from './StepperItem.vue'
|
|
||||||
export { default as StepperIndicator } from './StepperIndicator.vue'
|
|
||||||
export { default as StepperTrigger } from './StepperTrigger.vue'
|
|
||||||
export { default as StepperTitle } from './StepperTitle.vue'
|
|
||||||
export { default as StepperDescription } from './StepperDescription.vue'
|
export { default as StepperDescription } from './StepperDescription.vue'
|
||||||
|
export { default as StepperIndicator } from './StepperIndicator.vue'
|
||||||
|
export { default as StepperItem } from './StepperItem.vue'
|
||||||
export { default as StepperSeparator } from './StepperSeparator.vue'
|
export { default as StepperSeparator } from './StepperSeparator.vue'
|
||||||
|
export { default as StepperTitle } from './StepperTitle.vue'
|
||||||
|
export { default as StepperTrigger } from './StepperTrigger.vue'
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { TabsList, type TabsListProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { TabsList, type TabsListProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<TabsListProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<TabsListProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { type HTMLAttributes, computed } from 'vue'
|
|
||||||
import { TabsTrigger, type TabsTriggerProps, useForwardProps } from 'radix-vue'
|
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
|
import { TabsTrigger, type TabsTriggerProps, useForwardProps } from 'radix-vue'
|
||||||
|
import { computed, type HTMLAttributes } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<TabsTriggerProps & { class?: HTMLAttributes['class'] }>()
|
const props = defineProps<TabsTriggerProps & { class?: HTMLAttributes['class'] }>()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,10 +80,22 @@ const vCalendarSlots = computed(() => {
|
||||||
<template>
|
<template>
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
<div v-if="$attrs.mode !== 'time'" class="absolute flex justify-between w-full px-4 top-3 z-[1]">
|
<div v-if="$attrs.mode !== 'time'" class="absolute flex justify-between w-full px-4 top-3 z-[1]">
|
||||||
<button :class="cn(buttonVariants({ variant: 'outline' }), 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100')" @click="handleNav('prev')">
|
<button
|
||||||
|
:class="cn(
|
||||||
|
buttonVariants({ variant: 'outline' }),
|
||||||
|
'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100',
|
||||||
|
)"
|
||||||
|
@click="handleNav('prev')"
|
||||||
|
>
|
||||||
<ChevronLeftIcon class="w-4 h-4" />
|
<ChevronLeftIcon class="w-4 h-4" />
|
||||||
</button>
|
</button>
|
||||||
<button :class="cn(buttonVariants({ variant: 'outline' }), 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100')" @click="handleNav('next')">
|
<button
|
||||||
|
:class="cn(
|
||||||
|
buttonVariants({ variant: 'outline' }),
|
||||||
|
'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100',
|
||||||
|
)"
|
||||||
|
@click="handleNav('next')"
|
||||||
|
>
|
||||||
<ChevronRightIcon class="w-4 h-4" />
|
<ChevronRightIcon class="w-4 h-4" />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "AlertDialogCancel.vue",
|
"name": "AlertDialogCancel.vue",
|
||||||
"content": "<script setup lang=\"ts\">\nimport { type HTMLAttributes, computed } from 'vue'\nimport { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue'\nimport { cn } from '@/lib/utils'\nimport { buttonVariants } from '@/lib/registry/default/ui/button'\n\nconst props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>()\n\nconst delegatedProps = computed(() => {\n const { class: _, ...delegated } = props\n\n return delegated\n})\n</script>\n\n<template>\n <AlertDialogCancel v-bind=\"delegatedProps\" :class=\"cn(buttonVariants({ variant: 'outline' }), 'mt-2 sm:mt-0', props.class)\">\n <slot />\n </AlertDialogCancel>\n</template>\n"
|
"content": "<script setup lang=\"ts\">\nimport { type HTMLAttributes, computed } from 'vue'\nimport { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue'\nimport { cn } from '@/lib/utils'\nimport { buttonVariants } from '@/lib/registry/default/ui/button'\n\nconst props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>()\n\nconst delegatedProps = computed(() => {\n const { class: _, ...delegated } = props\n\n return delegated\n})\n</script>\n\n<template>\n <AlertDialogCancel\n v-bind=\"delegatedProps\"\n :class=\"cn(\n buttonVariants({ variant: 'outline' }),\n 'mt-2 sm:mt-0',\n props.class,\n )\"\n >\n <slot />\n </AlertDialogCancel>\n</template>\n"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "AlertDialogContent.vue",
|
"name": "AlertDialogContent.vue",
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -16,7 +16,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "AlertDialogCancel.vue",
|
"name": "AlertDialogCancel.vue",
|
||||||
"content": "<script setup lang=\"ts\">\nimport { type HTMLAttributes, computed } from 'vue'\nimport { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue'\nimport { cn } from '@/lib/utils'\nimport { buttonVariants } from '@/lib/registry/new-york/ui/button'\n\nconst props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>()\n\nconst delegatedProps = computed(() => {\n const { class: _, ...delegated } = props\n\n return delegated\n})\n</script>\n\n<template>\n <AlertDialogCancel v-bind=\"delegatedProps\" :class=\"cn(buttonVariants({ variant: 'outline' }), 'mt-2 sm:mt-0', props.class)\">\n <slot />\n </AlertDialogCancel>\n</template>\n"
|
"content": "<script setup lang=\"ts\">\nimport { type HTMLAttributes, computed } from 'vue'\nimport { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue'\nimport { cn } from '@/lib/utils'\nimport { buttonVariants } from '@/lib/registry/new-york/ui/button'\n\nconst props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>()\n\nconst delegatedProps = computed(() => {\n const { class: _, ...delegated } = props\n\n return delegated\n})\n</script>\n\n<template>\n <AlertDialogCancel\n v-bind=\"delegatedProps\"\n :class=\"cn(\n buttonVariants({ variant: 'outline' }),\n 'mt-2 sm:mt-0',\n props.class,\n )\"\n >\n <slot />\n </AlertDialogCancel>\n</template>\n"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "AlertDialogContent.vue",
|
"name": "AlertDialogContent.vue",
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -50,40 +50,37 @@
|
||||||
"vitest": "*"
|
"vitest": "*"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.25.2",
|
"@unovue/detypes": "^0.8.4",
|
||||||
"@babel/parser": "^7.25.3",
|
"@vue/compiler-sfc": "^3.5",
|
||||||
"@vue/compiler-sfc": "^3.4",
|
"c12": "^2.0.1",
|
||||||
"c12": "^1.11.1",
|
|
||||||
"commander": "^12.1.0",
|
"commander": "^12.1.0",
|
||||||
"consola": "^3.2.3",
|
"consola": "^3.2.3",
|
||||||
"detype": "npm:detypes@^0.8.0",
|
"diff": "^7.0.0",
|
||||||
"diff": "^5.2.0",
|
|
||||||
"fs-extra": "^11.2.0",
|
"fs-extra": "^11.2.0",
|
||||||
"https-proxy-agent": "^7.0.5",
|
"https-proxy-agent": "^7.0.5",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"magic-string": "^0.30.11",
|
"magic-string": "^0.30.12",
|
||||||
"nypm": "^0.3.9",
|
"nypm": "^0.3.12",
|
||||||
"ofetch": "^1.3.4",
|
"ofetch": "^1.4.1",
|
||||||
"ora": "^8.0.1",
|
"ora": "^8.1.0",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"pkg-types": "^1.1.3",
|
"pkg-types": "^1.2.1",
|
||||||
"prompts": "^2.4.2",
|
"prompts": "^2.4.2",
|
||||||
"radix-vue": "catalog:",
|
"radix-vue": "catalog:",
|
||||||
"semver": "^7.6.3",
|
"semver": "^7.6.3",
|
||||||
"ts-morph": "^22.0.0",
|
|
||||||
"tsconfig-paths": "^4.2.0",
|
"tsconfig-paths": "^4.2.0",
|
||||||
|
"vue-metamorph": "^3.2.0",
|
||||||
"zod": "^3.23.8"
|
"zod": "^3.23.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/babel__core": "^7.20.5",
|
"@types/diff": "^5.2.3",
|
||||||
"@types/diff": "^5.2.1",
|
|
||||||
"@types/fs-extra": "^11.0.4",
|
"@types/fs-extra": "^11.0.4",
|
||||||
"@types/lodash-es": "^4.17.12",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/node": "^20.14.15",
|
"@types/node": "^22.7.5",
|
||||||
"@types/prompts": "^2.4.9",
|
"@types/prompts": "^2.4.9",
|
||||||
"tsup": "^8.2.4",
|
"tsup": "^8.3.0",
|
||||||
"type-fest": "^4.24.0",
|
"type-fest": "^4.26.1",
|
||||||
"typescript": "^5.5.3",
|
"typescript": "^5.6.3",
|
||||||
"vite-tsconfig-paths": "^5.0.1"
|
"vite-tsconfig-paths": "^5.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -163,14 +163,14 @@ export async function promptForConfig(
|
||||||
active: 'yes',
|
active: 'yes',
|
||||||
inactive: 'no',
|
inactive: 'no',
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// type: 'text',
|
type: 'text',
|
||||||
// name: 'tailwindPrefix',
|
name: 'tailwindPrefix',
|
||||||
// message: `Are you using a custom ${highlight(
|
message: `Are you using a custom ${highlight(
|
||||||
// 'tailwind prefix eg. tw-',
|
'tailwind prefix eg. tw-',
|
||||||
// )}? (Leave blank if not)`,
|
)}? (Leave blank if not)`,
|
||||||
// initial: '',
|
initial: '',
|
||||||
// },
|
},
|
||||||
{
|
{
|
||||||
type: 'text',
|
type: 'text',
|
||||||
name: 'tailwindConfig',
|
name: 'tailwindConfig',
|
||||||
|
|
@ -208,7 +208,7 @@ export async function promptForConfig(
|
||||||
css: options.tailwindCss,
|
css: options.tailwindCss,
|
||||||
baseColor: options.tailwindBaseColor,
|
baseColor: options.tailwindBaseColor,
|
||||||
cssVariables: options.tailwindCssVariables,
|
cssVariables: options.tailwindCssVariables,
|
||||||
// prefix: options.tailwindPrefix,
|
prefix: options.tailwindPrefix,
|
||||||
},
|
},
|
||||||
aliases: {
|
aliases: {
|
||||||
utils: options.utils,
|
utils: options.utils,
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user