ui-thing 0.1.22 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/index.js +356 -426
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
- package/src/comps.ts +118 -118
- package/src/utils/constants.ts +2 -2
package/src/comps.ts
CHANGED
|
@@ -14,25 +14,25 @@ export default [
|
|
|
14
14
|
fileName: "Accordion/Content.vue",
|
|
15
15
|
dirPath: "components/UI",
|
|
16
16
|
fileContent:
|
|
17
|
-
'<template>\n <AccordionContent
|
|
17
|
+
'<template>\n <AccordionContent v-bind="forwarded" :class="styles({ class: props.class })">\n <div class="pb-4 pt-0">\n <slot>{{ content }}</slot>\n </div>\n </AccordionContent>\n</template>\n\n<script lang="ts" setup>\n import { AccordionContent } from "radix-vue";\n import type { AccordionContentProps } from "radix-vue";\n\n const props = defineProps<\n AccordionContentProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** The content of the accordion */\n content?: any;\n }\n >();\n\n const forwarded = reactiveOmit(props, "class", "content");\n\n const styles = tv({\n base: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",\n });\n</script>\n',
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
fileName: "Accordion/Header.vue",
|
|
21
21
|
dirPath: "components/UI",
|
|
22
22
|
fileContent:
|
|
23
|
-
'<template>\n <AccordionHeader v-bind="
|
|
23
|
+
'<template>\n <AccordionHeader v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </AccordionHeader>\n</template>\n\n<script lang="ts" setup>\n import { AccordionHeader } from "radix-vue";\n import type { AccordionHeaderProps } from "radix-vue";\n\n const props = defineProps<\n AccordionHeaderProps & {\n class?: any;\n }\n >();\n\n const forwarded = reactiveOmit(props, "class");\n\n const styles = tv({\n base: "flex",\n });\n</script>\n',
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
fileName: "Accordion/Item.vue",
|
|
27
27
|
dirPath: "components/UI",
|
|
28
28
|
fileContent:
|
|
29
|
-
'<template>\n <AccordionItem
|
|
29
|
+
'<template>\n <AccordionItem v-slot="slotProps" v-bind="forwarded" :class="styles({ class: props.class })">\n <slot v-bind="slotProps" />\n </AccordionItem>\n</template>\n\n<script setup lang="ts">\n import { AccordionItem } from "radix-vue";\n import type { AccordionItemProps } from "radix-vue";\n\n const props = defineProps<\n AccordionItemProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n\n const forwarded = reactiveOmit(props, "class");\n\n const styles = tv({\n base: "border-b",\n });\n</script>\n',
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
fileName: "Accordion/Trigger.vue",
|
|
33
33
|
dirPath: "components/UI",
|
|
34
34
|
fileContent:
|
|
35
|
-
'<template>\n <AccordionTrigger
|
|
35
|
+
'<template>\n <AccordionTrigger v-bind="forwarded" :class="styles({ class: props.class })">\n <slot :props="props">\n {{ title }}\n </slot>\n <slot name="icon" :props="props">\n <Icon v-if="icon" :name="icon" class="h-4 w-4 shrink-0 transition-transform duration-200" />\n </slot>\n </AccordionTrigger>\n</template>\n\n<script lang="ts" setup>\n import { AccordionTrigger } from "radix-vue";\n import type { AccordionTriggerProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n AccordionTriggerProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** The title of the accordion trigger */\n title?: string;\n /** The icon to show next to the title */\n icon?: string;\n }\n >(),\n {\n class: undefined,\n title: "",\n icon: "lucide:chevron-down",\n }\n );\n\n const forwarded = reactiveOmit(props, "class", "icon", "title");\n\n const styles = tv({\n base: "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline focus-visible:rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background [&[data-state=open]>svg]:rotate-180",\n });\n</script>\n',
|
|
36
36
|
},
|
|
37
37
|
],
|
|
38
38
|
utils: [],
|
|
@@ -54,13 +54,13 @@ export default [
|
|
|
54
54
|
fileName: "Alert/Description.vue",
|
|
55
55
|
dirPath: "components/UI",
|
|
56
56
|
fileContent:
|
|
57
|
-
'<template>\n <Primitive
|
|
57
|
+
'<template>\n <Primitive v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>{{ description }}</slot>\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class to add to the parent */\n class?: any;\n /** The description text that should be displayed */\n description?: string;\n }\n >(),\n { as: "div", class: undefined, description: undefined }\n );\n\n const forwarded = reactiveOmit(props, "class", "description");\n\n const styles = tv({\n base: "text-sm [&_p]:leading-relaxed",\n });\n</script>\n',
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
fileName: "Alert/Title.vue",
|
|
61
61
|
dirPath: "components/UI",
|
|
62
62
|
fileContent:
|
|
63
|
-
'<template>\n <Primitive v-bind="
|
|
63
|
+
'<template>\n <Primitive v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>{{ title }}</slot>\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class to add to the parent */\n class?: any;\n /** The title text that should be displayed */\n title?: string;\n }\n >(),\n { as: "h5", class: undefined, title: undefined }\n );\n\n const forwarded = reactiveOmit(props, "class", "title");\n\n const styles = tv({\n base: "mb-1 font-medium leading-none tracking-tight",\n });\n</script>\n',
|
|
64
64
|
},
|
|
65
65
|
],
|
|
66
66
|
utils: [],
|
|
@@ -84,7 +84,7 @@ export default [
|
|
|
84
84
|
fileName: "AlertDialog/Action.vue",
|
|
85
85
|
dirPath: "components/UI",
|
|
86
86
|
fileContent:
|
|
87
|
-
'<template>\n <AlertDialogAction\n v-bind="
|
|
87
|
+
'<template>\n <AlertDialogAction\n v-bind="forwarded"\n :class="buttonStyles({ variant, size, disabled, class: props.class })"\n >\n <slot>{{ text }} </slot>\n </AlertDialogAction>\n</template>\n\n<script lang="ts" setup>\n import { AlertDialogAction } from "radix-vue";\n import type { AlertDialogActionProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n AlertDialogActionProps & {\n /** Action to perform when the button is clicked */\n onClick?: () => void;\n /** Text to display in the button */\n text?: string;\n /** Custom class(es) to add to the button */\n class?: any;\n /** Whether the button is disabled */\n disabled?: boolean;\n /** The button\'s visual variant */\n variant?: VariantProps<typeof buttonStyles>["variant"];\n /** The button\'s visual size */\n size?: VariantProps<typeof buttonStyles>["size"];\n }\n >(),\n {\n text: "Continue",\n variant: "default",\n size: "default",\n class: undefined,\n onClick: undefined,\n }\n );\n\n const forwarded = reactiveOmit(props, "class", "text", "variant", "size");\n</script>\n',
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
fileName: "AlertDialog/AlertDialog.vue",
|
|
@@ -96,7 +96,7 @@ export default [
|
|
|
96
96
|
fileName: "AlertDialog/Cancel.vue",
|
|
97
97
|
dirPath: "components/UI",
|
|
98
98
|
fileContent:
|
|
99
|
-
'<template>\n <AlertDialogCancel\n v-bind="
|
|
99
|
+
'<template>\n <AlertDialogCancel\n v-bind="forwarded"\n :class="buttonStyles({ variant, size, disabled, class: props.class })"\n >\n <slot>{{ text }}</slot>\n </AlertDialogCancel>\n</template>\n\n<script lang="ts" setup>\n import { AlertDialogCancel } from "radix-vue";\n import type { AlertDialogCancelProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n AlertDialogCancelProps & {\n /** Action to perform when the button is clicked */\n onClick?: () => void;\n /** Text to display in the button */\n text?: string;\n /** Custom class(es) to add to the button */\n class?: any;\n /** Whether the button is disabled */\n disabled?: boolean;\n /** The button\'s visual variant */\n variant?: VariantProps<typeof buttonStyles>["variant"];\n /** The button\'s visual size */\n size?: VariantProps<typeof buttonStyles>["size"];\n }\n >(),\n {\n text: "Cancel",\n variant: "outline",\n size: "default",\n class: undefined,\n onClick: undefined,\n }\n );\n\n const forwarded = reactiveOmit(props, "class", "text", "variant", "size");\n</script>\n',
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
fileName: "AlertDialog/Content.vue",
|
|
@@ -108,25 +108,25 @@ export default [
|
|
|
108
108
|
fileName: "AlertDialog/Description.vue",
|
|
109
109
|
dirPath: "components/UI",
|
|
110
110
|
fileContent:
|
|
111
|
-
'<template>\n <AlertDialogDescription
|
|
111
|
+
'<template>\n <AlertDialogDescription v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>{{ description }}</slot>\n </AlertDialogDescription>\n</template>\n\n<script lang="ts" setup>\n import { AlertDialogDescription } from "radix-vue";\n import type { AlertDialogDescriptionProps } from "radix-vue";\n\n const props = defineProps<\n AlertDialogDescriptionProps & {\n /** Text to display in the description */\n description?: string;\n /** Custom class(es) to add to the description */\n class?: any;\n }\n >();\n\n const forwarded = reactiveOmit(props, "class", "description");\n\n const styles = tv({\n base: "text-sm text-muted-foreground",\n });\n</script>\n',
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
fileName: "AlertDialog/Footer.vue",
|
|
115
115
|
dirPath: "components/UI",
|
|
116
116
|
fileContent:
|
|
117
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
117
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the element */\n class?: any;\n }\n >(),\n {\n as: "div",\n class: undefined,\n }\n );\n\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",\n });\n</script>\n',
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
fileName: "AlertDialog/Header.vue",
|
|
121
121
|
dirPath: "components/UI",
|
|
122
122
|
fileContent:
|
|
123
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
123
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the element */\n class?: any;\n }\n >(),\n {\n as: "div",\n class: undefined,\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col gap-2 text-center sm:text-left",\n });\n</script>\n',
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
fileName: "AlertDialog/Overlay.vue",
|
|
127
127
|
dirPath: "components/UI",
|
|
128
128
|
fileContent:
|
|
129
|
-
'<template>\n <AlertDialogOverlay
|
|
129
|
+
'<template>\n <AlertDialogOverlay v-bind="forwarded" :class="styles({ class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n import { AlertDialogOverlay } from "radix-vue";\n import type { AlertDialogOverlayProps } from "radix-vue";\n\n const props = defineProps<\n AlertDialogOverlayProps & {\n /** Custom class(es) to add to the overlay */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn",\n });\n</script>\n',
|
|
130
130
|
},
|
|
131
131
|
{
|
|
132
132
|
fileName: "AlertDialog/Portal.vue",
|
|
@@ -138,7 +138,7 @@ export default [
|
|
|
138
138
|
fileName: "AlertDialog/Title.vue",
|
|
139
139
|
dirPath: "components/UI",
|
|
140
140
|
fileContent:
|
|
141
|
-
'<template>\n <AlertDialogTitle v-bind="
|
|
141
|
+
'<template>\n <AlertDialogTitle v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>{{ title }}</slot>\n </AlertDialogTitle>\n</template>\n\n<script lang="ts" setup>\n import { AlertDialogTitle } from "radix-vue";\n import type { AlertDialogTitleProps } from "radix-vue";\n\n const props = defineProps<\n AlertDialogTitleProps & {\n /** Text to display in the title */\n title?: string;\n /** Custom class(es) to add to the title */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "title");\n const styles = tv({\n base: "text-lg font-semibold",\n });\n</script>\n',
|
|
142
142
|
},
|
|
143
143
|
{
|
|
144
144
|
fileName: "AlertDialog/Trigger.vue",
|
|
@@ -252,7 +252,7 @@ export default [
|
|
|
252
252
|
fileName: "Autocomplete/Trigger.vue",
|
|
253
253
|
dirPath: "components/UI",
|
|
254
254
|
fileContent:
|
|
255
|
-
'<template>\n <ComboboxTrigger v-bind="
|
|
255
|
+
'<template>\n <ComboboxTrigger v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </ComboboxTrigger>\n</template>\n\n<script lang="ts" setup>\n import { ComboboxTrigger } from "radix-vue";\n import type { ComboboxTriggerProps } from "radix-vue";\n\n const props = defineProps<\n ComboboxTriggerProps & {\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "inline-flex shrink-0 cursor-pointer items-center justify-center",\n });\n</script>\n',
|
|
256
256
|
},
|
|
257
257
|
{
|
|
258
258
|
fileName: "Autocomplete/Viewport.vue",
|
|
@@ -279,7 +279,7 @@ export default [
|
|
|
279
279
|
fileName: "Avatar/Fallback.vue",
|
|
280
280
|
dirPath: "components/UI",
|
|
281
281
|
fileContent:
|
|
282
|
-
'<template>\n <AvatarFallback
|
|
282
|
+
'<template>\n <AvatarFallback :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>\n {{ fallback }}\n </slot>\n </AvatarFallback>\n</template>\n\n<script lang="ts" setup>\n import { AvatarFallback } from "radix-vue";\n import type { AvatarFallbackProps } from "radix-vue";\n\n const props = defineProps<\n AvatarFallbackProps & {\n /** The text to display inside th eavatar */\n fallback?: string;\n /** Custom class(es) to add to the element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "fallback");\n const styles = tv({\n base: "flex h-full w-full items-center justify-center rounded-full bg-muted font-medium",\n });\n</script>\n',
|
|
283
283
|
},
|
|
284
284
|
{
|
|
285
285
|
fileName: "Avatar/Image.vue",
|
|
@@ -315,7 +315,7 @@ export default [
|
|
|
315
315
|
fileName: "Breadcrumbs.vue",
|
|
316
316
|
dirPath: "components/UI",
|
|
317
317
|
fileContent:
|
|
318
|
-
'<template>\n <div :class="styles({ class: props.class })">\n <template v-for="(item, i) in items" :key="i">\n <div class="flex items-center gap-3">\n <div class="flex cursor-pointer items-center gap-2">\n <slot name="crumbIcon" :item="item" :index="i">\n <Icon\n v-if="item.icon"\n :name="item.icon"\n :class="[!isNotLastItem(i) && \'text-primary\']"\n />\n </slot>\n <slot :item="item" :is-not-last-item="isNotLastItem" :index="i" name="link">\n <NuxtLink\n v-if="item.label"\n :to="!item?.disabled ? item.link : \'\'"\n :class="[\n isNotLastItem(i)\n ? \'text-muted-foreground hover:underline\'\n : \'font-semibold text-primary\',\n ]"\n class="text-sm text-foreground"\n @click="item?.click?.()"\n >{{ item.label }}</NuxtLink\n >\n </slot>\n </div>\n <slot name="separator" :item="item" :index="i">\n <Icon v-if="isNotLastItem(i)" :name="separator" class="h-3 w-3 text-muted-foreground" />\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script setup lang="ts">\n export interface Crumbs {\n label: string;\n icon?: string;\n link?: string;\n disabled?: boolean;\n // eslint-disable-next-line @typescript-eslint/
|
|
318
|
+
'<template>\n <div :class="styles({ class: props.class })">\n <template v-for="(item, i) in items" :key="i">\n <div class="flex items-center gap-3">\n <div class="flex cursor-pointer items-center gap-2">\n <slot name="crumbIcon" :item="item" :index="i">\n <Icon\n v-if="item.icon"\n :name="item.icon"\n :class="[!isNotLastItem(i) && \'text-primary\']"\n />\n </slot>\n <slot :item="item" :is-not-last-item="isNotLastItem" :index="i" name="link">\n <NuxtLink\n v-if="item.label"\n :to="!item?.disabled ? item.link : \'\'"\n :class="[\n isNotLastItem(i)\n ? \'text-muted-foreground hover:underline\'\n : \'font-semibold text-primary\',\n ]"\n class="text-sm text-foreground"\n @click="item?.click?.()"\n >{{ item.label }}</NuxtLink\n >\n </slot>\n </div>\n <slot name="separator" :item="item" :index="i">\n <Icon v-if="isNotLastItem(i)" :name="separator" class="h-3 w-3 text-muted-foreground" />\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script setup lang="ts">\n export interface Crumbs {\n label: string;\n icon?: string;\n link?: string;\n disabled?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n click?: Function;\n }\n const props = withDefaults(\n defineProps<{\n /**\n * The items to display in the breadcrumbs.\n */\n items?: Crumbs[];\n /**\n * The separator to use between each breadcrumb.\n */\n separator?: string;\n class?: any;\n }>(),\n {\n separator: "heroicons:chevron-right",\n items: () => [],\n class: undefined,\n }\n );\n\n const isNotLastItem = (index: number) => {\n return index !== props?.items?.length - 1;\n };\n\n const styles = tv({\n base: "flex w-full items-center gap-4",\n });\n</script>\n',
|
|
319
319
|
},
|
|
320
320
|
],
|
|
321
321
|
utils: [],
|
|
@@ -421,7 +421,7 @@ export default [
|
|
|
421
421
|
fileName: "Checkbox/Indicator.vue",
|
|
422
422
|
dirPath: "components/UI",
|
|
423
423
|
fileContent:
|
|
424
|
-
'<template>\n <CheckboxIndicator
|
|
424
|
+
'<template>\n <CheckboxIndicator :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>\n <Icon :name="checked == \'indeterminate\' ? \'lucide:minus\' : icon" class="h-4 w-4" />\n </slot>\n </CheckboxIndicator>\n</template>\n\n<script lang="ts" setup>\n import { CheckboxIndicator } from "radix-vue";\n import type { CheckboxIndicatorProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n CheckboxIndicatorProps & {\n /** The state of the checkbox */\n checked?: boolean | "indeterminate";\n /** Custom class(es) to add to the element */\n class?: any;\n /**\n * Icon to display when the checkbox is checked\n * @default lucide:check\n */\n icon?: string;\n }\n >(),\n {\n icon: "lucide:check",\n }\n );\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "flex items-center justify-center text-current",\n });\n</script>\n',
|
|
425
425
|
},
|
|
426
426
|
],
|
|
427
427
|
utils: [],
|
|
@@ -457,7 +457,7 @@ export default [
|
|
|
457
457
|
fileName: "Collapsible/Content.vue",
|
|
458
458
|
dirPath: "components/UI",
|
|
459
459
|
fileContent:
|
|
460
|
-
'<template>\n <CollapsibleContent :class="styles({ class: props.class })" v-bind="
|
|
460
|
+
'<template>\n <CollapsibleContent :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </CollapsibleContent>\n</template>\n\n<script lang="ts" setup>\n import { CollapsibleContent } from "radix-vue";\n import type { CollapsibleContentProps } from "radix-vue";\n\n const props = defineProps<\n CollapsibleContentProps & {\n /** Customer class(es) to add to the element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "overflow-hidden transition will-change-auto data-[state=closed]:animate-collapse-up data-[state=open]:animate-collapse-down",\n });\n</script>\n',
|
|
461
461
|
},
|
|
462
462
|
{
|
|
463
463
|
fileName: "Collapsible/Trigger.vue",
|
|
@@ -478,7 +478,7 @@ export default [
|
|
|
478
478
|
fileName: "Command/Cancel.vue",
|
|
479
479
|
dirPath: "components/UI",
|
|
480
480
|
fileContent:
|
|
481
|
-
'<template>\n <ComboboxCancel v-bind="
|
|
481
|
+
'<template>\n <ComboboxCancel v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <Icon name="lucide:x" class="h-4 w-4 text-muted-foreground/70" />\n </slot>\n </ComboboxCancel>\n</template>\n\n<script lang="ts" setup>\n import { ComboboxCancel } from "radix-vue";\n import type { ComboboxCancelProps } from "radix-vue";\n\n const props = defineProps<ComboboxCancelProps & { class?: any }>();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex items-center justify-center",\n });\n</script>\n',
|
|
482
482
|
},
|
|
483
483
|
{
|
|
484
484
|
fileName: "Command/Command.vue",
|
|
@@ -496,19 +496,19 @@ export default [
|
|
|
496
496
|
fileName: "Command/Empty.vue",
|
|
497
497
|
dirPath: "components/UI",
|
|
498
498
|
fileContent:
|
|
499
|
-
'<template>\n <ComboboxEmpty :class="styles({ class: props.class })" v-bind="
|
|
499
|
+
'<template>\n <ComboboxEmpty :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </ComboboxEmpty>\n</template>\n\n<script lang="ts" setup>\n import { ComboboxEmpty } from "radix-vue";\n import type { ComboboxEmptyProps } from "radix-vue";\n\n const props = defineProps<\n ComboboxEmptyProps & {\n /**Custom class(es) to add to the element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "py-6 text-center text-sm",\n });\n</script>\n',
|
|
500
500
|
},
|
|
501
501
|
{
|
|
502
502
|
fileName: "Command/Group.vue",
|
|
503
503
|
dirPath: "components/UI",
|
|
504
504
|
fileContent:
|
|
505
|
-
'<template>\n <ComboboxGroup
|
|
505
|
+
'<template>\n <ComboboxGroup :class="styles({ class: props.class })" v-bind="forwarded">\n <slot name="heading">\n <UiCommandLabel v-if="heading" :label="heading" />\n </slot>\n <slot />\n </ComboboxGroup>\n</template>\n\n<script lang="ts" setup>\n import { ComboboxGroup } from "radix-vue";\n import type { ComboboxGroupProps } from "radix-vue";\n\n const props = defineProps<\n ComboboxGroupProps & {\n /**The heading for the group */\n heading?: any;\n /**Custom class(es) to add to the element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "heading");\n const styles = tv({\n base: "overflow-hidden p-1 text-foreground",\n });\n</script>\n',
|
|
506
506
|
},
|
|
507
507
|
{
|
|
508
508
|
fileName: "Command/Input.vue",
|
|
509
509
|
dirPath: "components/UI",
|
|
510
510
|
fileContent:
|
|
511
|
-
'<template>\n <div class="flex items-center border-b px-3"
|
|
511
|
+
'<template>\n <div class="flex items-center border-b px-3">\n <Icon :name="icon || \'lucide:search\'" class="mr-2 h-4 w-4 shrink-0 opacity-50" />\n <ComboboxInput\n v-bind="$attrs"\n :type="type ?? \'text\'"\n :disabled="disabled"\n auto-focus\n :class="styles({ class: props.class })"\n />\n <UiCommandCancel v-if="showCancel" />\n </div>\n</template>\n\n<script lang="ts" setup>\n import { ComboboxInput } from "radix-vue";\n\n defineOptions({ inheritAttrs: false });\n\n const props = defineProps<{\n /**Custom class(es) to add to the input element*/\n class?: any;\n /**The icon to render*/\n icon?: string;\n /**The input type*/\n type?: string;\n /**Whether the input is disabled*/\n disabled?: boolean;\n /**Whether to show the cancel button*/\n showCancel?: boolean;\n }>();\n\n const styles = tv({\n base: "flex h-11 w-full rounded-md bg-transparent py-3 outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 sm:text-sm",\n });\n</script>\n',
|
|
512
512
|
},
|
|
513
513
|
{
|
|
514
514
|
fileName: "Command/Item.vue",
|
|
@@ -520,7 +520,7 @@ export default [
|
|
|
520
520
|
fileName: "Command/Label.vue",
|
|
521
521
|
dirPath: "components/UI",
|
|
522
522
|
fileContent:
|
|
523
|
-
'<template>\n <ComboboxLabel
|
|
523
|
+
'<template>\n <ComboboxLabel :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ label }}</slot>\n </ComboboxLabel>\n</template>\n\n<script lang="ts" setup>\n import { ComboboxLabel } from "radix-vue";\n import type { ComboboxLabelProps } from "radix-vue";\n\n const props = defineProps<\n ComboboxLabelProps & {\n /**\n * Class(es) to pass to the ComboboxLabel component.\n */\n class?: any;\n /**\n * The label to display.\n */\n label?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "label");\n const styles = tv({\n base: "px-2 py-1.5 text-xs font-medium text-muted-foreground",\n });\n</script>\n',
|
|
524
524
|
},
|
|
525
525
|
{
|
|
526
526
|
fileName: "Command/List.vue",
|
|
@@ -553,7 +553,7 @@ export default [
|
|
|
553
553
|
fileName: "Container.vue",
|
|
554
554
|
dirPath: "components/UI",
|
|
555
555
|
fileContent:
|
|
556
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
556
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n class?: any;\n }\n >(),\n {\n as: "div",\n }\n );\n\n const forwarded = reactiveOmit(props, "class");\n\n const styles = tv({\n base: "container mx-auto",\n });\n</script>\n',
|
|
557
557
|
},
|
|
558
558
|
],
|
|
559
559
|
utils: [],
|
|
@@ -568,13 +568,13 @@ export default [
|
|
|
568
568
|
fileName: "ContextMenu/Arrow.vue",
|
|
569
569
|
dirPath: "components/UI",
|
|
570
570
|
fileContent:
|
|
571
|
-
'<template>\n <ContextMenuArrow v-bind="
|
|
571
|
+
'<template>\n <ContextMenuArrow v-bind="forwarded" :class="styles({ class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n import { ContextMenuArrow } from "radix-vue";\n import type { ContextMenuArrowProps } from "radix-vue";\n\n const props = defineProps<\n ContextMenuArrowProps & {\n /** Custom class(es) to add to teh arrow */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "border bg-muted",\n });\n</script>\n',
|
|
572
572
|
},
|
|
573
573
|
{
|
|
574
574
|
fileName: "ContextMenu/CheckboxItem.vue",
|
|
575
575
|
dirPath: "components/UI",
|
|
576
576
|
fileContent:
|
|
577
|
-
'<template>\n <ContextMenuCheckboxItem
|
|
577
|
+
'<template>\n <ContextMenuCheckboxItem v-bind="forwarded" :class="styles({ class: props.class })">\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center text-primary">\n <UiContextMenuItemIndicator icon="lucide:check" />\n </span>\n <slot>\n <span v-if="title">{{ title }}</span>\n </slot>\n <slot name="shortcut">\n <UiContextMenuShortcut v-if="shortcut">{{ shortcut }}</UiContextMenuShortcut>\n </slot>\n </ContextMenuCheckboxItem>\n</template>\n\n<script lang="ts" setup>\n import { ContextMenuCheckboxItem, useForwardPropsEmits } from "radix-vue";\n import type { ContextMenuCheckboxItemEmits, ContextMenuCheckboxItemProps } from "radix-vue";\n\n const props = defineProps<\n ContextMenuCheckboxItemProps & {\n /**Custom class(es) to add to the element */\n class?: any;\n /**The shortcut for the item */\n shortcut?: string;\n /**The title for the item */\n title?: string;\n }\n >();\n\n const emits = defineEmits<ContextMenuCheckboxItemEmits>();\n const forwarded = useForwardPropsEmits(reactiveOmit(props, "class", "shortcut", "title"), emits);\n const styles = tv({\n base: "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:opacity-50",\n });\n</script>\n',
|
|
578
578
|
},
|
|
579
579
|
{
|
|
580
580
|
fileName: "ContextMenu/Content.vue",
|
|
@@ -598,19 +598,19 @@ export default [
|
|
|
598
598
|
fileName: "ContextMenu/Item.vue",
|
|
599
599
|
dirPath: "components/UI",
|
|
600
600
|
fileContent:
|
|
601
|
-
'<template>\n <ContextMenuItem
|
|
601
|
+
'<template>\n <ContextMenuItem v-bind="forwarded" :class="styles({ inset, class: props.class })">\n <slot>\n <span v-if="title">{{ title }}</span>\n </slot>\n <slot name="shortcut">\n <UiContextMenuShortcut v-if="shortcut">{{ shortcut }}</UiContextMenuShortcut>\n </slot>\n </ContextMenuItem>\n</template>\n\n<script lang="ts" setup>\n import { ContextMenuItem, useForwardPropsEmits } from "radix-vue";\n import type { ContextMenuItemEmits, ContextMenuItemProps } from "radix-vue";\n\n const props = defineProps<\n ContextMenuItemProps & {\n /**Custom class(es) to add to the element */\n class?: any;\n /** Wether an indentation should be added to the item or not */\n inset?: boolean;\n /** The shortcut for the item */\n shortcut?: string;\n /** The title for the item */\n title?: string;\n }\n >();\n\n const emits = defineEmits<ContextMenuItemEmits>();\n const forwarded = useForwardPropsEmits(\n reactiveOmit(props, "class", "inset", "shortcut", "title"),\n emits\n );\n\n const styles = tv({\n base: "relative flex cursor-pointer select-none items-center gap-2.5 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:opacity-50",\n variants: {\n inset: {\n true: "pl-8",\n },\n },\n });\n</script>\n',
|
|
602
602
|
},
|
|
603
603
|
{
|
|
604
604
|
fileName: "ContextMenu/ItemIndicator.vue",
|
|
605
605
|
dirPath: "components/UI",
|
|
606
606
|
fileContent:
|
|
607
|
-
'<template>\n <ContextMenuItemIndicator v-bind="
|
|
607
|
+
'<template>\n <ContextMenuItemIndicator v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <Icon v-if="icon" :name="icon" class="h-4 w-4" />\n </slot>\n </ContextMenuItemIndicator>\n</template>\n\n<script lang="ts" setup>\n import { ContextMenuItemIndicator } from "radix-vue";\n import type { ContextMenuItemIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n ContextMenuItemIndicatorProps & {\n /** The icon to display */\n icon?: string;\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "icon");\n\n const styles = tv({\n base: "flex items-center justify-center",\n });\n</script>\n',
|
|
608
608
|
},
|
|
609
609
|
{
|
|
610
610
|
fileName: "ContextMenu/Label.vue",
|
|
611
611
|
dirPath: "components/UI",
|
|
612
612
|
fileContent:
|
|
613
|
-
'<template>\n <ContextMenuLabel
|
|
613
|
+
'<template>\n <ContextMenuLabel :class="styles({ inset, class: props.class })" v-bind="forwarded">\n <slot>{{ label }}</slot>\n </ContextMenuLabel>\n</template>\n\n<script lang="ts" setup>\n import { ContextMenuLabel } from "radix-vue";\n import type { ContextMenuLabelProps } from "radix-vue";\n\n const props = defineProps<\n ContextMenuLabelProps & {\n /**Custom class(es) to add to the element */\n class?: any;\n /** Wether an indentation should be added to the item or not */\n inset?: boolean;\n /** The label for the item */\n label?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "inset", "label");\n const styles = tv({\n base: "inline-block w-full px-2 py-1.5 text-sm font-semibold text-foreground",\n variants: {\n inset: { true: "pl-8" },\n },\n });\n</script>\n',
|
|
614
614
|
},
|
|
615
615
|
{
|
|
616
616
|
fileName: "ContextMenu/Portal.vue",
|
|
@@ -658,7 +658,7 @@ export default [
|
|
|
658
658
|
fileName: "ContextMenu/SubTrigger.vue",
|
|
659
659
|
dirPath: "components/UI",
|
|
660
660
|
fileContent:
|
|
661
|
-
'<template>\n <ContextMenuSubTrigger
|
|
661
|
+
'<template>\n <ContextMenuSubTrigger v-bind="forwarded" :class="styles({ inset, class: props.class })">\n <slot>\n <span v-if="title">{{ title }}</span>\n </slot>\n <Icon class="ml-auto h-4 w-4" :name="icon || \'lucide:chevron-right\'" />\n </ContextMenuSubTrigger>\n</template>\n\n<script lang="ts" setup>\n import { ContextMenuSubTrigger } from "radix-vue";\n import type { ContextMenuSubTriggerProps } from "radix-vue";\n\n const props = defineProps<\n ContextMenuSubTriggerProps & {\n /**Custom class(es) to add to the element */\n class?: any;\n /** Wether an indentation should be added to the item or not */\n inset?: boolean;\n /** The icon to display */\n icon?: string;\n /** The title for the item */\n title?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "inset", "icon", "title");\n const styles = tv({\n base: "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[highlighted]:bg-accent data-[state=open]:bg-accent data-[highlighted]:text-accent-foreground data-[state=open]:text-accent-foreground",\n variants: {\n inset: {\n true: "pl-8",\n },\n },\n });\n</script>\n',
|
|
662
662
|
},
|
|
663
663
|
{
|
|
664
664
|
fileName: "ContextMenu/Trigger.vue",
|
|
@@ -680,7 +680,7 @@ export default [
|
|
|
680
680
|
fileName: "CurrencyInput.vue",
|
|
681
681
|
dirPath: "components/UI",
|
|
682
682
|
fileContent:
|
|
683
|
-
'<template>\n <input ref="inputRef" type="text" :class="styles({ class: props.class })" v-bind="props"
|
|
683
|
+
'<template>\n <!-- eslint-disable-next-line vue/html-self-closing -->\n <input ref="inputRef" type="text" :class="styles({ class: props.class })" v-bind="props" />\n</template>\n\n<script lang="ts" setup>\n import { defu } from "defu";\n import { useCurrencyInput } from "vue-currency-input";\n import type { CurrencyInputOptions } from "vue-currency-input";\n\n const props = defineProps<{\n class?: any;\n id?: string;\n name?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n modelValue?: any;\n options?: CurrencyInputOptions;\n }>();\n\n const { inputRef } = useCurrencyInput(\n defu({}, props.options, {\n currency: "USD",\n locale: "en-US",\n hideCurrencySymbolOnFocus: false,\n hideGroupingSeparatorOnFocus: false,\n })\n );\n\n const styles = tv({\n base: "h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-[16px] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground file:hover:cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:text-sm",\n });\n</script>\n',
|
|
684
684
|
},
|
|
685
685
|
],
|
|
686
686
|
utils: [],
|
|
@@ -726,7 +726,7 @@ export default [
|
|
|
726
726
|
fileName: "DateField.vue",
|
|
727
727
|
dirPath: "components/UI",
|
|
728
728
|
fileContent:
|
|
729
|
-
'<template>\n <DateFieldRoot\n v-slot="{ segments }"\n v-bind="props"\n v-model="localModel"\n :class="styles({ class: props.class })"\n >\n <template v-for="item in segments" :key="item.part">\n <DateFieldInput\n v-if="item.part === \'literal\'"\n :part="item.part"\n class="inline-flex items-center justify-center text-muted-foreground"\n >\n <Icon v-if="separatorIcon" :name="separatorIcon" class="text-muted-foreground" />\n <span v-else-if="separator" class="mx-1 text-muted-foreground">{{ separator }}</span>\n </DateFieldInput>\n <DateFieldInput\n v-else\n :part="item.part"\n class="inline-flex cursor-text items-center rounded px-1 transition focus:outline-none focus:ring-1 focus:ring-ring aria-[valuetext=Empty]:text-muted-foreground"\n >\n {{ item.value }}\n </DateFieldInput>\n </template>\n </DateFieldRoot>\n</template>\n\n<script lang="ts" setup>\n import {
|
|
729
|
+
'<template>\n <DateFieldRoot\n v-slot="{ segments }"\n v-bind="props"\n v-model="localModel"\n :class="styles({ class: props.class })"\n >\n <template v-for="item in segments" :key="item.part">\n <DateFieldInput\n v-if="item.part === \'literal\'"\n :part="item.part"\n class="inline-flex items-center justify-center text-muted-foreground"\n >\n <Icon v-if="separatorIcon" :name="separatorIcon" class="text-muted-foreground" />\n <span v-else-if="separator" class="mx-1 text-muted-foreground">{{ separator }}</span>\n </DateFieldInput>\n <DateFieldInput\n v-else\n :part="item.part"\n class="inline-flex cursor-text items-center rounded px-1 transition focus:outline-none focus:ring-1 focus:ring-ring aria-[valuetext=Empty]:text-muted-foreground"\n >\n {{ item.value }}\n </DateFieldInput>\n </template>\n </DateFieldRoot>\n</template>\n\n<script lang="ts" setup>\n import { DateFieldInput, DateFieldRoot } from "radix-vue";\n import type { DateValue } from "@internationalized/date";\n import type { DateFieldRootProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n DateFieldRootProps & {\n class?: any;\n separator?: string;\n separatorIcon?: string;\n }\n >(),\n {\n separator: "/",\n }\n );\n const localModel = defineModel<DateValue>();\n\n const styles = tv({\n base: "h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-[16px] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground file:hover:cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[disabled]:cursor-not-allowed data-[invalid]:border-destructive data-[disabled]:opacity-50 sm:text-sm",\n });\n</script>\n',
|
|
730
730
|
},
|
|
731
731
|
],
|
|
732
732
|
utils: [],
|
|
@@ -773,7 +773,7 @@ export default [
|
|
|
773
773
|
fileName: "Dialog/Description.vue",
|
|
774
774
|
dirPath: "components/UI",
|
|
775
775
|
fileContent:
|
|
776
|
-
'<template>\n <DialogDescription
|
|
776
|
+
'<template>\n <DialogDescription :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ description }}</slot>\n </DialogDescription>\n</template>\n\n<script lang="ts" setup>\n import { DialogDescription } from "radix-vue";\n import type { DialogDescriptionProps } from "radix-vue";\n\n const props = defineProps<\n DialogDescriptionProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** The description text */\n description?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "description");\n const styles = tv({\n base: "text-sm text-muted-foreground",\n });\n</script>\n',
|
|
777
777
|
},
|
|
778
778
|
{
|
|
779
779
|
fileName: "Dialog/Dialog.vue",
|
|
@@ -785,19 +785,19 @@ export default [
|
|
|
785
785
|
fileName: "Dialog/Footer.vue",
|
|
786
786
|
dirPath: "components/UI",
|
|
787
787
|
fileContent:
|
|
788
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
788
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n as: "div",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",\n });\n</script>\n',
|
|
789
789
|
},
|
|
790
790
|
{
|
|
791
791
|
fileName: "Dialog/Header.vue",
|
|
792
792
|
dirPath: "components/UI",
|
|
793
793
|
fileContent:
|
|
794
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
794
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n as: "div",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col space-y-1.5 text-center sm:text-left",\n });\n</script>\n',
|
|
795
795
|
},
|
|
796
796
|
{
|
|
797
797
|
fileName: "Dialog/Overlay.vue",
|
|
798
798
|
dirPath: "components/UI",
|
|
799
799
|
fileContent:
|
|
800
|
-
'<template>\n <DialogOverlay :class="styles({ class: props.class })" v-bind="
|
|
800
|
+
'<template>\n <DialogOverlay :class="styles({ class: props.class })" v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { DialogOverlay } from "radix-vue";\n import type { DialogOverlayProps } from "radix-vue";\n\n const props = defineProps<\n DialogOverlayProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn",\n });\n</script>\n',
|
|
801
801
|
},
|
|
802
802
|
{
|
|
803
803
|
fileName: "Dialog/Portal.vue",
|
|
@@ -809,7 +809,7 @@ export default [
|
|
|
809
809
|
fileName: "Dialog/Title.vue",
|
|
810
810
|
dirPath: "components/UI",
|
|
811
811
|
fileContent:
|
|
812
|
-
'<template>\n <DialogTitle
|
|
812
|
+
'<template>\n <DialogTitle :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ title }}</slot>\n </DialogTitle>\n</template>\n\n<script lang="ts" setup>\n import { DialogTitle } from "radix-vue";\n import type { DialogTitleProps } from "radix-vue";\n\n const props = defineProps<\n DialogTitleProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** The title text */\n title?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "title");\n const styles = tv({\n base: "text-lg font-semibold leading-none tracking-tight",\n });\n</script>\n',
|
|
813
813
|
},
|
|
814
814
|
{
|
|
815
815
|
fileName: "Dialog/Trigger.vue",
|
|
@@ -904,7 +904,7 @@ export default [
|
|
|
904
904
|
fileName: "DropdownMenu/Arrow.vue",
|
|
905
905
|
dirPath: "components/UI",
|
|
906
906
|
fileContent:
|
|
907
|
-
'<template>\n <DropdownMenuArrow
|
|
907
|
+
'<template>\n <DropdownMenuArrow v-bind="forwarded" :class="styles({ class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n import { DropdownMenuArrow } from "radix-vue";\n import type { DropdownMenuArrowProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n DropdownMenuArrowProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n asChild: false,\n width: 10,\n height: 5,\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "rotate-45 border bg-muted",\n });\n</script>\n',
|
|
908
908
|
},
|
|
909
909
|
{
|
|
910
910
|
fileName: "DropdownMenu/CheckboxItem.vue",
|
|
@@ -940,13 +940,13 @@ export default [
|
|
|
940
940
|
fileName: "DropdownMenu/ItemIndicator.vue",
|
|
941
941
|
dirPath: "components/UI",
|
|
942
942
|
fileContent:
|
|
943
|
-
'<template>\n <DropdownMenuItemIndicator v-bind="
|
|
943
|
+
'<template>\n <DropdownMenuItemIndicator v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <Icon v-if="icon" :name="icon" class="h-4 w-4" />\n </slot>\n </DropdownMenuItemIndicator>\n</template>\n\n<script lang="ts" setup>\n import { DropdownMenuItemIndicator } from "radix-vue";\n import type { DropdownMenuItemIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n DropdownMenuItemIndicatorProps & {\n /** The icon to display */\n icon?: string;\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon");\n\n const styles = tv({\n base: "flex items-center justify-center",\n });\n</script>\n',
|
|
944
944
|
},
|
|
945
945
|
{
|
|
946
946
|
fileName: "DropdownMenu/Label.vue",
|
|
947
947
|
dirPath: "components/UI",
|
|
948
948
|
fileContent:
|
|
949
|
-
'<template>\n <DropdownMenuLabel
|
|
949
|
+
'<template>\n <DropdownMenuLabel :class="styles({ inset, class: props.class })" v-bind="forwarded">\n <slot>{{ label }}</slot>\n </DropdownMenuLabel>\n</template>\n\n<script lang="ts" setup>\n import { DropdownMenuLabel } from "radix-vue";\n import type { DropdownMenuLabelProps } from "radix-vue";\n\n const props = defineProps<\n DropdownMenuLabelProps & {\n class?: any;\n inset?: boolean;\n label?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "inset", "label");\n const styles = tv({\n base: "inline-block w-full px-2 py-1.5 text-sm font-semibold text-foreground",\n variants: {\n inset: { true: "pl-8" },\n },\n });\n</script>\n',
|
|
950
950
|
},
|
|
951
951
|
{
|
|
952
952
|
fileName: "DropdownMenu/Portal.vue",
|
|
@@ -970,13 +970,13 @@ export default [
|
|
|
970
970
|
fileName: "DropdownMenu/Separator.vue",
|
|
971
971
|
dirPath: "components/UI",
|
|
972
972
|
fileContent:
|
|
973
|
-
'<template>\n <DropdownMenuSeparator
|
|
973
|
+
'<template>\n <DropdownMenuSeparator :class="styles({ class: props.class })" v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { DropdownMenuSeparator } from "radix-vue";\n import type { DropdownMenuSeparatorProps } from "radix-vue";\n\n const props = defineProps<\n DropdownMenuSeparatorProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "-mx-1 my-1 h-px bg-border",\n });\n</script>\n',
|
|
974
974
|
},
|
|
975
975
|
{
|
|
976
976
|
fileName: "DropdownMenu/Shortcut.vue",
|
|
977
977
|
dirPath: "components/UI",
|
|
978
978
|
fileContent:
|
|
979
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
979
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n as: "span",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "ml-auto text-xs tracking-widest opacity-60",\n });\n</script>\n',
|
|
980
980
|
},
|
|
981
981
|
{
|
|
982
982
|
fileName: "DropdownMenu/Sub.vue",
|
|
@@ -994,7 +994,7 @@ export default [
|
|
|
994
994
|
fileName: "DropdownMenu/SubTrigger.vue",
|
|
995
995
|
dirPath: "components/UI",
|
|
996
996
|
fileContent:
|
|
997
|
-
'<template>\n <DropdownMenuSubTrigger
|
|
997
|
+
'<template>\n <DropdownMenuSubTrigger v-bind="forwarded" :class="styles({ inset, class: props.class })">\n <slot>\n <Icon v-if="icon" :name="icon" class="h-4 w-4" />\n <span v-if="title">{{ title }}</span>\n </slot>\n <Icon\n class="ml-auto h-4 w-4 text-muted-foreground"\n :name="trailingIcon || \'lucide:chevron-right\'"\n />\n </DropdownMenuSubTrigger>\n</template>\n\n<script lang="ts" setup>\n import { DropdownMenuSubTrigger } from "radix-vue";\n import type { DropdownMenuSubTriggerProps } from "radix-vue";\n\n const props = defineProps<\n DropdownMenuSubTriggerProps & {\n /**Custom class(es) to add to the element */\n class?: any;\n /** Wether an indentation should be added to the item or not */\n inset?: boolean;\n /** The icon to display */\n icon?: string;\n /** The title for the item */\n title?: string;\n /** The trailing icon to display */\n trailingIcon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "inset", "icon", "title", "trailingIcon");\n const styles = tv({\n base: "flex cursor-default select-none items-center gap-3 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",\n variants: {\n inset: {\n true: "pl-8",\n },\n },\n });\n</script>\n',
|
|
998
998
|
},
|
|
999
999
|
{
|
|
1000
1000
|
fileName: "DropdownMenu/Trigger.vue",
|
|
@@ -1015,7 +1015,7 @@ export default [
|
|
|
1015
1015
|
fileName: "Dropfile.vue",
|
|
1016
1016
|
dirPath: "components/UI",
|
|
1017
1017
|
fileContent:
|
|
1018
|
-
'<template>\n <div ref="dropZoneRef" :class="styles({ isOverDropZone, class: props.class })" @click="open()">\n <slot name="message">\n <div class="py-10 text-center">\n <slot name="icon">\n <div\n v-if="icon"\n class="inline-flex items-center justify-center rounded-md border p-2 transition"\n :class="[isOverDropZone && \'animate-bounce border-primary\']"\n >\n <Icon\n :name="icon"\n class="h-7 w-7 opacity-70"\n :class="[isOverDropZone && \'text-primary\']"\n />\n </div>\n </slot>\n <slot name="title">\n <p class="mt-5 text-sm font-medium" v-html="title" />\n </slot>\n <slot name="subtext">\n <p class="mt-1 text-sm text-muted-foreground/60" v-html="subtext" />\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<script setup lang="ts">\n const props = withDefaults(\n defineProps<{\n /**\n * The text to display as the title of the dropzone.\n */\n title?: string;\n /**\n * The text to display as the subtext of the dropzone.\n */\n subtext?: string;\n /**\n * The icon to display in the dropzone.\n */\n icon?: string;\n /**\n * The function to call when files are dropped.\n */\n // eslint-disable-next-line @typescript-eslint/
|
|
1018
|
+
'<template>\n <div ref="dropZoneRef" :class="styles({ isOverDropZone, class: props.class })" @click="open()">\n <slot name="message">\n <div class="py-10 text-center">\n <slot name="icon">\n <div\n v-if="icon"\n class="inline-flex items-center justify-center rounded-md border p-2 transition"\n :class="[isOverDropZone && \'animate-bounce border-primary\']"\n >\n <Icon\n :name="icon"\n class="h-7 w-7 opacity-70"\n :class="[isOverDropZone && \'text-primary\']"\n />\n </div>\n </slot>\n <slot name="title">\n <p class="mt-5 text-sm font-medium" v-html="title" />\n </slot>\n <slot name="subtext">\n <p class="mt-1 text-sm text-muted-foreground/60" v-html="subtext" />\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<script setup lang="ts">\n const props = withDefaults(\n defineProps<{\n /**\n * The text to display as the title of the dropzone.\n */\n title?: string;\n /**\n * The text to display as the subtext of the dropzone.\n */\n subtext?: string;\n /**\n * The icon to display in the dropzone.\n */\n icon?: string;\n /**\n * The function to call when files are dropped.\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n onDrop?: Function;\n /**\n * Whether or not to allow multiple files to be picked. Does not affect drag and drop.\n */\n multiple?: boolean;\n /**\n * The file types to accept. Does not affect drag and drop.\n */\n accept?: string;\n class?: any;\n }>(),\n {\n title: "Click to upload or drag & drop files.",\n subtext: "All file types accepted",\n icon: "heroicons:cloud-arrow-up",\n multiple: true,\n accept: "*",\n }\n );\n\n const { open, reset, onChange } = useFileDialog({\n multiple: props.multiple,\n accept: props.accept,\n });\n\n onChange((files: FileList | null) => {\n if (files?.length) {\n handleDrop(Array.from(files || []));\n reset();\n }\n });\n\n const dropZoneRef = ref<HTMLDivElement>();\n const emits = defineEmits<{\n dropped: [any];\n }>();\n\n const handleDrop = (files: File[] | null) => {\n if (!files) return;\n if (props.onDrop) props.onDrop(files);\n emits("dropped", files);\n };\n\n const { isOverDropZone } = useDropZone(dropZoneRef, handleDrop);\n\n const styles = tv({\n base: "flex w-full cursor-pointer items-center justify-center rounded-md border border-dashed transition hover:border-primary",\n variants: {\n isOverDropZone: { true: "border-primary bg-primary/10" },\n },\n });\n</script>\n',
|
|
1019
1019
|
},
|
|
1020
1020
|
],
|
|
1021
1021
|
utils: [],
|
|
@@ -1118,7 +1118,7 @@ export default [
|
|
|
1118
1118
|
fileName: "Form/Item.vue",
|
|
1119
1119
|
dirPath: "components/UI",
|
|
1120
1120
|
fileContent:
|
|
1121
|
-
'<template>\n <div :class="styles({ class: props.class })" v-bind="$attrs">\n <slot name="label">\n <UiFormLabel v-if="label || hint" :label="label" :hint="hint" />\n </slot>\n <UiFormControl>\n <slot />\n </UiFormControl>\n <slot name="description">\n <UiFormDescription v-if="description" :description="description" />\n </slot>\n <slot name="errorMessage">\n <TransitionSlide tag="p">\n <UiFormMessage v-if="!hideMessage" />\n </TransitionSlide>\n </slot>\n </div>\n</template>\n\n<script lang="ts">\n import {
|
|
1121
|
+
'<template>\n <div :class="styles({ class: props.class })" v-bind="$attrs">\n <slot name="label">\n <UiFormLabel v-if="label || hint" :label="label" :hint="hint" />\n </slot>\n <UiFormControl>\n <slot />\n </UiFormControl>\n <slot name="description">\n <UiFormDescription v-if="description" :description="description" />\n </slot>\n <slot name="errorMessage">\n <TransitionSlide tag="p">\n <UiFormMessage v-if="!hideMessage" />\n </TransitionSlide>\n </slot>\n </div>\n</template>\n\n<script lang="ts">\n import type { InjectionKey } from "vue";\n\n export const FORM_ITEM_INJECTION_KEY = Symbol() as InjectionKey<string>;\n</script>\n\n<script lang="ts" setup>\n defineOptions({ inheritAttrs: false });\n\n const id = useId();\n provide(FORM_ITEM_INJECTION_KEY, id);\n\n const props = defineProps<{\n class?: any;\n label?: string;\n description?: string;\n hint?: string;\n hideMessage?: boolean;\n }>();\n\n const styles = tv({ base: "space-y-1.5" });\n</script>\n',
|
|
1122
1122
|
},
|
|
1123
1123
|
{
|
|
1124
1124
|
fileName: "Form/Label.vue",
|
|
@@ -1144,7 +1144,7 @@ export default [
|
|
|
1144
1144
|
fileName: "GradientDivider.vue",
|
|
1145
1145
|
dirPath: "components/UI",
|
|
1146
1146
|
fileContent:
|
|
1147
|
-
'<template>\n <Separator v-bind="
|
|
1147
|
+
'<template>\n <Separator v-bind="forwarded" :class="styles({ class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n import { Separator } from "radix-vue";\n import type { SeparatorProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n SeparatorProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >(),\n {\n as: "hr",\n }\n );\n\n const forwarded = reactiveOmit(props, "class");\n\n const styles = tv({\n base: \'h-px w-full border-t-0 bg-[linear-gradient(90deg,theme("colors.input/10%"),_theme("colors.input"),_theme("colors.input/10%"))]\',\n });\n</script>\n',
|
|
1148
1148
|
},
|
|
1149
1149
|
],
|
|
1150
1150
|
utils: [],
|
|
@@ -1159,13 +1159,13 @@ export default [
|
|
|
1159
1159
|
fileName: "HoverCard/Arrow.vue",
|
|
1160
1160
|
dirPath: "components/UI",
|
|
1161
1161
|
fileContent:
|
|
1162
|
-
'<template>\n <HoverCardArrow :class="styles({ class: props.class })" v-bind="
|
|
1162
|
+
'<template>\n <HoverCardArrow :class="styles({ class: props.class })" v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { HoverCardArrow } from "radix-vue";\n import type { HoverCardArrowProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n HoverCardArrowProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n height: 5,\n width: 10,\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "fill-popover",\n });\n</script>\n',
|
|
1163
1163
|
},
|
|
1164
1164
|
{
|
|
1165
1165
|
fileName: "HoverCard/Content.vue",
|
|
1166
1166
|
dirPath: "components/UI",
|
|
1167
1167
|
fileContent:
|
|
1168
|
-
'<template>\n <UiHoverCardPortal :to="to">\n <HoverCardContent
|
|
1168
|
+
'<template>\n <UiHoverCardPortal :to="to">\n <HoverCardContent v-bind="{ ...forwarded, ...$attrs }" :class="styles({ class: props.class })">\n <slot />\n </HoverCardContent>\n </UiHoverCardPortal>\n</template>\n\n<script lang="ts" setup>\n import { HoverCardContent } from "radix-vue";\n import type { HoverCardContentProps } from "radix-vue";\n\n defineOptions({ inheritAttrs: false });\n\n const props = withDefaults(\n defineProps<\n HoverCardContentProps & {\n /** Custom class(es) to add to the content */\n class?: any;\n /** The element or selector the content should be positioned relative to */\n to?: string | HTMLElement;\n }\n >(),\n {\n side: "bottom",\n sideOffset: 5,\n align: "center",\n avoidCollisions: true,\n sticky: "partial",\n }\n );\n const forwarded = reactiveOmit(props, "class", "to");\n const styles = tv({\n base: "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",\n });\n</script>\n',
|
|
1169
1169
|
},
|
|
1170
1170
|
{
|
|
1171
1171
|
fileName: "HoverCard/HoverCard.vue",
|
|
@@ -1199,7 +1199,7 @@ export default [
|
|
|
1199
1199
|
fileName: "Input.vue",
|
|
1200
1200
|
dirPath: "components/UI",
|
|
1201
1201
|
fileContent:
|
|
1202
|
-
'<template>\n <input v-bind="props" v-model="localModel" :class="styles({ class: props.class })"
|
|
1202
|
+
'<template>\n <!-- eslint-disable-next-line vue/html-self-closing -->\n <input v-bind="props" v-model="localModel" :class="styles({ class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n const props = withDefaults(\n defineProps<{\n class?: any;\n id?: string;\n name?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n type?: string;\n modelValue?: any;\n }>(),\n { type: "text" }\n );\n const emits = defineEmits<{\n "update:modelValue": [value: any];\n }>();\n const localModel = useVModel(props, "modelValue", emits);\n\n const styles = tv({\n base: "form-input h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:px-1 file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground file:hover:cursor-pointer focus:border-input focus:ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:text-sm",\n });\n</script>\n',
|
|
1203
1203
|
},
|
|
1204
1204
|
],
|
|
1205
1205
|
utils: [],
|
|
@@ -1214,7 +1214,7 @@ export default [
|
|
|
1214
1214
|
fileName: "Kbd.vue",
|
|
1215
1215
|
dirPath: "components/UI",
|
|
1216
1216
|
fileContent:
|
|
1217
|
-
'<template>\n <Primitive
|
|
1217
|
+
'<template>\n <Primitive :class="styles({ size, class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n<script setup lang="ts">\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** The size of the component */\n size?: VariantProps<typeof styles>["size"];\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n as: "kbd",\n size: "sm",\n }\n );\n\n const forwarded = reactiveOmit(props, "class", "size");\n\n const styles = tv({\n base: "pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded-md border border-border bg-muted font-sans font-medium",\n variants: {\n size: {\n xs: "h-5 min-h-[16px] px-1 text-[10px]",\n sm: "h-6 min-h-[20px] px-1.5 text-[11px]",\n md: "h-7 min-h-[24px] px-2 text-[12px]",\n },\n },\n defaultVariants: {\n size: "sm",\n },\n });\n</script>\n',
|
|
1218
1218
|
},
|
|
1219
1219
|
],
|
|
1220
1220
|
utils: [],
|
|
@@ -1229,7 +1229,7 @@ export default [
|
|
|
1229
1229
|
fileName: "Label.vue",
|
|
1230
1230
|
dirPath: "components/UI",
|
|
1231
1231
|
fileContent:
|
|
1232
|
-
'<template>\n <Label :class="styles({ class: props.class })" v-bind="
|
|
1232
|
+
'<template>\n <Label :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n <slot name="hint">\n <span v-if="hint">\n {{ hint }}\n </span>\n </slot>\n </Label>\n</template>\n\n<script lang="ts" setup>\n import { Label } from "radix-vue";\n import type { LabelProps } from "radix-vue";\n\n const props = defineProps<\n LabelProps & {\n /** Custom class(es) to add to the label */\n class?: any;\n hint?: string;\n }\n >();\n\n const forwarded = reactiveOmit(props, "class", "hint");\n\n const styles = tv({\n base: "flex items-center justify-between text-[15px] font-medium leading-none hover:cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-70 sm:text-sm",\n });\n</script>\n',
|
|
1233
1233
|
},
|
|
1234
1234
|
],
|
|
1235
1235
|
utils: [],
|
|
@@ -1244,7 +1244,7 @@ export default [
|
|
|
1244
1244
|
fileName: "List/Content.vue",
|
|
1245
1245
|
dirPath: "components/UI",
|
|
1246
1246
|
fileContent:
|
|
1247
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
1247
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n as: "div",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col gap-1 leading-none",\n });\n</script>\n',
|
|
1248
1248
|
},
|
|
1249
1249
|
{
|
|
1250
1250
|
fileName: "List/Item.vue",
|
|
@@ -1256,19 +1256,19 @@ export default [
|
|
|
1256
1256
|
fileName: "List/List.vue",
|
|
1257
1257
|
dirPath: "components/UI",
|
|
1258
1258
|
fileContent:
|
|
1259
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
1259
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n as: "ul",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "w-full py-2",\n });\n</script>\n',
|
|
1260
1260
|
},
|
|
1261
1261
|
{
|
|
1262
1262
|
fileName: "List/Subtitle.vue",
|
|
1263
1263
|
dirPath: "components/UI",
|
|
1264
1264
|
fileContent:
|
|
1265
|
-
'<template>\n <Primitive
|
|
1265
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ subtitle }}</slot>\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** The subtitle of the component */\n subtitle?: string;\n }\n >(),\n {\n as: "p",\n }\n );\n const forwarded = reactiveOmit(props, "class", "subtitle");\n const styles = tv({\n base: "text-sm text-muted-foreground",\n });\n</script>\n',
|
|
1266
1266
|
},
|
|
1267
1267
|
{
|
|
1268
1268
|
fileName: "List/Title.vue",
|
|
1269
1269
|
dirPath: "components/UI",
|
|
1270
1270
|
fileContent:
|
|
1271
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
1271
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ title }}</slot>\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** The title of the component */\n title?: string;\n }\n >(),\n {\n as: "p",\n }\n );\n const forwarded = reactiveOmit(props, "class", "title");\n const styles = tv({\n base: "font-semibold",\n });\n</script>\n',
|
|
1272
1272
|
},
|
|
1273
1273
|
],
|
|
1274
1274
|
utils: [],
|
|
@@ -1370,13 +1370,13 @@ export default [
|
|
|
1370
1370
|
fileName: "Menubar/ItemIndicator.vue",
|
|
1371
1371
|
dirPath: "components/UI",
|
|
1372
1372
|
fileContent:
|
|
1373
|
-
'<template>\n <MenubarItemIndicator v-bind="
|
|
1373
|
+
'<template>\n <MenubarItemIndicator v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <Icon v-if="icon" :name="icon" class="h-4 w-4" />\n </slot>\n </MenubarItemIndicator>\n</template>\n\n<script lang="ts" setup>\n import { MenubarItemIndicator } from "radix-vue";\n import type { MenubarItemIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n MenubarItemIndicatorProps & {\n /** The icon to display */\n icon?: string;\n /** The class(es) to apply to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "flex shrink-0 items-center justify-center",\n });\n</script>\n',
|
|
1374
1374
|
},
|
|
1375
1375
|
{
|
|
1376
1376
|
fileName: "Menubar/Label.vue",
|
|
1377
1377
|
dirPath: "components/UI",
|
|
1378
1378
|
fileContent:
|
|
1379
|
-
'<template>\n <MenubarLabel
|
|
1379
|
+
'<template>\n <MenubarLabel :class="styles({ inset, class: props.class })" v-bind="forwarded">\n <slot />\n </MenubarLabel>\n</template>\n\n<script lang="ts" setup>\n import { MenubarLabel } from "radix-vue";\n import type { MenubarLabelProps } from "radix-vue";\n\n const props = defineProps<\n MenubarLabelProps & {\n class?: any;\n inset?: boolean;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "inset");\n const styles = tv({\n base: "px-2 py-1.5 text-sm font-semibold",\n variants: {\n inset: {\n true: "pl-8",\n },\n },\n });\n</script>\n',
|
|
1380
1380
|
},
|
|
1381
1381
|
{
|
|
1382
1382
|
fileName: "Menubar/Menu.vue",
|
|
@@ -1394,7 +1394,7 @@ export default [
|
|
|
1394
1394
|
fileName: "Menubar/Portal.vue",
|
|
1395
1395
|
dirPath: "components/UI",
|
|
1396
1396
|
fileContent:
|
|
1397
|
-
'<template>\n <MenubarPortal v-bind="props">\n <slot />\n </MenubarPortal>\n</template>\n\n<script lang="ts" setup>\n import {
|
|
1397
|
+
'<template>\n <MenubarPortal v-bind="props">\n <slot />\n </MenubarPortal>\n</template>\n\n<script lang="ts" setup>\n import type { MenubarPortalProps } from "radix-vue";\n\n const props = defineProps<MenubarPortalProps>();\n</script>\n',
|
|
1398
1398
|
},
|
|
1399
1399
|
{
|
|
1400
1400
|
fileName: "Menubar/RadioGroup.vue",
|
|
@@ -1412,13 +1412,13 @@ export default [
|
|
|
1412
1412
|
fileName: "Menubar/Separator.vue",
|
|
1413
1413
|
dirPath: "components/UI",
|
|
1414
1414
|
fileContent:
|
|
1415
|
-
'<template>\n <MenubarSeparator :class="styles({ class: props.class })" v-bind="
|
|
1415
|
+
'<template>\n <MenubarSeparator :class="styles({ class: props.class })" v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { MenubarSeparator } from "radix-vue";\n import type { MenubarSeparatorProps } from "radix-vue";\n\n const props = defineProps<\n MenubarSeparatorProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "-mx-1 my-1 h-px bg-border",\n });\n</script>\n',
|
|
1416
1416
|
},
|
|
1417
1417
|
{
|
|
1418
1418
|
fileName: "Menubar/Shortcut.vue",
|
|
1419
1419
|
dirPath: "components/UI",
|
|
1420
1420
|
fileContent:
|
|
1421
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
1421
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n { as: "span" }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "ml-auto text-xs tracking-widest opacity-60",\n });\n</script>\n',
|
|
1422
1422
|
},
|
|
1423
1423
|
{
|
|
1424
1424
|
fileName: "Menubar/Sub.vue",
|
|
@@ -1436,13 +1436,13 @@ export default [
|
|
|
1436
1436
|
fileName: "Menubar/SubTrigger.vue",
|
|
1437
1437
|
dirPath: "components/UI",
|
|
1438
1438
|
fileContent:
|
|
1439
|
-
'<template>\n <MenubarSubTrigger
|
|
1439
|
+
'<template>\n <MenubarSubTrigger v-bind="forwarded" :class="styles({ inset, class: props.class })">\n <slot>\n <Icon v-if="icon" :name="icon" class="h-4 w-4" />\n <span v-if="title">{{ title }}</span>\n </slot>\n <Icon\n class="ml-auto h-4 w-4 text-muted-foreground"\n :name="trailingIcon || \'lucide:chevron-right\'"\n />\n </MenubarSubTrigger>\n</template>\n\n<script lang="ts" setup>\n import { MenubarSubTrigger } from "radix-vue";\n import type { MenubarSubTriggerProps } from "radix-vue";\n\n const props = defineProps<\n MenubarSubTriggerProps & {\n class?: any;\n inset?: boolean;\n icon?: string;\n title?: string;\n trailingIcon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "inset", "icon", "title", "trailingIcon");\n const styles = tv({\n base: "flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",\n variants: {\n inset: {\n true: "pl-8",\n },\n },\n });\n</script>\n',
|
|
1440
1440
|
},
|
|
1441
1441
|
{
|
|
1442
1442
|
fileName: "Menubar/Trigger.vue",
|
|
1443
1443
|
dirPath: "components/UI",
|
|
1444
1444
|
fileContent:
|
|
1445
|
-
'<template>\n <MenubarTrigger :class="styles({ class: props.class })" v-bind="
|
|
1445
|
+
'<template>\n <MenubarTrigger :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </MenubarTrigger>\n</template>\n\n<script lang="ts" setup>\n import { MenubarTrigger } from "radix-vue";\n import type { MenubarTriggerProps } from "radix-vue";\n\n const props = defineProps<\n MenubarTriggerProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex cursor-pointer select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[highlighted]:bg-accent data-[state=open]:bg-accent data-[highlighted]:text-accent-foreground data-[state=open]:text-accent-foreground",\n });\n</script>\n',
|
|
1446
1446
|
},
|
|
1447
1447
|
],
|
|
1448
1448
|
utils: [],
|
|
@@ -1473,7 +1473,7 @@ export default [
|
|
|
1473
1473
|
fileName: "Navbar.vue",
|
|
1474
1474
|
dirPath: "components/UI",
|
|
1475
1475
|
fileContent:
|
|
1476
|
-
'<template>\n <Primitive :class="styles({ sticky, class: props.class })" v-bind="
|
|
1476
|
+
'<template>\n <Primitive :class="styles({ sticky, class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** Whether the navbar should be sticky */\n sticky?: boolean;\n }\n >(),\n {\n as: "header",\n }\n );\n\n const forwarded = reactiveOmit(props, "class", "sticky");\n\n const styles = tv({\n base: "z-20 border-b bg-background/90 backdrop-blur",\n variants: {\n sticky: {\n true: "sticky top-0",\n },\n },\n });\n</script>\n',
|
|
1477
1477
|
},
|
|
1478
1478
|
],
|
|
1479
1479
|
utils: [],
|
|
@@ -1494,7 +1494,7 @@ export default [
|
|
|
1494
1494
|
fileName: "NavigationMenu/Indicator.vue",
|
|
1495
1495
|
dirPath: "components/UI",
|
|
1496
1496
|
fileContent:
|
|
1497
|
-
'<template>\n <NavigationMenuIndicator
|
|
1497
|
+
'<template>\n <NavigationMenuIndicator v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n <div class="relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" />\n </NavigationMenuIndicator>\n</template>\n\n<script lang="ts" setup>\n import { NavigationMenuIndicator } from "radix-vue";\n import type { NavigationMenuIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n NavigationMenuIndicatorProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",\n });\n</script>\n',
|
|
1498
1498
|
},
|
|
1499
1499
|
{
|
|
1500
1500
|
fileName: "NavigationMenu/Item.vue",
|
|
@@ -1512,7 +1512,7 @@ export default [
|
|
|
1512
1512
|
fileName: "NavigationMenu/List.vue",
|
|
1513
1513
|
dirPath: "components/UI",
|
|
1514
1514
|
fileContent:
|
|
1515
|
-
'<template>\n <NavigationMenuList v-bind="
|
|
1515
|
+
'<template>\n <NavigationMenuList v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </NavigationMenuList>\n</template>\n\n<script lang="ts" setup>\n import { NavigationMenuList } from "radix-vue";\n import type { NavigationMenuListProps } from "radix-vue";\n\n const props = defineProps<\n NavigationMenuListProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "group flex flex-1 list-none items-center justify-center space-x-1",\n });\n</script>\n',
|
|
1516
1516
|
},
|
|
1517
1517
|
{
|
|
1518
1518
|
fileName: "NavigationMenu/NavigationMenu.vue",
|
|
@@ -1530,13 +1530,13 @@ export default [
|
|
|
1530
1530
|
fileName: "NavigationMenu/Trigger.vue",
|
|
1531
1531
|
dirPath: "components/UI",
|
|
1532
1532
|
fileContent:
|
|
1533
|
-
'<template>\n <NavigationMenuTrigger
|
|
1533
|
+
'<template>\n <NavigationMenuTrigger v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>{{ title }}</slot>\n <slot name="icon">\n <Icon\n :name="icon || \'lucide:chevron-down\'"\n class="relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180"\n aria-hidden="true"\n />\n </slot>\n </NavigationMenuTrigger>\n</template>\n\n<script lang="ts" setup>\n import { NavigationMenuTrigger } from "radix-vue";\n import type { NavigationMenuTriggerProps } from "radix-vue";\n\n const props = defineProps<\n NavigationMenuTriggerProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** Icon to show */\n icon?: string;\n /** Title to show */\n title?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon", "title");\n const styles = tv({\n base: "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50",\n });\n</script>\n',
|
|
1534
1534
|
},
|
|
1535
1535
|
{
|
|
1536
1536
|
fileName: "NavigationMenu/Viewport.vue",
|
|
1537
1537
|
dirPath: "components/UI",
|
|
1538
1538
|
fileContent:
|
|
1539
|
-
'<template>\n <div class="absolute left-0 top-full flex justify-center">\n <NavigationMenuViewport\n v-bind="{ ...
|
|
1539
|
+
'<template>\n <div class="absolute left-0 top-full flex justify-center">\n <NavigationMenuViewport\n v-bind="{ ...forwarded, ...$attrs }"\n :class="styles({ class: props.class })"\n />\n </div>\n</template>\n\n<script lang="ts" setup>\n import { NavigationMenuViewport } from "radix-vue";\n import type { NavigationMenuViewportProps } from "radix-vue";\n\n defineOptions({ inheritAttrs: false });\n const props = defineProps<\n NavigationMenuViewportProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",\n });\n</script>\n',
|
|
1540
1540
|
},
|
|
1541
1541
|
],
|
|
1542
1542
|
utils: [],
|
|
@@ -1585,13 +1585,13 @@ export default [
|
|
|
1585
1585
|
fileName: "Pagination/Ellipsis.vue",
|
|
1586
1586
|
dirPath: "components/UI",
|
|
1587
1587
|
fileContent:
|
|
1588
|
-
'<template>\n <PaginationEllipsis v-bind="
|
|
1588
|
+
'<template>\n <PaginationEllipsis v-bind="forwarded">\n <slot>\n <div v-if="icon" class="inline-flex h-9 w-9 items-center justify-center hover:bg-transparent">\n <Icon :name="icon" />\n </div>\n </slot>\n </PaginationEllipsis>\n</template>\n\n<script lang="ts" setup>\n import { PaginationEllipsis } from "radix-vue";\n import type { PaginationEllipsisProps } from "radix-vue";\n\n const props = defineProps<\n PaginationEllipsisProps & {\n /** Icon to show */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "icon");\n</script>\n',
|
|
1589
1589
|
},
|
|
1590
1590
|
{
|
|
1591
1591
|
fileName: "Pagination/First.vue",
|
|
1592
1592
|
dirPath: "components/UI",
|
|
1593
1593
|
fileContent:
|
|
1594
|
-
'<template>\n <PaginationFirst v-bind="
|
|
1594
|
+
'<template>\n <PaginationFirst v-bind="forwarded">\n <slot>\n <UiButton v-if="icon" variant="ghost" size="icon-sm">\n <Icon :name="icon" />\n </UiButton>\n </slot>\n </PaginationFirst>\n</template>\n\n<script lang="ts" setup>\n import { PaginationFirst } from "radix-vue";\n import type { PaginationFirstProps } from "radix-vue";\n\n const props = defineProps<\n PaginationFirstProps & {\n /** Icon to show */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "icon");\n</script>\n',
|
|
1595
1595
|
},
|
|
1596
1596
|
{
|
|
1597
1597
|
fileName: "Pagination/Item.vue",
|
|
@@ -1603,13 +1603,13 @@ export default [
|
|
|
1603
1603
|
fileName: "Pagination/Last.vue",
|
|
1604
1604
|
dirPath: "components/UI",
|
|
1605
1605
|
fileContent:
|
|
1606
|
-
'<template>\n <PaginationLast v-bind="
|
|
1606
|
+
'<template>\n <PaginationLast v-bind="forwarded">\n <slot>\n <UiButton v-if="icon" variant="ghost" size="icon-sm">\n <Icon :name="icon" />\n </UiButton>\n </slot>\n </PaginationLast>\n</template>\n\n<script lang="ts" setup>\n import { PaginationLast } from "radix-vue";\n import type { PaginationLastProps } from "radix-vue";\n\n const props = defineProps<\n PaginationLastProps & {\n /** Icon to show */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "icon");\n</script>\n',
|
|
1607
1607
|
},
|
|
1608
1608
|
{
|
|
1609
1609
|
fileName: "Pagination/List.vue",
|
|
1610
1610
|
dirPath: "components/UI",
|
|
1611
1611
|
fileContent:
|
|
1612
|
-
'<template>\n <PaginationList
|
|
1612
|
+
'<template>\n <PaginationList v-slot="{ items }" :class="styles({ class: props.class })" v-bind="forwarded">\n <slot :items="items" />\n </PaginationList>\n</template>\n\n<script lang="ts" setup>\n import { PaginationList } from "radix-vue";\n import type { PaginationListProps } from "radix-vue";\n\n const props = defineProps<\n PaginationListProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex items-center gap-1",\n });\n</script>\n',
|
|
1613
1613
|
},
|
|
1614
1614
|
{
|
|
1615
1615
|
fileName: "Pagination/Next.vue",
|
|
@@ -1627,7 +1627,7 @@ export default [
|
|
|
1627
1627
|
fileName: "Pagination/Prev.vue",
|
|
1628
1628
|
dirPath: "components/UI",
|
|
1629
1629
|
fileContent:
|
|
1630
|
-
'<template>\n <PaginationPrev v-bind="
|
|
1630
|
+
'<template>\n <PaginationPrev v-bind="forwarded">\n <slot>\n <UiButton v-if="icon" variant="ghost" size="icon-sm">\n <Icon :name="icon" />\n </UiButton>\n </slot>\n </PaginationPrev>\n</template>\n\n<script lang="ts" setup>\n import { PaginationPrev } from "radix-vue";\n import type { PaginationPrevProps } from "radix-vue";\n\n const props = defineProps<\n PaginationPrevProps & {\n /** Icon to show */\n icon?: string;\n }\n >();\n\n const forwarded = reactiveOmit(props, "icon");\n</script>\n',
|
|
1631
1631
|
},
|
|
1632
1632
|
],
|
|
1633
1633
|
utils: [],
|
|
@@ -1648,7 +1648,7 @@ export default [
|
|
|
1648
1648
|
fileName: "PinInput/PinInputInput.vue",
|
|
1649
1649
|
dirPath: "components/UI",
|
|
1650
1650
|
fileContent:
|
|
1651
|
-
'<template>\n <PinInputInput v-bind="
|
|
1651
|
+
'<template>\n <PinInputInput v-bind="forwarded" :class="styles({ class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n import { PinInputInput } from "radix-vue";\n import type { PinInputInputProps } from "radix-vue";\n\n const props = defineProps<\n PinInputInputProps & {\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "h-10 w-10 rounded-md border border-input bg-background p-1 text-center text-base font-medium placeholder:text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 sm:text-sm",\n });\n</script>\n',
|
|
1652
1652
|
},
|
|
1653
1653
|
],
|
|
1654
1654
|
utils: [],
|
|
@@ -1669,7 +1669,7 @@ export default [
|
|
|
1669
1669
|
fileName: "Popover/Arrow.vue",
|
|
1670
1670
|
dirPath: "components/UI",
|
|
1671
1671
|
fileContent:
|
|
1672
|
-
'<template>\n <PopoverArrow v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { PopoverArrow, useForwardProps } from "radix-vue";\n import type { PopoverArrowProps } from "radix-vue
|
|
1672
|
+
'<template>\n <PopoverArrow v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { PopoverArrow, useForwardProps } from "radix-vue";\n import type { PopoverArrowProps } from "radix-vue";\n\n const props = withDefaults(defineProps<PopoverArrowProps>(), {\n width: 10,\n height: 5,\n });\n\n const forwarded = useForwardProps(props);\n</script>\n',
|
|
1673
1673
|
},
|
|
1674
1674
|
{
|
|
1675
1675
|
fileName: "Popover/Close.vue",
|
|
@@ -1720,7 +1720,7 @@ export default [
|
|
|
1720
1720
|
fileName: "Progress/Indicator.vue",
|
|
1721
1721
|
dirPath: "components/UI",
|
|
1722
1722
|
fileContent:
|
|
1723
|
-
'<template>\n <ProgressIndicator v-bind="
|
|
1723
|
+
'<template>\n <ProgressIndicator v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </ProgressIndicator>\n</template>\n\n<script lang="ts" setup>\n import { ProgressIndicator } from "radix-vue";\n import type { ProgressIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n ProgressIndicatorProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "h-full w-full flex-1 rounded-full bg-primary transition-all",\n });\n</script>\n',
|
|
1724
1724
|
},
|
|
1725
1725
|
{
|
|
1726
1726
|
fileName: "Progress/Progress.vue",
|
|
@@ -1741,13 +1741,13 @@ export default [
|
|
|
1741
1741
|
fileName: "RadioGroup/Indicator.vue",
|
|
1742
1742
|
dirPath: "components/UI",
|
|
1743
1743
|
fileContent:
|
|
1744
|
-
'<template>\n <RadioGroupIndicator
|
|
1744
|
+
'<template>\n <RadioGroupIndicator v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <Icon :name="icon || \'ph:circle-fill\'" class="h-2.5 w-2.5 fill-current text-current" />\n </slot>\n </RadioGroupIndicator>\n</template>\n\n<script lang="ts" setup>\n import { RadioGroupIndicator } from "radix-vue";\n import type { RadioGroupIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n RadioGroupIndicatorProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** Icon to show */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "flex items-center justify-center",\n });\n</script>\n',
|
|
1745
1745
|
},
|
|
1746
1746
|
{
|
|
1747
1747
|
fileName: "RadioGroup/Item.vue",
|
|
1748
1748
|
dirPath: "components/UI",
|
|
1749
1749
|
fileContent:
|
|
1750
|
-
'<template>\n <RadioGroupItem
|
|
1750
|
+
'<template>\n <RadioGroupItem v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <UiRadioGroupIndicator :icon="props.icon" />\n </slot>\n </RadioGroupItem>\n</template>\n\n<script lang="ts" setup>\n import { RadioGroupItem } from "radix-vue";\n import type { RadioGroupItemProps } from "radix-vue";\n\n const props = defineProps<\n RadioGroupItemProps & {\n /** Class to apply to the item */\n class?: any;\n /** Icon to show */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",\n });\n</script>\n',
|
|
1751
1751
|
},
|
|
1752
1752
|
{
|
|
1753
1753
|
fileName: "RadioGroup/RadioGroup.vue",
|
|
@@ -1774,25 +1774,25 @@ export default [
|
|
|
1774
1774
|
fileName: "ScrollArea/ScrollArea.vue",
|
|
1775
1775
|
dirPath: "components/UI",
|
|
1776
1776
|
fileContent:
|
|
1777
|
-
'<template>\n <ScrollAreaRoot v-bind="
|
|
1777
|
+
'<template>\n <ScrollAreaRoot v-bind="forwarded" :class="styles({ class: props.class })">\n <UiScrollAreaViewport>\n <slot />\n </UiScrollAreaViewport>\n <UiScrollAreaScrollbar :orientation="orientation" />\n <UiScrollAreaCorner />\n </ScrollAreaRoot>\n</template>\n\n<script lang="ts" setup>\n import { ScrollAreaRoot } from "radix-vue";\n import type { ScrollAreaRootProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n ScrollAreaRootProps & {\n /** Orientation for scrolling */\n orientation?: "vertical" | "horizontal";\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >(),\n {\n orientation: "vertical",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "relative overflow-hidden",\n });\n</script>\n',
|
|
1778
1778
|
},
|
|
1779
1779
|
{
|
|
1780
1780
|
fileName: "ScrollArea/Scrollbar.vue",
|
|
1781
1781
|
dirPath: "components/UI",
|
|
1782
1782
|
fileContent:
|
|
1783
|
-
'<template>\n <ScrollAreaScrollbar
|
|
1783
|
+
'<template>\n <ScrollAreaScrollbar v-bind="forwarded" :class="styles({ orientation, class: props.class })">\n <slot />\n <UiScrollAreaThumb />\n </ScrollAreaScrollbar>\n</template>\n\n<script lang="ts" setup>\n import { ScrollAreaScrollbar } from "radix-vue";\n import type { ScrollAreaScrollbarProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n ScrollAreaScrollbarProps & {\n /** Class to apply to the scrollbar */\n class?: any;\n }\n >(),\n {\n orientation: "vertical",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex touch-none select-none transition-colors",\n variants: {\n orientation: {\n vertical: "h-full w-2.5 border-l border-l-transparent p-[1px]",\n horizontal: "h-2.5 border-t border-t-transparent p-[1px]",\n },\n },\n });\n</script>\n',
|
|
1784
1784
|
},
|
|
1785
1785
|
{
|
|
1786
1786
|
fileName: "ScrollArea/Thumb.vue",
|
|
1787
1787
|
dirPath: "components/UI",
|
|
1788
1788
|
fileContent:
|
|
1789
|
-
'<template>\n <ScrollAreaThumb
|
|
1789
|
+
'<template>\n <ScrollAreaThumb v-bind="forwarded" :class="styles({ orientation, class: props.class })">\n <slot />\n </ScrollAreaThumb>\n</template>\n\n<script lang="ts" setup>\n import { ScrollAreaThumb } from "radix-vue";\n import type { ScrollAreaThumbProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n ScrollAreaThumbProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n orientation?: "vertical" | "horizontal";\n }\n >(),\n {\n orientation: "vertical",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "relative flex-1 rounded-full bg-border",\n variants: {\n orientation: {\n vertical: "flex-1",\n horizontal: "",\n },\n },\n });\n</script>\n',
|
|
1790
1790
|
},
|
|
1791
1791
|
{
|
|
1792
1792
|
fileName: "ScrollArea/Viewport.vue",
|
|
1793
1793
|
dirPath: "components/UI",
|
|
1794
1794
|
fileContent:
|
|
1795
|
-
'<template>\n <ScrollAreaViewport v-bind="
|
|
1795
|
+
'<template>\n <ScrollAreaViewport v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </ScrollAreaViewport>\n</template>\n\n<script lang="ts" setup>\n import { ScrollAreaViewport } from "radix-vue";\n import type { ScrollAreaViewportProps } from "radix-vue";\n\n const props = defineProps<\n ScrollAreaViewportProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "h-full w-full rounded-[inherit]",\n });\n</script>\n',
|
|
1796
1796
|
},
|
|
1797
1797
|
],
|
|
1798
1798
|
utils: [],
|
|
@@ -1825,19 +1825,19 @@ export default [
|
|
|
1825
1825
|
fileName: "Select/Icon.vue",
|
|
1826
1826
|
dirPath: "components/UI",
|
|
1827
1827
|
fileContent:
|
|
1828
|
-
'<template>\n <SelectIcon v-bind="forwarded">\n <slot>\n <Icon :class="styles({ class: props.class })" :name="icon || \'lucide:chevrons-up-down\'" />\n </slot>\n </SelectIcon>\n</template>\n\n<script lang="ts" setup>\n import { SelectIcon, useForwardProps } from "radix-vue";\n import type { SelectIconProps } from "radix-vue";\n\n const props = defineProps<\n SelectIconProps & {\n /** Icon to render */\n icon?: string;\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = useForwardProps(reactiveOmit(props, "class"));\n\n const styles = tv({\n base: "h-4 w-4 shrink-0 text-muted-foreground opacity-70",\n });\n</script>\n',
|
|
1828
|
+
'<template>\n <SelectIcon v-bind="forwarded" class="flex items-center justify-center">\n <slot>\n <Icon :class="styles({ class: props.class })" :name="icon || \'lucide:chevrons-up-down\'" />\n </slot>\n </SelectIcon>\n</template>\n\n<script lang="ts" setup>\n import { SelectIcon, useForwardProps } from "radix-vue";\n import type { SelectIconProps } from "radix-vue";\n\n const props = defineProps<\n SelectIconProps & {\n /** Icon to render */\n icon?: string;\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = useForwardProps(reactiveOmit(props, "class"));\n\n const styles = tv({\n base: "h-4 w-4 shrink-0 text-muted-foreground opacity-70",\n });\n</script>\n',
|
|
1829
1829
|
},
|
|
1830
1830
|
{
|
|
1831
1831
|
fileName: "Select/Item.vue",
|
|
1832
1832
|
dirPath: "components/UI",
|
|
1833
1833
|
fileContent:
|
|
1834
|
-
'<template>\n <SelectItem
|
|
1834
|
+
'<template>\n <SelectItem v-bind="forwarded" :class="styles({ class: props.class })">\n <span class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <UiSelectItemIndicator :icon="icon" />\n </span>\n <UiSelectItemText>\n <slot>{{ text }}</slot>\n </UiSelectItemText>\n </SelectItem>\n</template>\n\n<script lang="ts" setup>\n import { SelectItem } from "radix-vue";\n import type { SelectItemProps } from "radix-vue";\n\n const props = defineProps<\n SelectItemProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** Icon to show */\n icon?: string;\n /** Text to show */\n text?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon", "text");\n const styles = tv({\n base: "relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",\n });\n</script>\n',
|
|
1835
1835
|
},
|
|
1836
1836
|
{
|
|
1837
1837
|
fileName: "Select/ItemIndicator.vue",
|
|
1838
1838
|
dirPath: "components/UI",
|
|
1839
1839
|
fileContent:
|
|
1840
|
-
'<template>\n <SelectItemIndicator v-bind="
|
|
1840
|
+
'<template>\n <SelectItemIndicator v-bind="forwarded" class="flex items-center justify-center">\n <slot>\n <Icon :class="styles({ class: props.class })" :name="icon || \'lucide:check\'" />\n </slot>\n </SelectItemIndicator>\n</template>\n\n<script lang="ts" setup>\n import { SelectItemIndicator } from "radix-vue";\n import type { SelectItemIndicatorProps } from "radix-vue";\n\n const props = defineProps<\n SelectItemIndicatorProps & {\n /** Icon to render */\n icon?: string;\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "h-4 w-4",\n });\n</script>\n',
|
|
1841
1841
|
},
|
|
1842
1842
|
{
|
|
1843
1843
|
fileName: "Select/ItemText.vue",
|
|
@@ -1849,7 +1849,7 @@ export default [
|
|
|
1849
1849
|
fileName: "Select/Label.vue",
|
|
1850
1850
|
dirPath: "components/UI",
|
|
1851
1851
|
fileContent:
|
|
1852
|
-
'<template>\n <SelectLabel :class="styles({ class: props.class })" v-bind="
|
|
1852
|
+
'<template>\n <SelectLabel :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </SelectLabel>\n</template>\n\n<script lang="ts" setup>\n import { SelectLabel } from "radix-vue";\n import type { SelectLabelProps } from "radix-vue";\n\n const props = defineProps<\n SelectLabelProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "py-1.5 pl-8 pr-2 text-sm font-semibold",\n });\n</script>\n',
|
|
1853
1853
|
},
|
|
1854
1854
|
{
|
|
1855
1855
|
fileName: "Select/Portal.vue",
|
|
@@ -1861,13 +1861,13 @@ export default [
|
|
|
1861
1861
|
fileName: "Select/ScrollDownButton.vue",
|
|
1862
1862
|
dirPath: "components/UI",
|
|
1863
1863
|
fileContent:
|
|
1864
|
-
'<template>\n <SelectScrollDownButton v-bind="
|
|
1864
|
+
'<template>\n <SelectScrollDownButton v-bind="forwarded">\n <slot> <Icon :name="icon || \'lucide:chevron-down\'" class="h-5 w-5" /></slot>\n </SelectScrollDownButton>\n</template>\n\n<script lang="ts" setup>\n import { SelectScrollDownButton } from "radix-vue";\n import type { SelectScrollDownButtonProps } from "radix-vue";\n\n const props = defineProps<\n SelectScrollDownButtonProps & {\n /** Icon to render */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "icon");\n</script>\n',
|
|
1865
1865
|
},
|
|
1866
1866
|
{
|
|
1867
1867
|
fileName: "Select/ScrollUpButton.vue",
|
|
1868
1868
|
dirPath: "components/UI",
|
|
1869
1869
|
fileContent:
|
|
1870
|
-
'<template>\n <SelectScrollUpButton v-bind="
|
|
1870
|
+
'<template>\n <SelectScrollUpButton v-bind="forwarded">\n <slot>\n <Icon :name="icon || \'lucide:chevron-up\'" class="h-5 w-5" />\n </slot>\n </SelectScrollUpButton>\n</template>\n\n<script lang="ts" setup>\n import { SelectScrollUpButton } from "radix-vue";\n import type { SelectScrollUpButtonProps } from "radix-vue";\n\n const props = defineProps<\n SelectScrollUpButtonProps & {\n /** Icon to render */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "icon");\n</script>\n',
|
|
1871
1871
|
},
|
|
1872
1872
|
{
|
|
1873
1873
|
fileName: "Select/Select.vue",
|
|
@@ -1879,13 +1879,13 @@ export default [
|
|
|
1879
1879
|
fileName: "Select/Separator.vue",
|
|
1880
1880
|
dirPath: "components/UI",
|
|
1881
1881
|
fileContent:
|
|
1882
|
-
'<template>\n <SelectSeparator :class="styles({ class: props.class })" v-bind="
|
|
1882
|
+
'<template>\n <SelectSeparator :class="styles({ class: props.class })" v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { SelectSeparator } from "radix-vue";\n import type { SelectSeparatorProps } from "radix-vue";\n\n const props = defineProps<\n SelectSeparatorProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "-mx-1 my-1 h-px bg-muted",\n });\n</script>\n',
|
|
1883
1883
|
},
|
|
1884
1884
|
{
|
|
1885
1885
|
fileName: "Select/Trigger.vue",
|
|
1886
1886
|
dirPath: "components/UI",
|
|
1887
1887
|
fileContent:
|
|
1888
|
-
'<template>\n <SelectTrigger
|
|
1888
|
+
'<template>\n <SelectTrigger :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>\n <UiSelectValue :placeholder="placeholder" />\n </slot>\n <UiSelectIcon :icon="icon" />\n </SelectTrigger>\n</template>\n\n<script lang="ts" setup>\n import { SelectTrigger } from "radix-vue";\n import type { SelectTriggerProps } from "radix-vue";\n\n const props = defineProps<\n SelectTriggerProps & {\n /** Custom class(es) to add to the parent */\n class?: any;\n /** Icon to render */\n icon?: string;\n /** Placeholder text */\n placeholder?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon", "placeholder");\n const styles = tv({\n base: "line-clamp-1 flex h-10 w-full items-center justify-between truncate rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground",\n });\n</script>\n',
|
|
1889
1889
|
},
|
|
1890
1890
|
{
|
|
1891
1891
|
fileName: "Select/Value.vue",
|
|
@@ -1897,7 +1897,7 @@ export default [
|
|
|
1897
1897
|
fileName: "Select/Viewport.vue",
|
|
1898
1898
|
dirPath: "components/UI",
|
|
1899
1899
|
fileContent:
|
|
1900
|
-
'<template>\n <SelectViewport
|
|
1900
|
+
'<template>\n <SelectViewport :class="styles({ position, class: props.class })" v-bind="forwarded">\n <slot />\n </SelectViewport>\n</template>\n\n<script lang="ts" setup>\n import { SelectViewport } from "radix-vue";\n import type { SelectViewportProps } from "radix-vue";\n\n const props = defineProps<\n SelectViewportProps & {\n position?: "item-aligned" | "popper";\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "p-1",\n variants: {\n position: {\n popper:\n "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",\n "item-aligned": "",\n },\n },\n });\n</script>\n',
|
|
1901
1901
|
},
|
|
1902
1902
|
],
|
|
1903
1903
|
utils: [],
|
|
@@ -1912,7 +1912,7 @@ export default [
|
|
|
1912
1912
|
fileName: "Separator.vue",
|
|
1913
1913
|
dirPath: "components/UI",
|
|
1914
1914
|
fileContent:
|
|
1915
|
-
'<template>\n <Separator
|
|
1915
|
+
'<template>\n <Separator v-bind="forwarded" :class="styles({ orientation, class: props.class })" />\n</template>\n\n<script lang="ts" setup>\n import { Separator, useForwardProps } from "radix-vue";\n import type { SeparatorProps } from "radix-vue";\n\n const props = withDefaults(defineProps<SeparatorProps & { class?: any }>(), {\n orientation: "horizontal",\n });\n\n const forwarded = useForwardProps(reactiveOmit(props, "class"));\n\n const styles = tv({\n base: "shrink-0 bg-border",\n variants: {\n orientation: {\n horizontal: "h-[1px] w-full",\n vertical: "h-full w-[1px]",\n },\n },\n });\n</script>\n',
|
|
1916
1916
|
},
|
|
1917
1917
|
],
|
|
1918
1918
|
utils: [],
|
|
@@ -1939,25 +1939,25 @@ export default [
|
|
|
1939
1939
|
fileName: "Sheet/Description.vue",
|
|
1940
1940
|
dirPath: "components/UI",
|
|
1941
1941
|
fileContent:
|
|
1942
|
-
'<template>\n <DialogDescription
|
|
1942
|
+
'<template>\n <DialogDescription :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ description }}</slot>\n </DialogDescription>\n</template>\n\n<script lang="ts" setup>\n import { DialogDescription } from "radix-vue";\n import type { DialogDescriptionProps } from "radix-vue";\n\n const props = defineProps<\n DialogDescriptionProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n /** Description text */\n description?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "description");\n const styles = tv({\n base: "text-sm text-muted-foreground",\n });\n</script>\n',
|
|
1943
1943
|
},
|
|
1944
1944
|
{
|
|
1945
1945
|
fileName: "Sheet/Footer.vue",
|
|
1946
1946
|
dirPath: "components/UI",
|
|
1947
1947
|
fileContent:
|
|
1948
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
1948
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >(),\n {\n as: "div",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",\n });\n</script>\n',
|
|
1949
1949
|
},
|
|
1950
1950
|
{
|
|
1951
1951
|
fileName: "Sheet/Header.vue",
|
|
1952
1952
|
dirPath: "components/UI",
|
|
1953
1953
|
fileContent:
|
|
1954
|
-
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="
|
|
1954
|
+
'<template>\n <Primitive :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >(),\n {\n as: "div",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex flex-col space-y-2 text-center sm:text-left",\n });\n</script>\n',
|
|
1955
1955
|
},
|
|
1956
1956
|
{
|
|
1957
1957
|
fileName: "Sheet/Overlay.vue",
|
|
1958
1958
|
dirPath: "components/UI",
|
|
1959
1959
|
fileContent:
|
|
1960
|
-
'<template>\n <DialogOverlay :class="styles({ class: props.class })" v-bind="
|
|
1960
|
+
'<template>\n <DialogOverlay :class="styles({ class: props.class })" v-bind="forwarded" />\n</template>\n\n<script lang="ts" setup>\n import { DialogOverlay } from "radix-vue";\n import type { DialogOverlayProps } from "radix-vue";\n\n const props = defineProps<\n DialogOverlayProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn",\n });\n</script>\n',
|
|
1961
1961
|
},
|
|
1962
1962
|
{
|
|
1963
1963
|
fileName: "Sheet/Portal.vue",
|
|
@@ -1975,7 +1975,7 @@ export default [
|
|
|
1975
1975
|
fileName: "Sheet/Title.vue",
|
|
1976
1976
|
dirPath: "components/UI",
|
|
1977
1977
|
fileContent:
|
|
1978
|
-
'<template>\n <DialogTitle
|
|
1978
|
+
'<template>\n <DialogTitle :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ title }}</slot>\n </DialogTitle>\n</template>\n\n<script lang="ts" setup>\n import { DialogTitle } from "radix-vue";\n import type { DialogTitleProps } from "radix-vue";\n\n const props = defineProps<\n DialogTitleProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n /** Title text */\n title?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "title");\n const styles = tv({\n base: "text-lg font-semibold text-foreground",\n });\n</script>\n',
|
|
1979
1979
|
},
|
|
1980
1980
|
{
|
|
1981
1981
|
fileName: "Sheet/Trigger.vue",
|
|
@@ -1987,7 +1987,7 @@ export default [
|
|
|
1987
1987
|
fileName: "Sheet/X.vue",
|
|
1988
1988
|
dirPath: "components/UI",
|
|
1989
1989
|
fileContent:
|
|
1990
|
-
'<template>\n <DialogClose
|
|
1990
|
+
'<template>\n <DialogClose :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>\n <Icon :name="icon" class="h-4 w-4" />\n <span class="sr-only">{{ srText }}</span>\n </slot>\n </DialogClose>\n</template>\n\n<script lang="ts" setup>\n import { DialogClose } from "radix-vue";\n import type { DialogCloseProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n DialogCloseProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n /** Icon to display */\n icon?: string;\n /** Screen reader text */\n srText?: string;\n }\n >(),\n {\n icon: "heroicons:x-mark",\n srText: "Close",\n }\n );\n const forwarded = reactiveOmit(props, "class", "icon", "srText");\n const styles = tv({\n base: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",\n });\n</script>\n',
|
|
1991
1991
|
},
|
|
1992
1992
|
],
|
|
1993
1993
|
utils: [],
|
|
@@ -2002,7 +2002,7 @@ export default [
|
|
|
2002
2002
|
fileName: "Skeleton.vue",
|
|
2003
2003
|
dirPath: "components/UI",
|
|
2004
2004
|
fileContent:
|
|
2005
|
-
'<template>\n <Primitive
|
|
2005
|
+
'<template>\n <Primitive :class="styles({ loading, class: props.class })" v-bind="forwarded">\n <slot />\n </Primitive>\n</template>\n\n<script lang="ts" setup>\n import { Primitive } from "radix-vue";\n import type { PrimitiveProps } from "radix-vue";\n\n const styles = tv({\n base: "animate-pulse rounded-md bg-muted",\n variants: {\n loading: { true: "cursor-wait", false: "cursor-default" },\n },\n });\n\n const props = withDefaults(\n defineProps<\n PrimitiveProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n /** Whether the skeleton is loading */\n loading?: boolean;\n }\n >(),\n {\n as: "div",\n }\n );\n\n const forwarded = reactiveOmit(props, "class", "loading");\n</script>\n',
|
|
2006
2006
|
},
|
|
2007
2007
|
],
|
|
2008
2008
|
utils: [],
|
|
@@ -2017,7 +2017,7 @@ export default [
|
|
|
2017
2017
|
fileName: "Slider/Range.vue",
|
|
2018
2018
|
dirPath: "components/UI",
|
|
2019
2019
|
fileContent:
|
|
2020
|
-
'<template>\n <SliderRange :class="styles({ class: props.class })" v-bind="
|
|
2020
|
+
'<template>\n <SliderRange :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </SliderRange>\n</template>\n\n<script lang="ts" setup>\n import { SliderRange } from "radix-vue";\n import type { SliderRangeProps } from "radix-vue";\n\n const props = defineProps<\n SliderRangeProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "absolute h-full bg-primary",\n });\n</script>\n',
|
|
2021
2021
|
},
|
|
2022
2022
|
{
|
|
2023
2023
|
fileName: "Slider/Slider.vue",
|
|
@@ -2029,13 +2029,13 @@ export default [
|
|
|
2029
2029
|
fileName: "Slider/Thumb.vue",
|
|
2030
2030
|
dirPath: "components/UI",
|
|
2031
2031
|
fileContent:
|
|
2032
|
-
'<template>\n <SliderThumb :class="styles({ class: props.class })" v-bind="
|
|
2032
|
+
'<template>\n <SliderThumb :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </SliderThumb>\n</template>\n\n<script lang="ts" setup>\n import { SliderThumb } from "radix-vue";\n import type { SliderThumbProps } from "radix-vue";\n\n const props = defineProps<\n SliderThumbProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",\n });\n</script>\n',
|
|
2033
2033
|
},
|
|
2034
2034
|
{
|
|
2035
2035
|
fileName: "Slider/Track.vue",
|
|
2036
2036
|
dirPath: "components/UI",
|
|
2037
2037
|
fileContent:
|
|
2038
|
-
'<template>\n <SliderTrack :class="styles({ class: props.class })" v-bind="
|
|
2038
|
+
'<template>\n <SliderTrack :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </SliderTrack>\n</template>\n\n<script lang="ts" setup>\n import { SliderTrack } from "radix-vue";\n import type { SliderTrackProps } from "radix-vue";\n\n const props = defineProps<\n SliderTrackProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",\n });\n</script>\n',
|
|
2039
2039
|
},
|
|
2040
2040
|
],
|
|
2041
2041
|
utils: [],
|
|
@@ -2134,7 +2134,7 @@ export default [
|
|
|
2134
2134
|
fileName: "Switch/Thumb.vue",
|
|
2135
2135
|
dirPath: "components/UI",
|
|
2136
2136
|
fileContent:
|
|
2137
|
-
'<template>\n <SwitchThumb :class="styles({ class: props.class })" v-bind="
|
|
2137
|
+
'<template>\n <SwitchThumb :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </SwitchThumb>\n</template>\n\n<script lang="ts" setup>\n import { SwitchThumb } from "radix-vue";\n import type { SwitchThumbProps } from "radix-vue";\n\n const props = defineProps<\n SwitchThumbProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",\n });\n</script>\n',
|
|
2138
2138
|
},
|
|
2139
2139
|
],
|
|
2140
2140
|
utils: [],
|
|
@@ -2212,19 +2212,19 @@ export default [
|
|
|
2212
2212
|
fileName: "Tabs/Content.vue",
|
|
2213
2213
|
dirPath: "components/UI",
|
|
2214
2214
|
fileContent:
|
|
2215
|
-
'<template>\n <TabsContent v-bind="
|
|
2215
|
+
'<template>\n <TabsContent v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </TabsContent>\n</template>\n\n<script lang="ts" setup>\n import { TabsContent } from "radix-vue";\n import type { TabsContentProps } from "radix-vue";\n\n const props = defineProps<\n TabsContentProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",\n });\n</script>\n',
|
|
2216
2216
|
},
|
|
2217
2217
|
{
|
|
2218
2218
|
fileName: "Tabs/Indicator.vue",
|
|
2219
2219
|
dirPath: "components/UI",
|
|
2220
2220
|
fileContent:
|
|
2221
|
-
'<template>\n <ClientOnly>\n <TabsIndicator
|
|
2221
|
+
'<template>\n <ClientOnly>\n <TabsIndicator v-bind="{ ...forwarded, ...$attrs }" :class="styles({ class: props.class })">\n <slot>\n <div class="h-full w-full rounded-md bg-primary" />\n </slot>\n </TabsIndicator>\n </ClientOnly>\n</template>\n\n<script lang="ts" setup>\n import { TabsIndicator } from "radix-vue";\n import type { TabsIndicatorProps } from "radix-vue";\n\n defineOptions({ inheritAttrs: false });\n\n const props = defineProps<\n TabsIndicatorProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "absolute bottom-0 left-0 h-[3px] w-[--radix-tabs-indicator-size] translate-x-[--radix-tabs-indicator-position] rounded-full px-1 transition-[width,transform] duration-300",\n });\n</script>\n',
|
|
2222
2222
|
},
|
|
2223
2223
|
{
|
|
2224
2224
|
fileName: "Tabs/List.vue",
|
|
2225
2225
|
dirPath: "components/UI",
|
|
2226
2226
|
fileContent:
|
|
2227
|
-
'<template>\n <TabsList :class="styles({ pill, class: props.class })" v-bind="
|
|
2227
|
+
'<template>\n <TabsList :class="styles({ pill, class: props.class })" v-bind="forwarded">\n <slot />\n </TabsList>\n</template>\n\n<script lang="ts" setup>\n import { TabsList } from "radix-vue";\n import type { TabsListProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n TabsListProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n pill?: boolean;\n }\n >(),\n { pill: true }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "inline-flex h-10 items-center justify-center rounded-md p-1 text-muted-foreground",\n variants: {\n pill: {\n true: "bg-muted",\n false: "",\n },\n },\n });\n</script>\n',
|
|
2228
2228
|
},
|
|
2229
2229
|
{
|
|
2230
2230
|
fileName: "Tabs/Tabs.vue",
|
|
@@ -2236,7 +2236,7 @@ export default [
|
|
|
2236
2236
|
fileName: "Tabs/Trigger.vue",
|
|
2237
2237
|
dirPath: "components/UI",
|
|
2238
2238
|
fileContent:
|
|
2239
|
-
'<template>\n <TabsTrigger v-bind="
|
|
2239
|
+
'<template>\n <TabsTrigger v-bind="forwarded" :class="styles({ pill, class: props.class })">\n <slot />\n </TabsTrigger>\n</template>\n\n<script lang="ts" setup>\n import { TabsTrigger } from "radix-vue";\n import type { TabsTriggerProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n TabsTriggerProps & {\n /** Custom class(es) to add to parent element */\n class?: any;\n /** Whether the trigger should be pill-shaped */\n pill?: boolean;\n }\n >(),\n {\n pill: true,\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",\n variants: {\n pill: {\n true: "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",\n false:\n "data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:shadow-none",\n },\n },\n });\n</script>\n',
|
|
2240
2240
|
},
|
|
2241
2241
|
],
|
|
2242
2242
|
utils: [],
|
|
@@ -2257,25 +2257,25 @@ export default [
|
|
|
2257
2257
|
fileName: "TagsInput/Field.vue",
|
|
2258
2258
|
dirPath: "components/UI",
|
|
2259
2259
|
fileContent:
|
|
2260
|
-
'<template>\n <TagsInputInput v-bind="
|
|
2260
|
+
'<template>\n <TagsInputInput v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </TagsInputInput>\n</template>\n\n<script lang="ts" setup>\n import { TagsInputInput } from "radix-vue";\n import type { TagsInputInputProps } from "radix-vue";\n\n const props = defineProps<TagsInputInputProps & { class?: any }>();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "flex-1 bg-transparent focus:outline-none sm:text-sm",\n });\n</script>\n',
|
|
2261
2261
|
},
|
|
2262
2262
|
{
|
|
2263
2263
|
fileName: "TagsInput/Item.vue",
|
|
2264
2264
|
dirPath: "components/UI",
|
|
2265
2265
|
fileContent:
|
|
2266
|
-
'<template>\n <TagsInputItem
|
|
2266
|
+
'<template>\n <TagsInputItem v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <slot name="text">\n <UiTagsInputItemText />\n </slot>\n <slot name="delete">\n <UiTagsInputItemDelete :icon="icon" />\n </slot>\n </slot>\n </TagsInputItem>\n</template>\n\n<script lang="ts" setup>\n import { TagsInputItem } from "radix-vue";\n import type { TagsInputItemProps } from "radix-vue";\n\n const props = defineProps<TagsInputItemProps & { class?: any; icon?: string }>();\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "inline-flex h-6 shrink-0 items-center gap-1.5 rounded bg-primary pl-2 pr-1 leading-none text-primary-foreground sm:text-sm",\n });\n</script>\n',
|
|
2267
2267
|
},
|
|
2268
2268
|
{
|
|
2269
2269
|
fileName: "TagsInput/ItemDelete.vue",
|
|
2270
2270
|
dirPath: "components/UI",
|
|
2271
2271
|
fileContent:
|
|
2272
|
-
'<template>\n <TagsInputItemDelete
|
|
2272
|
+
'<template>\n <TagsInputItemDelete v-bind="forwarded" :class="styles({ class: props.class })">\n <slot>\n <Icon v-if="icon" :name="icon" class="h-3.5 w-3.5" />\n </slot>\n </TagsInputItemDelete>\n</template>\n\n<script lang="ts" setup>\n import { TagsInputItemDelete } from "radix-vue";\n import type { TagsInputItemDeleteProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<TagsInputItemDeleteProps & { icon?: string; class?: any }>(),\n {\n icon: "lucide:x",\n }\n );\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "flex items-center justify-center rounded bg-transparent opacity-40 transition hover:bg-muted-foreground hover:opacity-100 focus:opacity-100 focus-visible:outline-none",\n });\n</script>\n',
|
|
2273
2273
|
},
|
|
2274
2274
|
{
|
|
2275
2275
|
fileName: "TagsInput/ItemText.vue",
|
|
2276
2276
|
dirPath: "components/UI",
|
|
2277
2277
|
fileContent:
|
|
2278
|
-
'<template>\n <TagsInputItemText v-bind="
|
|
2278
|
+
'<template>\n <TagsInputItemText v-bind="forwarded" :class="styles({ class: props.class })">\n <slot />\n </TagsInputItemText>\n</template>\n\n<script lang="ts" setup>\n import { TagsInputItemText } from "radix-vue";\n import type { TagsInputItemTextProps } from "radix-vue";\n\n const props = defineProps<TagsInputItemTextProps & { class?: any }>();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "leading-none sm:text-sm",\n });\n</script>\n',
|
|
2279
2279
|
},
|
|
2280
2280
|
{
|
|
2281
2281
|
fileName: "TagsInput/TagsInput.vue",
|
|
@@ -2338,19 +2338,19 @@ export default [
|
|
|
2338
2338
|
fileName: "Toast/Action.vue",
|
|
2339
2339
|
dirPath: "components/UI",
|
|
2340
2340
|
fileContent:
|
|
2341
|
-
'<template>\n <ToastAction :class="styles({ class: props.class })" v-bind="
|
|
2341
|
+
'<template>\n <ToastAction :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </ToastAction>\n</template>\n\n<script lang="ts" setup>\n import { ToastAction } from "radix-vue";\n import type { ToastActionProps } from "radix-vue";\n\n const props = withDefaults(\n defineProps<\n ToastActionProps & {\n /**\n * Custom class names to add to the button.\n */\n class?: any;\n }\n >(),\n {\n altText: "Action button",\n }\n );\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",\n });\n</script>\n',
|
|
2342
2342
|
},
|
|
2343
2343
|
{
|
|
2344
2344
|
fileName: "Toast/Close.vue",
|
|
2345
2345
|
dirPath: "components/UI",
|
|
2346
2346
|
fileContent:
|
|
2347
|
-
'<template>\n <ToastClose :class="styles({ class: props.class })" v-bind="
|
|
2347
|
+
'<template>\n <ToastClose :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>\n <Icon :name="icon || \'lucide:x\'" class="h-4 w-4" />\n </slot>\n </ToastClose>\n</template>\n\n<script lang="ts" setup>\n import { ToastClose } from "radix-vue";\n import type { ToastCloseProps } from "radix-vue";\n\n const props = defineProps<\n ToastCloseProps & {\n /**\n * Custom class names to add to the button.\n */\n class?: any;\n /**\n * The icon to render.\n */\n icon?: string;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "icon");\n const styles = tv({\n base: "absolute right-2 top-2 inline-flex items-center justify-center rounded-md p-1 text-foreground/50 opacity-50 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 focus-visible:ring-ring group-hover:opacity-100",\n });\n</script>\n',
|
|
2348
2348
|
},
|
|
2349
2349
|
{
|
|
2350
2350
|
fileName: "Toast/Description.vue",
|
|
2351
2351
|
dirPath: "components/UI",
|
|
2352
2352
|
fileContent:
|
|
2353
|
-
'<template>\n <ToastDescription
|
|
2353
|
+
'<template>\n <ToastDescription :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ description }}</slot>\n </ToastDescription>\n</template>\n\n<script lang="ts" setup>\n import { ToastDescription } from "radix-vue";\n import type { ToastDescriptionProps } from "radix-vue";\n\n const props = defineProps<\n ToastDescriptionProps & {\n /** The description text to render */\n description?: string;\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "description");\n const styles = tv({\n base: "text-sm opacity-90",\n });\n</script>\n',
|
|
2354
2354
|
},
|
|
2355
2355
|
{
|
|
2356
2356
|
fileName: "Toast/Provider.vue",
|
|
@@ -2362,7 +2362,7 @@ export default [
|
|
|
2362
2362
|
fileName: "Toast/Title.vue",
|
|
2363
2363
|
dirPath: "components/UI",
|
|
2364
2364
|
fileContent:
|
|
2365
|
-
'<template>\n <ToastTitle
|
|
2365
|
+
'<template>\n <ToastTitle :class="styles({ class: props.class })" v-bind="forwarded">\n <slot>{{ title }}</slot>\n </ToastTitle>\n</template>\n\n<script lang="ts" setup>\n import { ToastTitle } from "radix-vue";\n import type { ToastTitleProps } from "radix-vue";\n\n const props = defineProps<\n ToastTitleProps & {\n /** The title text to render */\n title?: string;\n /** Custom class(es) to add to the parent */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class", "title");\n const styles = tv({\n base: "text-sm font-semibold",\n });\n</script>\n',
|
|
2366
2366
|
},
|
|
2367
2367
|
{
|
|
2368
2368
|
fileName: "Toast/Toast.vue",
|
|
@@ -2380,7 +2380,7 @@ export default [
|
|
|
2380
2380
|
fileName: "Toast/Viewport.vue",
|
|
2381
2381
|
dirPath: "components/UI",
|
|
2382
2382
|
fileContent:
|
|
2383
|
-
'<template>\n <ToastViewport :class="styles({ class: props.class })" v-bind="
|
|
2383
|
+
'<template>\n <ToastViewport :class="styles({ class: props.class })" v-bind="forwarded">\n <slot />\n </ToastViewport>\n</template>\n\n<script lang="ts" setup>\n import { ToastViewport } from "radix-vue";\n import type { ToastViewportProps } from "radix-vue";\n\n const props = defineProps<\n ToastViewportProps & {\n /**\n * Custom class names to add to the button.\n */\n class?: any;\n }\n >();\n const forwarded = reactiveOmit(props, "class");\n const styles = tv({\n base: "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse gap-2 p-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:bottom-auto sm:right-0 sm:flex-col md:max-w-[420px]",\n });\n</script>\n\n<style>\n [aria-label~="Notifications"] {\n display: grid;\n }\n</style>\n',
|
|
2384
2384
|
},
|
|
2385
2385
|
],
|
|
2386
2386
|
utils: [],
|
|
@@ -2475,7 +2475,7 @@ export default [
|
|
|
2475
2475
|
fileName: "Tree/Item.vue",
|
|
2476
2476
|
dirPath: "components/UI",
|
|
2477
2477
|
fileContent:
|
|
2478
|
-
'<template>\n <TreeItem v-slot="slotProps" v-bind="forwarded">\n <slot v-bind="slotProps" />\n </TreeItem>\n</template>\n\n<script lang="ts" setup generic="T extends Record<string, any>">\n import { TreeItem, useForwardPropsEmits } from "radix-vue";\n import type { TreeItemProps } from "radix-vue";\n\n
|
|
2478
|
+
'<template>\n <TreeItem v-slot="slotProps" v-bind="forwarded">\n <slot v-bind="slotProps" />\n </TreeItem>\n</template>\n\n<script lang="ts" setup generic="T extends Record<string, any>">\n import { TreeItem, useForwardPropsEmits } from "radix-vue";\n import type { TreeItemEmits, TreeItemProps } from "radix-vue";\n\n const props = defineProps<TreeItemProps<T>>();\n const emit = defineEmits<TreeItemEmits<T>>();\n\n const forwarded = useForwardPropsEmits(props, emit);\n</script>\n',
|
|
2479
2479
|
},
|
|
2480
2480
|
{
|
|
2481
2481
|
fileName: "Tree/Tree.vue",
|
|
@@ -2487,7 +2487,7 @@ export default [
|
|
|
2487
2487
|
fileName: "Tree/Virtualizer.vue",
|
|
2488
2488
|
dirPath: "components/UI",
|
|
2489
2489
|
fileContent:
|
|
2490
|
-
'<template>\n <TreeVirtualizer v-slot="slotProps" v-bind="forwarded">\n <slot v-bind="slotProps" />\n </TreeVirtualizer>\n</template>\n\n<script lang="ts" setup>\n import { TreeVirtualizer, useForwardPropsEmits } from "radix-vue";\n import type { TreeVirtualizerProps } from "radix-vue";\n\n const props = defineProps<TreeVirtualizerProps>();\n
|
|
2490
|
+
'<template>\n <TreeVirtualizer v-slot="slotProps" v-bind="forwarded">\n <slot v-bind="slotProps" />\n </TreeVirtualizer>\n</template>\n\n<script lang="ts" setup>\n import { TreeVirtualizer, useForwardPropsEmits } from "radix-vue";\n import type { TreeVirtualizerProps } from "radix-vue";\n\n const props = defineProps<TreeVirtualizerProps>();\n const forwarded = useForwardPropsEmits(props);\n</script>\n',
|
|
2491
2491
|
},
|
|
2492
2492
|
],
|
|
2493
2493
|
utils: [],
|
|
@@ -2658,7 +2658,7 @@ export default [
|
|
|
2658
2658
|
fileName: "Vee/PinInput.vue",
|
|
2659
2659
|
dirPath: "components/UI",
|
|
2660
2660
|
fileContent:
|
|
2661
|
-
'<template>\n <div class="w-full">\n <UiLabel\n v-if="label"\n :for="inputId"\n :class="[disabled && \'text-muted-foreground\', errorMessage && \'text-destructive\', \'mb-2\']"\n ><span>{{ label }} <span v-if="required" class="text-destructive">*</span></span></UiLabel\n >\n <div class="relative">\n <UiPinInput\n :id="inputId"\n v-bind="{
|
|
2661
|
+
'<template>\n <div class="w-full">\n <UiLabel\n v-if="label"\n :for="inputId"\n :class="[disabled && \'text-muted-foreground\', errorMessage && \'text-destructive\', \'mb-2\']"\n ><span>{{ label }} <span v-if="required" class="text-destructive">*</span></span></UiLabel\n >\n <div class="relative">\n <UiPinInput\n :id="inputId"\n v-bind="{ ...$attrs, ...forwarded }"\n v-model="value"\n @complete="emits(\'complete\', $event)"\n />\n </div>\n <TransitionSlide group tag="div">\n <p v-if="hint && !errorMessage" key="hint" class="mt-1.5 text-sm text-muted-foreground">\n {{ hint }}\n </p>\n <p v-if="errorMessage" key="errorMessage" class="mt-1.5 text-sm text-destructive">\n {{ errorMessage }}\n </p>\n </TransitionSlide>\n </div>\n</template>\n\n<script lang="ts" setup>\n import type { PinInputRootProps } from "radix-vue";\n\n const props = defineProps<\n Omit<PinInputRootProps, "as" | "asChild"> & {\n label?: string;\n hint?: string;\n id?: string;\n rules?: any;\n validateOnMount?: boolean;\n separator?: string;\n inputCount?: number;\n }\n >();\n\n const emits = defineEmits<{\n complete: [value: string[]];\n }>();\n\n const forwarded = reactiveOmit(\n props,\n "label",\n "hint",\n "id",\n "rules",\n "validateOnMount",\n "modelValue"\n );\n const inputId = props.id || useId();\n\n const { errorMessage, value } = useField(() => props.name || inputId, props.rules, {\n initialValue: props.modelValue || [],\n label: props.label,\n validateOnMount: props.validateOnMount,\n syncVModel: true,\n });\n</script>\n',
|
|
2662
2662
|
},
|
|
2663
2663
|
],
|
|
2664
2664
|
utils: [],
|