betterstart-cli 0.0.22 → 0.0.23
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/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-branding-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/snippets-tab.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-current-row.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-drawer.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog-content.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-gallery-dialog.tsx +62 -64
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-url-importer.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/data/navigation.ts +1 -3
- package/dist/assets/adapters/next/templates/init/lib/actions/auth/auth.ts +8 -0
- package/dist/assets/adapters/next/templates/init/lib/actions/profile/change-own-password.ts +59 -0
- package/dist/assets/adapters/next/templates/init/lib/actions/profile/index.ts +6 -1
- package/dist/assets/adapters/next/templates/init/lib/actions/profile/types.ts +10 -0
- package/dist/assets/adapters/next/templates/init/lib/actions/users/change-user-password.ts +77 -0
- package/dist/assets/adapters/next/templates/init/lib/actions/users/index.ts +3 -0
- package/dist/assets/adapters/next/templates/init/lib/actions/users/types.ts +10 -0
- package/dist/assets/adapters/next/templates/init/lib/db/core/schema.ts +4 -0
- package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/login-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/media/media-page-content.tsx +13 -18
- package/dist/assets/adapters/next/templates/init/pages/profile/profile-form.tsx +133 -1
- package/dist/assets/adapters/next/templates/init/pages/reset-password-page-skeleton.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/users/change-password-dialog.tsx +229 -0
- package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +22 -14
- package/dist/assets/adapters/next/templates/init/pages/users/create-user-dialog.tsx +99 -93
- package/dist/assets/adapters/next/templates/init/pages/users/delete-user-dialog.tsx +17 -25
- package/dist/assets/adapters/next/templates/init/pages/users/users-table.tsx +5 -4
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-bubble-menu.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/remove-table-part-icon.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/table-bubble-menu.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-button.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover-content.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/highlight-color-button.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/source-color-highlight-popover.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/date-range-picker.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/media-field-empty-state.tsx +19 -12
- package/dist/assets/shared-assets/react-admin/custom/media-field.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/nested-object-list-field.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/placeholder-card.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/placeholder.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +15 -4
- package/dist/assets/shared-assets/react-admin/ui/alert.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/badge.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/button.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/card.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/chart.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/command.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +29 -6
- package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/empty.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/field.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +5 -6
- package/dist/assets/shared-assets/react-admin/ui/input-otp.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/input.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/item.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +8 -8
- package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/popover.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/progress.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/radio-group.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/resizable.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/scroll-area.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/select.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +10 -10
- package/dist/assets/shared-assets/react-admin/ui/skeleton.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/slider.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/switch.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/tabs.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/textarea.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/toggle-group.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/toggle.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/tooltip.tsx +1 -1
- package/dist/cli.js +5372 -4243
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ function Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPri
|
|
|
9
9
|
return (
|
|
10
10
|
<MenubarPrimitive.Root
|
|
11
11
|
data-slot="menubar"
|
|
12
|
-
className={cn('flex h-9 items-center rounded-
|
|
12
|
+
className={cn('flex h-9 items-center rounded-sm border p-1', className)}
|
|
13
13
|
{...props}
|
|
14
14
|
/>
|
|
15
15
|
)
|
|
@@ -39,7 +39,7 @@ function MenubarTrigger({
|
|
|
39
39
|
<MenubarPrimitive.Trigger
|
|
40
40
|
data-slot="menubar-trigger"
|
|
41
41
|
className={cn(
|
|
42
|
-
'flex items-center rounded-
|
|
42
|
+
'flex items-center rounded-sm px-2 py-0.75 text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted',
|
|
43
43
|
className
|
|
44
44
|
)}
|
|
45
45
|
{...props}
|
|
@@ -62,7 +62,7 @@ function MenubarContent({
|
|
|
62
62
|
alignOffset={alignOffset}
|
|
63
63
|
sideOffset={sideOffset}
|
|
64
64
|
className={cn(
|
|
65
|
-
'z-50 min-w-48 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-
|
|
65
|
+
'z-50 min-w-48 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm p-1 text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',
|
|
66
66
|
className
|
|
67
67
|
)}
|
|
68
68
|
{...props}
|
|
@@ -86,7 +86,7 @@ function MenubarItem({
|
|
|
86
86
|
data-inset={inset}
|
|
87
87
|
data-variant={variant}
|
|
88
88
|
className={cn(
|
|
89
|
-
"group/menubar-item relative flex cursor-default items-center gap-2.5 rounded-
|
|
89
|
+
"group/menubar-item relative flex cursor-default items-center gap-2.5 rounded-sm px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-foreground!",
|
|
90
90
|
className
|
|
91
91
|
)}
|
|
92
92
|
{...props}
|
|
@@ -108,7 +108,7 @@ function MenubarCheckboxItem({
|
|
|
108
108
|
data-slot="menubar-checkbox-item"
|
|
109
109
|
data-inset={inset}
|
|
110
110
|
className={cn(
|
|
111
|
-
'relative flex cursor-default items-center gap-2.5 rounded-
|
|
111
|
+
'relative flex cursor-default items-center gap-2.5 rounded-sm py-2 pr-3 pl-9.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0',
|
|
112
112
|
className
|
|
113
113
|
)}
|
|
114
114
|
checked={checked}
|
|
@@ -137,7 +137,7 @@ function MenubarRadioItem({
|
|
|
137
137
|
data-slot="menubar-radio-item"
|
|
138
138
|
data-inset={inset}
|
|
139
139
|
className={cn(
|
|
140
|
-
"relative flex cursor-default items-center gap-2.5 rounded-
|
|
140
|
+
"relative flex cursor-default items-center gap-2.5 rounded-sm py-2 pr-3 pl-9.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
141
141
|
className
|
|
142
142
|
)}
|
|
143
143
|
{...props}
|
|
@@ -212,7 +212,7 @@ function MenubarSubTrigger({
|
|
|
212
212
|
data-slot="menubar-sub-trigger"
|
|
213
213
|
data-inset={inset}
|
|
214
214
|
className={cn(
|
|
215
|
-
"flex cursor-default items-center gap-2 rounded-
|
|
215
|
+
"flex cursor-default items-center gap-2 rounded-sm px-3 py-2 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4",
|
|
216
216
|
className
|
|
217
217
|
)}
|
|
218
218
|
{...props}
|
|
@@ -231,7 +231,7 @@ function MenubarSubContent({
|
|
|
231
231
|
<MenubarPrimitive.SubContent
|
|
232
232
|
data-slot="menubar-sub-content"
|
|
233
233
|
className={cn(
|
|
234
|
-
'z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-
|
|
234
|
+
'z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm p-1 text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',
|
|
235
235
|
className
|
|
236
236
|
)}
|
|
237
237
|
{...props}
|
|
@@ -19,7 +19,7 @@ function NativeSelect({ className, size = 'default', ...props }: NativeSelectPro
|
|
|
19
19
|
<select
|
|
20
20
|
data-slot="native-select"
|
|
21
21
|
data-size={size}
|
|
22
|
-
className="h-9 w-full min-w-0 appearance-none rounded-
|
|
22
|
+
className="h-9 w-full min-w-0 appearance-none rounded-sm border border-input bg-input/30 py-1 pr-8 pl-3 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 data-[size=sm]:h-8 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"
|
|
23
23
|
{...props}
|
|
24
24
|
/>
|
|
25
25
|
<ChevronDownIcon
|
|
@@ -55,7 +55,7 @@ function NavigationMenuItem({
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
const navigationMenuTriggerStyle = cva(
|
|
58
|
-
'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-
|
|
58
|
+
'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-sm px-4.5 py-2.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted'
|
|
59
59
|
)
|
|
60
60
|
|
|
61
61
|
function NavigationMenuTrigger({
|
|
@@ -86,7 +86,7 @@ function NavigationMenuContent({
|
|
|
86
86
|
<NavigationMenuPrimitive.Content
|
|
87
87
|
data-slot="navigation-menu-content"
|
|
88
88
|
className={cn(
|
|
89
|
-
'top-0 left-0 isolate z-50 w-full p-2.5 pr-3 ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-
|
|
89
|
+
'top-0 left-0 isolate z-50 w-full p-2.5 pr-3 ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-sm group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow-2xl group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/5 group-data-[viewport=false]/navigation-menu:duration-300 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none md:absolute md:w-auto group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95',
|
|
90
90
|
className
|
|
91
91
|
)}
|
|
92
92
|
{...props}
|
|
@@ -103,7 +103,7 @@ function NavigationMenuViewport({
|
|
|
103
103
|
<NavigationMenuPrimitive.Viewport
|
|
104
104
|
data-slot="navigation-menu-viewport"
|
|
105
105
|
className={cn(
|
|
106
|
-
'origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-
|
|
106
|
+
'origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-sm bg-popover text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 md:w-(--radix-navigation-menu-viewport-width) data-open:animate-in data-open:zoom-in-90 data-closed:animate-out data-closed:zoom-out-90',
|
|
107
107
|
className
|
|
108
108
|
)}
|
|
109
109
|
{...props}
|
|
@@ -120,7 +120,7 @@ function NavigationMenuLink({
|
|
|
120
120
|
<NavigationMenuPrimitive.Link
|
|
121
121
|
data-slot="navigation-menu-link"
|
|
122
122
|
className={cn(
|
|
123
|
-
"flex items-center gap-1.5 rounded-
|
|
123
|
+
"flex items-center gap-1.5 rounded-sm p-3 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-sm data-[active=true]:bg-muted/50 data-[active=true]:hover:bg-muted data-[active=true]:focus:bg-muted [&_svg:not([class*='size-'])]:size-4",
|
|
124
124
|
className
|
|
125
125
|
)}
|
|
126
126
|
{...props}
|
|
@@ -25,7 +25,7 @@ function PopoverContent({
|
|
|
25
25
|
align={align}
|
|
26
26
|
sideOffset={sideOffset}
|
|
27
27
|
className={cn(
|
|
28
|
-
'z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-4 rounded-
|
|
28
|
+
'z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-4 rounded-sm bg-popover p-4 text-sm text-popover-foreground shadow-2xl ring-1 ring-foreground/5 outline-hidden duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',
|
|
29
29
|
className
|
|
30
30
|
)}
|
|
31
31
|
{...props}
|
|
@@ -13,7 +13,7 @@ function Progress({
|
|
|
13
13
|
<ProgressPrimitive.Root
|
|
14
14
|
data-slot="progress"
|
|
15
15
|
className={cn(
|
|
16
|
-
'relative flex h-3 w-full items-center overflow-x-hidden rounded-
|
|
16
|
+
'relative flex h-3 w-full items-center overflow-x-hidden rounded-sm bg-muted',
|
|
17
17
|
className
|
|
18
18
|
)}
|
|
19
19
|
{...props}
|
|
@@ -25,7 +25,7 @@ function RadioGroupItem({
|
|
|
25
25
|
<RadioGroupPrimitive.Item
|
|
26
26
|
data-slot="radio-group-item"
|
|
27
27
|
className={cn(
|
|
28
|
-
'group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-
|
|
28
|
+
'group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-sm border border-input outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary',
|
|
29
29
|
className
|
|
30
30
|
)}
|
|
31
31
|
{...props}
|
|
@@ -34,7 +34,7 @@ function RadioGroupItem({
|
|
|
34
34
|
data-slot="radio-group-indicator"
|
|
35
35
|
className="flex size-4 items-center justify-center"
|
|
36
36
|
>
|
|
37
|
-
<span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-
|
|
37
|
+
<span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-sm bg-primary-foreground" />
|
|
38
38
|
</RadioGroupPrimitive.Indicator>
|
|
39
39
|
</RadioGroupPrimitive.Item>
|
|
40
40
|
)
|
|
@@ -33,7 +33,7 @@ function ResizableHandle({
|
|
|
33
33
|
)}
|
|
34
34
|
{...props}
|
|
35
35
|
>
|
|
36
|
-
{withHandle && <div className="z-10 flex h-6 w-1 shrink-0 rounded-
|
|
36
|
+
{withHandle && <div className="z-10 flex h-6 w-1 shrink-0 rounded-sm bg-border" />}
|
|
37
37
|
</ResizablePrimitive.Separator>
|
|
38
38
|
)
|
|
39
39
|
}
|
|
@@ -45,7 +45,7 @@ function ScrollBar({
|
|
|
45
45
|
>
|
|
46
46
|
<ScrollAreaPrimitive.ScrollAreaThumb
|
|
47
47
|
data-slot="scroll-area-thumb"
|
|
48
|
-
className="relative flex-1 rounded-
|
|
48
|
+
className="relative flex-1 rounded-sm bg-border"
|
|
49
49
|
/>
|
|
50
50
|
</ScrollAreaPrimitive.ScrollAreaScrollbar>
|
|
51
51
|
)
|
|
@@ -36,7 +36,7 @@ function SelectTrigger({
|
|
|
36
36
|
data-slot="select-trigger"
|
|
37
37
|
data-size={size}
|
|
38
38
|
className={cn(
|
|
39
|
-
"flex w-fit items-center border-border justify-between gap-1.5 rounded-
|
|
39
|
+
"flex w-fit items-center border-border justify-between gap-1.5 rounded-sm border bg-input px-3 py-2 text-sm whitespace-nowrap transition-colors outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
40
40
|
className
|
|
41
41
|
)}
|
|
42
42
|
{...props}
|
|
@@ -62,7 +62,7 @@ function SelectContent({
|
|
|
62
62
|
data-slot="select-content"
|
|
63
63
|
data-align-trigger={position === 'item-aligned'}
|
|
64
64
|
className={cn(
|
|
65
|
-
'z-50 p-1 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-
|
|
65
|
+
'z-50 p-1 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',
|
|
66
66
|
position === 'popper' &&
|
|
67
67
|
'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
|
|
68
68
|
className
|
|
@@ -105,7 +105,7 @@ function SelectItem({
|
|
|
105
105
|
<SelectPrimitive.Item
|
|
106
106
|
data-slot="select-item"
|
|
107
107
|
className={cn(
|
|
108
|
-
"relative flex w-full cursor-default items-center gap-2.5 rounded-
|
|
108
|
+
"relative flex w-full cursor-default items-center gap-2.5 rounded-sm py-1 pr-8 pl-3 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
109
109
|
className
|
|
110
110
|
)}
|
|
111
111
|
{...props}
|
|
@@ -249,7 +249,7 @@ function Sidebar({
|
|
|
249
249
|
<div
|
|
250
250
|
data-sidebar="sidebar"
|
|
251
251
|
data-slot="sidebar-inner"
|
|
252
|
-
className="flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-
|
|
252
|
+
className="flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-sm group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border"
|
|
253
253
|
>
|
|
254
254
|
{children}
|
|
255
255
|
</div>
|
|
@@ -310,7 +310,7 @@ function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {
|
|
|
310
310
|
<main
|
|
311
311
|
data-slot="sidebar-inset"
|
|
312
312
|
className={cn(
|
|
313
|
-
'relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-
|
|
313
|
+
'relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-sm md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',
|
|
314
314
|
className
|
|
315
315
|
)}
|
|
316
316
|
{...props}
|
|
@@ -399,7 +399,7 @@ function SidebarGroupLabel({
|
|
|
399
399
|
data-slot="sidebar-group-label"
|
|
400
400
|
data-sidebar="group-label"
|
|
401
401
|
className={cn(
|
|
402
|
-
'flex mb-1 shrink-0 items-center rounded-
|
|
402
|
+
'flex mb-1 shrink-0 items-center rounded-sm px-3 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
403
403
|
className
|
|
404
404
|
)}
|
|
405
405
|
{...props}
|
|
@@ -419,7 +419,7 @@ function SidebarGroupAction({
|
|
|
419
419
|
data-slot="sidebar-group-action"
|
|
420
420
|
data-sidebar="group-action"
|
|
421
421
|
className={cn(
|
|
422
|
-
'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-
|
|
422
|
+
'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-sm p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0',
|
|
423
423
|
className
|
|
424
424
|
)}
|
|
425
425
|
{...props}
|
|
@@ -461,7 +461,7 @@ function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {
|
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
const sidebarMenuButtonVariants = cva(
|
|
464
|
-
'peer/menu-button group/menu-button font-medium flex w-full items-center gap-2 overflow-hidden rounded-
|
|
464
|
+
'peer/menu-button group/menu-button font-medium flex w-full items-center gap-2 overflow-hidden rounded-[6px] px-3 py-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground text-sidebar-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate',
|
|
465
465
|
{
|
|
466
466
|
variants: {
|
|
467
467
|
variant: {
|
|
@@ -548,7 +548,7 @@ function SidebarMenuAction({
|
|
|
548
548
|
data-slot="sidebar-menu-action"
|
|
549
549
|
data-sidebar="menu-action"
|
|
550
550
|
className={cn(
|
|
551
|
-
'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-
|
|
551
|
+
'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-sm p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-2 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0',
|
|
552
552
|
{
|
|
553
553
|
'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0':
|
|
554
554
|
showOnHover
|
|
@@ -566,7 +566,7 @@ function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
566
566
|
data-slot="sidebar-menu-badge"
|
|
567
567
|
data-sidebar="menu-badge"
|
|
568
568
|
className={cn(
|
|
569
|
-
'pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-
|
|
569
|
+
'pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-sm px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground',
|
|
570
570
|
className
|
|
571
571
|
)}
|
|
572
572
|
{...props}
|
|
@@ -590,10 +590,10 @@ function SidebarMenuSkeleton({
|
|
|
590
590
|
<div
|
|
591
591
|
data-slot="sidebar-menu-skeleton"
|
|
592
592
|
data-sidebar="menu-skeleton"
|
|
593
|
-
className={cn('flex h-8 items-center gap-2 rounded-
|
|
593
|
+
className={cn('flex h-8 items-center gap-2 rounded-sm px-2', className)}
|
|
594
594
|
{...props}
|
|
595
595
|
>
|
|
596
|
-
{showIcon && <Skeleton className="size-4 rounded-
|
|
596
|
+
{showIcon && <Skeleton className="size-4 rounded-sm" data-sidebar="menu-skeleton-icon" />}
|
|
597
597
|
<Skeleton
|
|
598
598
|
className="h-4 max-w-(--skeleton-width) flex-1"
|
|
599
599
|
data-sidebar="menu-skeleton-text"
|
|
@@ -652,7 +652,7 @@ function SidebarMenuSubButton({
|
|
|
652
652
|
data-size={size}
|
|
653
653
|
data-active={isActive}
|
|
654
654
|
className={cn(
|
|
655
|
-
'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-
|
|
655
|
+
'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-sm px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-foreground',
|
|
656
656
|
className
|
|
657
657
|
)}
|
|
658
658
|
{...props}
|
|
@@ -4,7 +4,7 @@ function Skeleton({ className, ...props }: React.ComponentProps<'div'>) {
|
|
|
4
4
|
return (
|
|
5
5
|
<div
|
|
6
6
|
data-slot="skeleton"
|
|
7
|
-
className={cn('animate-pulse rounded-
|
|
7
|
+
className={cn('animate-pulse rounded-sm bg-secondary', className)}
|
|
8
8
|
{...props}
|
|
9
9
|
/>
|
|
10
10
|
)
|
|
@@ -32,7 +32,7 @@ function Slider({
|
|
|
32
32
|
>
|
|
33
33
|
<SliderPrimitive.Track
|
|
34
34
|
data-slot="slider-track"
|
|
35
|
-
className="relative grow overflow-hidden rounded-
|
|
35
|
+
className="relative grow overflow-hidden rounded-sm bg-muted data-horizontal:h-3 data-horizontal:w-full data-vertical:h-full data-vertical:w-3"
|
|
36
36
|
>
|
|
37
37
|
<SliderPrimitive.Range
|
|
38
38
|
data-slot="slider-range"
|
|
@@ -43,7 +43,7 @@ function Slider({
|
|
|
43
43
|
<SliderPrimitive.Thumb
|
|
44
44
|
data-slot="slider-thumb"
|
|
45
45
|
key={sliderValue}
|
|
46
|
-
className="block size-4 shrink-0 rounded-
|
|
46
|
+
className="block size-4 shrink-0 rounded-sm border border-primary bg-white shadow-sm ring-ring/50 transition-colors select-none hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
|
|
47
47
|
/>
|
|
48
48
|
))}
|
|
49
49
|
</SliderPrimitive.Root>
|
|
@@ -16,14 +16,14 @@ function Switch({
|
|
|
16
16
|
data-slot="switch"
|
|
17
17
|
data-size={size}
|
|
18
18
|
className={cn(
|
|
19
|
-
'peer group/switch relative inline-flex shrink-0 items-center rounded-
|
|
19
|
+
'peer group/switch relative inline-flex shrink-0 items-center rounded-sm border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
20
20
|
className
|
|
21
21
|
)}
|
|
22
22
|
{...props}
|
|
23
23
|
>
|
|
24
24
|
<SwitchPrimitive.Thumb
|
|
25
25
|
data-slot="switch-thumb"
|
|
26
|
-
className="pointer-events-none block rounded-
|
|
26
|
+
className="pointer-events-none block rounded-sm bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"
|
|
27
27
|
/>
|
|
28
28
|
</SwitchPrimitive.Root>
|
|
29
29
|
)
|
|
@@ -21,7 +21,7 @@ function Tabs({
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const tabsListVariants = cva(
|
|
24
|
-
'group/tabs-list inline-flex w-fit items-center justify-center rounded-
|
|
24
|
+
'group/tabs-list inline-flex w-fit items-center justify-center rounded-sm p-[2px] text-muted-foreground group-data-horizontal/tabs:h-10 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:rounded-sm data-[variant=line]:rounded-none border border-border gap-0.5',
|
|
25
25
|
{
|
|
26
26
|
variants: {
|
|
27
27
|
variant: {
|
|
@@ -55,8 +55,8 @@ function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPr
|
|
|
55
55
|
<TabsPrimitive.Trigger
|
|
56
56
|
data-slot="tabs-trigger"
|
|
57
57
|
className={cn(
|
|
58
|
-
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-
|
|
59
|
-
'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:border-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent group-data-[variant=line]/tabs-list:data-active:hover:border-transparent group-data-[variant=line]/tabs-list:data-active:hover:bg-transparent hover:bg-secondary/60 hover:border-border rounded-
|
|
58
|
+
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-sm border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-vertical/tabs:px-2.5 group-data-vertical/tabs:py-1.5 hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:text-current [&_svg:not([class*='size-'])]:size-4",
|
|
59
|
+
'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:border-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent group-data-[variant=line]/tabs-list:data-active:hover:border-transparent group-data-[variant=line]/tabs-list:data-active:hover:bg-transparent hover:bg-secondary/60 hover:border-border rounded-sm',
|
|
60
60
|
'data-active:border-border data-active:bg-input data-active:text-foreground data-active:hover:border-border data-active:hover:bg-input data-active:hover:text-foreground data-active:aria-expanded:bg-secondary data-active:aria-expanded:text-foreground',
|
|
61
61
|
'after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100',
|
|
62
62
|
className
|
|
@@ -6,7 +6,7 @@ function Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {
|
|
|
6
6
|
<textarea
|
|
7
7
|
data-slot="textarea"
|
|
8
8
|
className={cn(
|
|
9
|
-
'flex field-sizing-content min-h-16 w-full resize-none rounded-
|
|
9
|
+
'flex field-sizing-content min-h-16 w-full resize-none rounded-sm border border-border bg-input px-3 py-3 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 hover:border-primary/13 shadow-input',
|
|
10
10
|
className
|
|
11
11
|
)}
|
|
12
12
|
{...props}
|
|
@@ -40,7 +40,7 @@ function ToggleGroup({
|
|
|
40
40
|
data-orientation={orientation}
|
|
41
41
|
style={{ '--gap': spacing } as React.CSSProperties}
|
|
42
42
|
className={cn(
|
|
43
|
-
'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] data-[spacing=0]:data-[variant=outline]:rounded-
|
|
43
|
+
'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] data-[spacing=0]:data-[variant=outline]:rounded-sm data-vertical:flex-col data-vertical:items-stretch',
|
|
44
44
|
className
|
|
45
45
|
)}
|
|
46
46
|
{...props}
|
|
@@ -68,7 +68,7 @@ function ToggleGroupItem({
|
|
|
68
68
|
data-size={context.size || size}
|
|
69
69
|
data-spacing={context.spacing}
|
|
70
70
|
className={cn(
|
|
71
|
-
'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-3 group-data-[spacing=0]/toggle-group:shadow-none focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-2.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-2.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-
|
|
71
|
+
'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-3 group-data-[spacing=0]/toggle-group:shadow-none focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-2.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-2.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-sm group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-3xl group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-sm group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-3xl data-[state=on]:bg-muted group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',
|
|
72
72
|
toggleVariants({
|
|
73
73
|
variant: context.variant || variant,
|
|
74
74
|
size: context.size || size
|
|
@@ -6,7 +6,7 @@ import { Toggle as TogglePrimitive } from 'radix-ui'
|
|
|
6
6
|
import type * as React from 'react'
|
|
7
7
|
|
|
8
8
|
const toggleVariants = cva(
|
|
9
|
-
"group/toggle inline-flex items-center justify-center gap-1 rounded-
|
|
9
|
+
"group/toggle inline-flex items-center justify-center gap-1 rounded-sm text-sm font-medium whitespace-nowrap transition-colors outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
10
10
|
{
|
|
11
11
|
variants: {
|
|
12
12
|
variant: {
|
|
@@ -37,7 +37,7 @@ function TooltipContent({
|
|
|
37
37
|
data-slot="tooltip-content"
|
|
38
38
|
sideOffset={sideOffset}
|
|
39
39
|
className={cn(
|
|
40
|
-
'z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-
|
|
40
|
+
'z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-sm bg-card p-3.5 text-sm text-foreground has-data-[slot=kbd]:pr-1.5 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 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 border border-border material-card',
|
|
41
41
|
className
|
|
42
42
|
)}
|
|
43
43
|
{...props}
|