betterstart-cli 0.0.118 → 0.0.120
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/integrations/resend/actions/render-password-reset-email.ts +5 -5
- package/dist/assets/adapters/next/templates/init/admin-globals.css +169 -61
- 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 +3 -3
- package/dist/assets/adapters/next/templates/init/components/layouts/content-skeleton.tsx +13 -13
- package/dist/assets/adapters/next/templates/init/components/layouts/sidebar-branding.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-body.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-header.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-table-pagination.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/copyable-code-block.tsx +3 -7
- 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/plain-code-fallback.tsx +1 -1
- 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/dev-mode-integrate.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-metadata.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-item.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-current-row.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-drawer.tsx +2 -2
- 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 +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-item.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-preview.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/components/shared/page-header.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-drag-overlay-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-item.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +3 -3
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-page-skeleton.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/login-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/login-page-skeleton.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/minimal-account-shell.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/profile/profile-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/reset-password-form.tsx +3 -6
- package/dist/assets/adapters/next/templates/init/pages/reset-password-page-skeleton.tsx +8 -8
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-columns.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-row.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/forms-settings-columns.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/delete-webhook-dialog.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-endpoint-dialog.tsx +12 -16
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-columns.tsx +9 -9
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhooks-logs-columns.tsx +7 -7
- package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +4 -4
- package/dist/assets/adapters/next/templates/init/utils/editor/inline-math-node-view.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/editor/raw-content-block-node-view.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/email/render-form-submission-rows.ts +1 -1
- package/dist/assets/adapters/next/templates/init/utils/email/render-notification-email.ts +3 -3
- package/dist/assets/adapters/next/templates/init/utils/email/render-thank-you-email.ts +3 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/index.tsx +1 -1
- 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/math-editor-controls.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/slash-command-menu.tsx +2 -4
- package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/content-editor/table-add-controls.tsx +4 -4
- 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-node/removable-image-node/removable-image-node.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/highlight-swatch.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 +9 -10
- package/dist/assets/shared-assets/react-admin/custom/dynamic-list-field.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/gallery-field.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/custom/icon-picker.tsx +2 -3
- package/dist/assets/shared-assets/react-admin/custom/icons-column-skeleton.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/custom/media-field.tsx +3 -3
- 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 +2 -2
- package/dist/assets/shared-assets/react-admin/custom/placeholder.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/custom/sortable-gallery-item.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/upload-dropzone.tsx +3 -5
- package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/alert.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/badge.tsx +2 -3
- package/dist/assets/shared-assets/react-admin/ui/breadcrumb.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/button.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/calendar.tsx +15 -21
- package/dist/assets/shared-assets/react-admin/ui/card.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/chart.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/checkbox.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +6 -6
- package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +7 -7
- package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +8 -8
- package/dist/assets/shared-assets/react-admin/ui/empty.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/field.tsx +6 -12
- package/dist/assets/shared-assets/react-admin/ui/form.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +6 -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 +4 -4
- package/dist/assets/shared-assets/react-admin/ui/kbd.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/label.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +10 -10
- package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +5 -5
- package/dist/assets/shared-assets/react-admin/ui/popover.tsx +3 -7
- package/dist/assets/shared-assets/react-admin/ui/progress.tsx +3 -3
- 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 +2 -2
- package/dist/assets/shared-assets/react-admin/ui/select.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/sheet.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +16 -16
- 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/table.tsx +2 -6
- 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 +2 -2
- package/dist/cli.js +105 -77
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -51,7 +51,7 @@ function NavigationMenuItem({
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
const navigationMenuTriggerStyle = cva(
|
|
54
|
-
'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded
|
|
54
|
+
'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded px-4.5 py-2.5 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'
|
|
55
55
|
)
|
|
56
56
|
|
|
57
57
|
function NavigationMenuTrigger({
|
|
@@ -79,7 +79,7 @@ function NavigationMenuContent({ className, ...props }: NavigationMenuPrimitive.
|
|
|
79
79
|
<NavigationMenuPrimitive.Content
|
|
80
80
|
data-slot="navigation-menu-content"
|
|
81
81
|
className={cn(
|
|
82
|
-
'data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] isolate z-50 h-full w-auto p-2.5 pr-3 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded
|
|
82
|
+
'data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] isolate z-50 h-full w-auto p-2.5 pr-3 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded 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-ending-style:opacity-0 data-starting-style:opacity-0 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 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',
|
|
83
83
|
className
|
|
84
84
|
)}
|
|
85
85
|
{...props}
|
|
@@ -108,7 +108,7 @@ function NavigationMenuPositioner({
|
|
|
108
108
|
)}
|
|
109
109
|
{...props}
|
|
110
110
|
>
|
|
111
|
-
<NavigationMenuPrimitive.Popup className="data-[ending-style]:easing-[ease] relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded
|
|
111
|
+
<NavigationMenuPrimitive.Popup className="data-[ending-style]:easing-[ease] relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded bg-popover text-popover-foreground shadow ring-1 ring-foreground/5 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0 xs:w-(--popup-width)">
|
|
112
112
|
<NavigationMenuPrimitive.Viewport className="relative size-full overflow-hidden" />
|
|
113
113
|
</NavigationMenuPrimitive.Popup>
|
|
114
114
|
</NavigationMenuPrimitive.Positioner>
|
|
@@ -121,7 +121,7 @@ function NavigationMenuLink({ className, ...props }: NavigationMenuPrimitive.Lin
|
|
|
121
121
|
<NavigationMenuPrimitive.Link
|
|
122
122
|
data-slot="navigation-menu-link"
|
|
123
123
|
className={cn(
|
|
124
|
-
"flex items-center gap-1.5 rounded
|
|
124
|
+
"flex items-center gap-1.5 rounded p-3 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 data-[active=true]:bg-muted/50 data-[active=true]:hover:bg-muted data-[active=true]:focus:bg-muted [&_svg:not([class*='size-'])]:size-4",
|
|
125
125
|
className
|
|
126
126
|
)}
|
|
127
127
|
{...props}
|
|
@@ -142,7 +142,7 @@ function NavigationMenuIndicator({
|
|
|
142
142
|
)}
|
|
143
143
|
{...props}
|
|
144
144
|
>
|
|
145
|
-
<div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl
|
|
145
|
+
<div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl bg-border shadow-md" />
|
|
146
146
|
</NavigationMenuPrimitive.Icon>
|
|
147
147
|
)
|
|
148
148
|
}
|
|
@@ -33,7 +33,7 @@ function PopoverContent({
|
|
|
33
33
|
<PopoverPrimitive.Popup
|
|
34
34
|
data-slot="popover-content"
|
|
35
35
|
className={cn(
|
|
36
|
-
'z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded
|
|
36
|
+
'z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded bg-popover p-4 text-popover-foreground shadow-2xl ring-1 ring-foreground/5 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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',
|
|
37
37
|
className
|
|
38
38
|
)}
|
|
39
39
|
{...props}
|
|
@@ -45,11 +45,7 @@ function PopoverContent({
|
|
|
45
45
|
|
|
46
46
|
function PopoverHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
47
47
|
return (
|
|
48
|
-
<div
|
|
49
|
-
data-slot="popover-header"
|
|
50
|
-
className={cn('flex flex-col gap-1 text-sm', className)}
|
|
51
|
-
{...props}
|
|
52
|
-
/>
|
|
48
|
+
<div data-slot="popover-header" className={cn('flex flex-col gap-1', className)} {...props} />
|
|
53
49
|
)
|
|
54
50
|
}
|
|
55
51
|
|
|
@@ -57,7 +53,7 @@ function PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {
|
|
|
57
53
|
return (
|
|
58
54
|
<PopoverPrimitive.Title
|
|
59
55
|
data-slot="popover-title"
|
|
60
|
-
className={cn('
|
|
56
|
+
className={cn('font-medium', className)}
|
|
61
57
|
{...props}
|
|
62
58
|
/>
|
|
63
59
|
)
|
|
@@ -23,7 +23,7 @@ function ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {
|
|
|
23
23
|
return (
|
|
24
24
|
<ProgressPrimitive.Track
|
|
25
25
|
className={cn(
|
|
26
|
-
'relative flex h-3 w-full items-center overflow-x-hidden rounded
|
|
26
|
+
'relative flex h-3 w-full items-center overflow-x-hidden rounded bg-muted',
|
|
27
27
|
className
|
|
28
28
|
)}
|
|
29
29
|
data-slot="progress-track"
|
|
@@ -45,7 +45,7 @@ function ProgressIndicator({ className, ...props }: ProgressPrimitive.Indicator.
|
|
|
45
45
|
function ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {
|
|
46
46
|
return (
|
|
47
47
|
<ProgressPrimitive.Label
|
|
48
|
-
className={cn('
|
|
48
|
+
className={cn('font-medium', className)}
|
|
49
49
|
data-slot="progress-label"
|
|
50
50
|
{...props}
|
|
51
51
|
/>
|
|
@@ -55,7 +55,7 @@ function ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {
|
|
|
55
55
|
function ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {
|
|
56
56
|
return (
|
|
57
57
|
<ProgressPrimitive.Value
|
|
58
|
-
className={cn('ml-auto text-
|
|
58
|
+
className={cn('ml-auto text-muted-foreground tabular-nums', className)}
|
|
59
59
|
data-slot="progress-value"
|
|
60
60
|
{...props}
|
|
61
61
|
/>
|
|
@@ -19,7 +19,7 @@ function RadioGroupItem({ className, ...props }: RadioPrimitive.Root.Props) {
|
|
|
19
19
|
<RadioPrimitive.Root
|
|
20
20
|
data-slot="radio-group-item"
|
|
21
21
|
className={cn(
|
|
22
|
-
'group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded
|
|
22
|
+
'group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded 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 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground',
|
|
23
23
|
className
|
|
24
24
|
)}
|
|
25
25
|
{...props}
|
|
@@ -28,7 +28,7 @@ function RadioGroupItem({ className, ...props }: RadioPrimitive.Root.Props) {
|
|
|
28
28
|
data-slot="radio-group-indicator"
|
|
29
29
|
className="flex size-4 items-center justify-center"
|
|
30
30
|
>
|
|
31
|
-
<span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded
|
|
31
|
+
<span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded bg-primary-foreground" />
|
|
32
32
|
</RadioPrimitive.Indicator>
|
|
33
33
|
</RadioPrimitive.Root>
|
|
34
34
|
)
|
|
@@ -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 bg-border" />}
|
|
37
37
|
</ResizablePrimitive.Separator>
|
|
38
38
|
)
|
|
39
39
|
}
|
|
@@ -13,7 +13,7 @@ function ScrollArea({ className, children, ...props }: ScrollAreaPrimitive.Root.
|
|
|
13
13
|
>
|
|
14
14
|
<ScrollAreaPrimitive.Viewport
|
|
15
15
|
data-slot="scroll-area-viewport"
|
|
16
|
-
className="size-full
|
|
16
|
+
className="size-full transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1"
|
|
17
17
|
>
|
|
18
18
|
{children}
|
|
19
19
|
</ScrollAreaPrimitive.Viewport>
|
|
@@ -41,7 +41,7 @@ function ScrollBar({
|
|
|
41
41
|
>
|
|
42
42
|
<ScrollAreaPrimitive.Thumb
|
|
43
43
|
data-slot="scroll-area-thumb"
|
|
44
|
-
className="relative flex-1 rounded
|
|
44
|
+
className="relative flex-1 rounded bg-border"
|
|
45
45
|
/>
|
|
46
46
|
</ScrollAreaPrimitive.Scrollbar>
|
|
47
47
|
)
|
|
@@ -40,7 +40,7 @@ function SelectTrigger({
|
|
|
40
40
|
data-slot="select-trigger"
|
|
41
41
|
data-size={size}
|
|
42
42
|
className={cn(
|
|
43
|
-
"flex w-fit items-center justify-between gap-1.5 rounded
|
|
43
|
+
"flex w-fit items-center justify-between gap-1.5 rounded border border-input bg-input/30 px-3 py-2 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-placeholder 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 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
44
44
|
className
|
|
45
45
|
)}
|
|
46
46
|
{...props}
|
|
@@ -81,7 +81,7 @@ function SelectContent({
|
|
|
81
81
|
data-slot="select-content"
|
|
82
82
|
data-align-trigger={alignItemWithTrigger}
|
|
83
83
|
className={cn(
|
|
84
|
-
'cn-menu-target cn-menu-translucent relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded
|
|
84
|
+
'cn-menu-target cn-menu-translucent relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded bg-popover text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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',
|
|
85
85
|
className
|
|
86
86
|
)}
|
|
87
87
|
{...props}
|
|
@@ -99,7 +99,7 @@ function SelectLabel({ className, ...props }: SelectPrimitive.GroupLabel.Props)
|
|
|
99
99
|
return (
|
|
100
100
|
<SelectPrimitive.GroupLabel
|
|
101
101
|
data-slot="select-label"
|
|
102
|
-
className={cn('px-3 py-2.5 text-
|
|
102
|
+
className={cn('px-3 py-2.5 text-muted-foreground', className)}
|
|
103
103
|
{...props}
|
|
104
104
|
/>
|
|
105
105
|
)
|
|
@@ -110,7 +110,7 @@ function SelectItem({ className, children, ...props }: SelectPrimitive.Item.Prop
|
|
|
110
110
|
<SelectPrimitive.Item
|
|
111
111
|
data-slot="select-item"
|
|
112
112
|
className={cn(
|
|
113
|
-
"relative flex w-full cursor-default items-center gap-2.5 rounded
|
|
113
|
+
"relative flex w-full cursor-default items-center gap-2.5 rounded py-2 pr-8 pl-3 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",
|
|
114
114
|
className
|
|
115
115
|
)}
|
|
116
116
|
{...props}
|
|
@@ -52,7 +52,7 @@ function SheetContent({
|
|
|
52
52
|
data-slot="sheet-content"
|
|
53
53
|
data-side={side}
|
|
54
54
|
className={cn(
|
|
55
|
-
'fixed z-50 flex flex-col bg-popover bg-clip-padding text-
|
|
55
|
+
'fixed z-50 flex flex-col bg-popover bg-clip-padding text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:max-w-sm data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:max-w-sm data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem]',
|
|
56
56
|
className
|
|
57
57
|
)}
|
|
58
58
|
{...props}
|
|
@@ -96,7 +96,7 @@ function SheetTitle({ className, ...props }: SheetPrimitive.Title.Props) {
|
|
|
96
96
|
return (
|
|
97
97
|
<SheetPrimitive.Title
|
|
98
98
|
data-slot="sheet-title"
|
|
99
|
-
className={cn('cn-font-heading
|
|
99
|
+
className={cn('cn-font-heading font-medium text-foreground', className)}
|
|
100
100
|
{...props}
|
|
101
101
|
/>
|
|
102
102
|
)
|
|
@@ -106,7 +106,7 @@ function SheetDescription({ className, ...props }: SheetPrimitive.Description.Pr
|
|
|
106
106
|
return (
|
|
107
107
|
<SheetPrimitive.Description
|
|
108
108
|
data-slot="sheet-description"
|
|
109
|
-
className={cn('text-
|
|
109
|
+
className={cn('text-muted-foreground', className)}
|
|
110
110
|
{...props}
|
|
111
111
|
/>
|
|
112
112
|
)
|
|
@@ -195,7 +195,7 @@ function Sidebar({
|
|
|
195
195
|
<div
|
|
196
196
|
data-sidebar="sidebar"
|
|
197
197
|
data-slot="sidebar-inner"
|
|
198
|
-
className="flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded
|
|
198
|
+
className="flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border"
|
|
199
199
|
>
|
|
200
200
|
{children}
|
|
201
201
|
</div>
|
|
@@ -256,7 +256,7 @@ function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {
|
|
|
256
256
|
<main
|
|
257
257
|
data-slot="sidebar-inset"
|
|
258
258
|
className={cn(
|
|
259
|
-
'relative flex w-full flex-1 flex-col bg-background peer-data-[variant=inset]:m-2 peer-data-[variant=inset]:ml-0 peer-data-[variant=inset]:rounded
|
|
259
|
+
'relative flex w-full flex-1 flex-col bg-background peer-data-[variant=inset]:m-2 peer-data-[variant=inset]:ml-0 peer-data-[variant=inset]:rounded peer-data-[variant=inset]:shadow-sm peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',
|
|
260
260
|
className
|
|
261
261
|
)}
|
|
262
262
|
{...props}
|
|
@@ -280,7 +280,7 @@ function SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
|
280
280
|
<div
|
|
281
281
|
data-slot="sidebar-header"
|
|
282
282
|
data-sidebar="header"
|
|
283
|
-
className={cn('flex flex-col gap-2 p-2
|
|
283
|
+
className={cn('flex flex-col gap-2 p-2', className)}
|
|
284
284
|
{...props}
|
|
285
285
|
/>
|
|
286
286
|
)
|
|
@@ -314,7 +314,7 @@ function SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {
|
|
|
314
314
|
data-slot="sidebar-content"
|
|
315
315
|
data-sidebar="content"
|
|
316
316
|
className={cn(
|
|
317
|
-
'no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto
|
|
317
|
+
'no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',
|
|
318
318
|
className
|
|
319
319
|
)}
|
|
320
320
|
{...props}
|
|
@@ -343,7 +343,7 @@ function SidebarGroupLabel({
|
|
|
343
343
|
props: mergeProps<'div'>(
|
|
344
344
|
{
|
|
345
345
|
className: cn(
|
|
346
|
-
'flex h-8 shrink-0 items-center rounded
|
|
346
|
+
'flex h-8 shrink-0 items-center rounded px-3 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',
|
|
347
347
|
className
|
|
348
348
|
)
|
|
349
349
|
},
|
|
@@ -367,7 +367,7 @@ function SidebarGroupAction({
|
|
|
367
367
|
props: mergeProps<'button'>(
|
|
368
368
|
{
|
|
369
369
|
className: cn(
|
|
370
|
-
'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded
|
|
370
|
+
'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
371
371
|
className
|
|
372
372
|
)
|
|
373
373
|
},
|
|
@@ -386,7 +386,7 @@ function SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'
|
|
|
386
386
|
<div
|
|
387
387
|
data-slot="sidebar-group-content"
|
|
388
388
|
data-sidebar="group-content"
|
|
389
|
-
className={cn('w-full
|
|
389
|
+
className={cn('w-full', className)}
|
|
390
390
|
{...props}
|
|
391
391
|
/>
|
|
392
392
|
)
|
|
@@ -415,7 +415,7 @@ function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {
|
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
const sidebarMenuButtonVariants = cva(
|
|
418
|
-
'peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded
|
|
418
|
+
'peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded px-3 py-2 text-left 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:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate',
|
|
419
419
|
{
|
|
420
420
|
variants: {
|
|
421
421
|
variant: {
|
|
@@ -424,9 +424,9 @@ const sidebarMenuButtonVariants = cva(
|
|
|
424
424
|
'bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]'
|
|
425
425
|
},
|
|
426
426
|
size: {
|
|
427
|
-
default: 'h-9
|
|
428
|
-
sm: 'h-8
|
|
429
|
-
lg: 'h-14 px-3
|
|
427
|
+
default: 'h-9',
|
|
428
|
+
sm: 'h-8',
|
|
429
|
+
lg: 'h-14 px-3 group-data-[collapsible=icon]:p-0!'
|
|
430
430
|
}
|
|
431
431
|
},
|
|
432
432
|
defaultVariants: {
|
|
@@ -499,7 +499,7 @@ function SidebarMenuAction({
|
|
|
499
499
|
props: mergeProps<'button'>(
|
|
500
500
|
{
|
|
501
501
|
className: cn(
|
|
502
|
-
'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded
|
|
502
|
+
'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded 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 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
503
503
|
{
|
|
504
504
|
'opacity-0 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':
|
|
505
505
|
showOnHover
|
|
@@ -523,7 +523,7 @@ function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
523
523
|
data-slot="sidebar-menu-badge"
|
|
524
524
|
data-sidebar="menu-badge"
|
|
525
525
|
className={cn(
|
|
526
|
-
'pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded
|
|
526
|
+
'pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded px-1 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',
|
|
527
527
|
className
|
|
528
528
|
)}
|
|
529
529
|
{...props}
|
|
@@ -547,10 +547,10 @@ function SidebarMenuSkeleton({
|
|
|
547
547
|
<div
|
|
548
548
|
data-slot="sidebar-menu-skeleton"
|
|
549
549
|
data-sidebar="menu-skeleton"
|
|
550
|
-
className={cn('flex h-8 items-center gap-2 rounded
|
|
550
|
+
className={cn('flex h-8 items-center gap-2 rounded px-2', className)}
|
|
551
551
|
{...props}
|
|
552
552
|
>
|
|
553
|
-
{showIcon && <Skeleton className="size-4 rounded
|
|
553
|
+
{showIcon && <Skeleton className="size-4 rounded" data-sidebar="menu-skeleton-icon" />}
|
|
554
554
|
<Skeleton
|
|
555
555
|
className="h-4 max-w-(--skeleton-width) flex-1"
|
|
556
556
|
data-sidebar="menu-skeleton-text"
|
|
@@ -605,7 +605,7 @@ function SidebarMenuSubButton({
|
|
|
605
605
|
props: mergeProps<'a'>(
|
|
606
606
|
{
|
|
607
607
|
className: cn(
|
|
608
|
-
'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded
|
|
608
|
+
'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded 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-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',
|
|
609
609
|
className
|
|
610
610
|
)
|
|
611
611
|
},
|
|
@@ -29,7 +29,7 @@ function Slider({
|
|
|
29
29
|
<SliderPrimitive.Control className="relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col">
|
|
30
30
|
<SliderPrimitive.Track
|
|
31
31
|
data-slot="slider-track"
|
|
32
|
-
className="relative grow overflow-hidden rounded
|
|
32
|
+
className="relative grow overflow-hidden rounded bg-muted select-none data-horizontal:h-3 data-horizontal:w-full data-vertical:h-full data-vertical:w-3"
|
|
33
33
|
>
|
|
34
34
|
<SliderPrimitive.Indicator
|
|
35
35
|
data-slot="slider-range"
|
|
@@ -40,7 +40,7 @@ function Slider({
|
|
|
40
40
|
<SliderPrimitive.Thumb
|
|
41
41
|
data-slot="slider-thumb"
|
|
42
42
|
key={index}
|
|
43
|
-
className="block size-4 shrink-0 rounded
|
|
43
|
+
className="block size-4 shrink-0 rounded 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"
|
|
44
44
|
/>
|
|
45
45
|
))}
|
|
46
46
|
</SliderPrimitive.Control>
|
|
@@ -15,14 +15,14 @@ function Switch({
|
|
|
15
15
|
data-slot="switch"
|
|
16
16
|
data-size={size}
|
|
17
17
|
className={cn(
|
|
18
|
-
'peer group/switch relative inline-flex shrink-0 items-center rounded
|
|
18
|
+
'peer group/switch relative inline-flex shrink-0 items-center rounded 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] data-checked:bg-primary data-unchecked:bg-input data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
19
19
|
className
|
|
20
20
|
)}
|
|
21
21
|
{...props}
|
|
22
22
|
>
|
|
23
23
|
<SwitchPrimitive.Thumb
|
|
24
24
|
data-slot="switch-thumb"
|
|
25
|
-
className="pointer-events-none block rounded
|
|
25
|
+
className="pointer-events-none block rounded 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)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0"
|
|
26
26
|
/>
|
|
27
27
|
</SwitchPrimitive.Root>
|
|
28
28
|
)
|
|
@@ -6,11 +6,7 @@ import { cn } from '@admin/utils/shared/cn'
|
|
|
6
6
|
function Table({ className, ...props }: React.ComponentProps<'table'>) {
|
|
7
7
|
return (
|
|
8
8
|
<div data-slot="table-container" className="relative w-full overflow-x-auto">
|
|
9
|
-
<table
|
|
10
|
-
data-slot="table"
|
|
11
|
-
className={cn('w-full caption-bottom text-sm', className)}
|
|
12
|
-
{...props}
|
|
13
|
-
/>
|
|
9
|
+
<table data-slot="table" className={cn('w-full caption-bottom', className)} {...props} />
|
|
14
10
|
</div>
|
|
15
11
|
)
|
|
16
12
|
}
|
|
@@ -79,7 +75,7 @@ function TableCaption({ className, ...props }: React.ComponentProps<'caption'>)
|
|
|
79
75
|
return (
|
|
80
76
|
<caption
|
|
81
77
|
data-slot="table-caption"
|
|
82
|
-
className={cn('mt-4 text-
|
|
78
|
+
className={cn('mt-4 text-muted-foreground', className)}
|
|
83
79
|
{...props}
|
|
84
80
|
/>
|
|
85
81
|
)
|
|
@@ -17,7 +17,7 @@ function Tabs({ className, orientation = 'horizontal', ...props }: TabsPrimitive
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const tabsListVariants = cva(
|
|
20
|
-
'group/tabs-list inline-flex w-fit items-center justify-center rounded
|
|
20
|
+
'group/tabs-list inline-flex w-fit items-center justify-center rounded p-[3px] text-muted-foreground group-data-horizontal/tabs:h-9 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:rounded',
|
|
21
21
|
{
|
|
22
22
|
variants: {
|
|
23
23
|
variant: {
|
|
@@ -51,7 +51,7 @@ function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {
|
|
|
51
51
|
<TabsPrimitive.Tab
|
|
52
52
|
data-slot="tabs-trigger"
|
|
53
53
|
className={cn(
|
|
54
|
-
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded
|
|
54
|
+
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded border border-transparent px-2 py-1 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
55
55
|
'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent',
|
|
56
56
|
'data-active:bg-background data-active:text-foreground',
|
|
57
57
|
'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',
|
|
@@ -66,7 +66,7 @@ function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {
|
|
|
66
66
|
return (
|
|
67
67
|
<TabsPrimitive.Panel
|
|
68
68
|
data-slot="tabs-content"
|
|
69
|
-
className={cn('flex-1
|
|
69
|
+
className={cn('flex-1 outline-none', className)}
|
|
70
70
|
{...props}
|
|
71
71
|
/>
|
|
72
72
|
)
|
|
@@ -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 border border-input bg-input/30 px-3 py-3 transition-colors outline-none placeholder:text-placeholder 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',
|
|
10
10
|
className
|
|
11
11
|
)}
|
|
12
12
|
{...props}
|
|
@@ -41,7 +41,7 @@ function ToggleGroup({
|
|
|
41
41
|
data-orientation={orientation}
|
|
42
42
|
style={{ '--gap': spacing } as React.CSSProperties}
|
|
43
43
|
className={cn(
|
|
44
|
-
'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] data-[spacing=0]:data-[variant=outline]:rounded
|
|
44
|
+
'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] data-[spacing=0]:data-[variant=outline]:rounded data-vertical:flex-col data-vertical:items-stretch',
|
|
45
45
|
className
|
|
46
46
|
)}
|
|
47
47
|
{...props}
|
|
@@ -69,7 +69,7 @@ function ToggleGroupItem({
|
|
|
69
69
|
data-size={context.size || size}
|
|
70
70
|
data-spacing={context.spacing}
|
|
71
71
|
className={cn(
|
|
72
|
-
'shrink-0 group-data-[spacing=0]/toggle-group:
|
|
72
|
+
'shrink-0 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 group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b 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',
|
|
73
73
|
toggleVariants({
|
|
74
74
|
variant: context.variant || variant,
|
|
75
75
|
size: context.size || size
|
|
@@ -6,7 +6,7 @@ import { Toggle as TogglePrimitive } from '@base-ui/react/toggle'
|
|
|
6
6
|
import { cva } from 'class-variance-authority'
|
|
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 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 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
10
10
|
{
|
|
11
11
|
variants: {
|
|
12
12
|
variant: {
|
|
@@ -37,13 +37,13 @@ function TooltipContent({
|
|
|
37
37
|
<TooltipPrimitive.Popup
|
|
38
38
|
data-slot="tooltip-content"
|
|
39
39
|
className={cn(
|
|
40
|
-
'z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded
|
|
40
|
+
'z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded bg-foreground px-3 py-1.5 text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 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',
|
|
41
41
|
className
|
|
42
42
|
)}
|
|
43
43
|
{...props}
|
|
44
44
|
>
|
|
45
45
|
{children}
|
|
46
|
-
<TooltipPrimitive.Arrow className="z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded
|
|
46
|
+
<TooltipPrimitive.Arrow className="z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:translate-x-[1.5px] data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:translate-x-[-1.5px] data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:translate-x-[-1.5px] data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:translate-x-[1.5px] data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" />
|
|
47
47
|
</TooltipPrimitive.Popup>
|
|
48
48
|
</TooltipPrimitive.Positioner>
|
|
49
49
|
</TooltipPrimitive.Portal>
|