betterstart-cli 0.0.105 → 0.0.107
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-nav-link.tsx +10 -8
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-nav-link-skeleton.tsx +1 -5
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sidebar-user-menu.tsx +54 -48
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-sign-out.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-body.tsx +20 -0
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-cell.tsx +20 -0
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-head.tsx +21 -0
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-header.tsx +20 -0
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid-row.tsx +22 -0
- package/dist/assets/adapters/next/templates/init/components/shared/data-table/data-grid.tsx +7 -81
- package/dist/assets/adapters/next/templates/init/components/shared/delete-dialog.tsx +3 -5
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/lifecycle-hooks-tab.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 +5 -7
- package/dist/assets/adapters/next/templates/init/components/shared/entity-filters-bar.tsx +9 -10
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-item.tsx +2 -4
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-version-restore-dialog.tsx +2 -4
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-current-row.tsx +2 -4
- package/dist/assets/adapters/next/templates/init/components/shared/entity-versions/entity-versions-drawer.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/components/shared/media/edit-media-dialog.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-dialog.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx +52 -53
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-dialog.tsx +3 -5
- package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/audit-log/audit-log-detail-drawer.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/settings/forms/form-notifications-drawer.tsx +5 -5
- package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-actions.tsx +20 -20
- package/dist/assets/adapters/next/templates/init/pages/users/change-password-dialog.tsx +7 -5
- package/dist/assets/adapters/next/templates/init/pages/users/columns.tsx +3 -5
- package/dist/assets/adapters/next/templates/init/pages/users/create-user-dialog.tsx +1 -3
- package/dist/assets/adapters/next/templates/init/pages/users/delete-user-dialog.tsx +11 -5
- package/dist/assets/adapters/next/templates/init/pages/users/edit-role-dialog.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/math-popover-button.tsx +13 -11
- package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode-dropdown-button.tsx +16 -14
- 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-button.tsx +14 -12
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/blockquote-button/blockquote-button.tsx +4 -11
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/blockquote-button/blockquote-shortcut-badge.tsx +15 -0
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/code-block-button/code-block-button.tsx +4 -11
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/code-block-button/code-block-shortcut-badge.tsx +15 -0
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-button.tsx +6 -42
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-shortcut-badge.tsx +15 -0
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/highlight-swatch.tsx +34 -0
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx +16 -14
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-popover/source-color-highlight-popover.tsx +15 -13
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu-item.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx +31 -29
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-control-popover.tsx +15 -13
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu-item.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/list-dropdown-menu/list-dropdown-menu.tsx +22 -20
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/mark-button/mark-button.tsx +5 -14
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/mark-button/mark-shortcut-badge.tsx +18 -0
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/undo-redo-button/history-shortcut-badge.tsx +18 -0
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/undo-redo-button/undo-redo-button.tsx +5 -14
- package/dist/assets/shared-assets/react-admin/custom/date-picker.tsx +16 -14
- package/dist/assets/shared-assets/react-admin/custom/date-range-picker.tsx +8 -6
- package/dist/assets/shared-assets/react-admin/custom/icon-picker/memoized-icon.tsx +10 -0
- package/dist/assets/shared-assets/react-admin/custom/icon-picker.tsx +9 -10
- package/dist/assets/shared-assets/react-admin/custom/nested-object-list-field.tsx +2 -4
- package/dist/assets/shared-assets/react-admin/ui/accordion.tsx +11 -28
- package/dist/assets/shared-assets/react-admin/ui/alert-dialog.tsx +30 -47
- package/dist/assets/shared-assets/react-admin/ui/alert.tsx +4 -4
- package/dist/assets/shared-assets/react-admin/ui/aspect-ratio.tsx +18 -5
- package/dist/assets/shared-assets/react-admin/ui/avatar.tsx +10 -13
- package/dist/assets/shared-assets/react-admin/ui/badge.tsx +21 -20
- package/dist/assets/shared-assets/react-admin/ui/breadcrumb.tsx +20 -19
- package/dist/assets/shared-assets/react-admin/ui/button-group.tsx +25 -24
- package/dist/assets/shared-assets/react-admin/ui/button.tsx +22 -31
- package/dist/assets/shared-assets/react-admin/ui/calendar.tsx +9 -6
- package/dist/assets/shared-assets/react-admin/ui/card.tsx +6 -16
- package/dist/assets/shared-assets/react-admin/ui/carousel.tsx +20 -17
- package/dist/assets/shared-assets/react-admin/ui/chart.tsx +19 -16
- package/dist/assets/shared-assets/react-admin/ui/checkbox.tsx +3 -4
- package/dist/assets/shared-assets/react-admin/ui/collapsible.tsx +6 -10
- package/dist/assets/shared-assets/react-admin/ui/combobox.tsx +10 -36
- package/dist/assets/shared-assets/react-admin/ui/command.tsx +7 -6
- package/dist/assets/shared-assets/react-admin/ui/context-menu.tsx +77 -79
- package/dist/assets/shared-assets/react-admin/ui/dialog.tsx +29 -54
- package/dist/assets/shared-assets/react-admin/ui/direction.tsx +1 -18
- package/dist/assets/shared-assets/react-admin/ui/drawer.tsx +121 -49
- package/dist/assets/shared-assets/react-admin/ui/dropdown-menu.tsx +117 -131
- package/dist/assets/shared-assets/react-admin/ui/empty.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/field.tsx +20 -30
- package/dist/assets/shared-assets/react-admin/ui/form.tsx +27 -31
- package/dist/assets/shared-assets/react-admin/ui/hover-card.tsx +26 -18
- package/dist/assets/shared-assets/react-admin/ui/input-group.tsx +25 -12
- package/dist/assets/shared-assets/react-admin/ui/input-otp.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/input.tsx +4 -3
- package/dist/assets/shared-assets/react-admin/ui/item.tsx +26 -19
- package/dist/assets/shared-assets/react-admin/ui/label.tsx +18 -14
- package/dist/assets/shared-assets/react-admin/ui/menubar.tsx +80 -73
- package/dist/assets/shared-assets/react-admin/ui/native-select.tsx +3 -3
- package/dist/assets/shared-assets/react-admin/ui/navigation-menu.tsx +40 -39
- package/dist/assets/shared-assets/react-admin/ui/pagination.tsx +18 -11
- package/dist/assets/shared-assets/react-admin/ui/popover.tsx +31 -30
- package/dist/assets/shared-assets/react-admin/ui/progress.tsx +51 -16
- package/dist/assets/shared-assets/react-admin/ui/radio-group.tsx +11 -17
- package/dist/assets/shared-assets/react-admin/ui/resizable.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/scroll-area.tsx +9 -13
- package/dist/assets/shared-assets/react-admin/ui/select.tsx +66 -60
- package/dist/assets/shared-assets/react-admin/ui/separator.tsx +3 -10
- package/dist/assets/shared-assets/react-admin/ui/sheet.tsx +22 -27
- package/dist/assets/shared-assets/react-admin/ui/sidebar.tsx +144 -126
- package/dist/assets/shared-assets/react-admin/ui/skeleton.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/ui/slider.tsx +27 -29
- package/dist/assets/shared-assets/react-admin/ui/sonner.tsx +8 -3
- package/dist/assets/shared-assets/react-admin/ui/spinner.tsx +4 -3
- package/dist/assets/shared-assets/react-admin/ui/switch.tsx +4 -5
- package/dist/assets/shared-assets/react-admin/ui/table.tsx +8 -21
- package/dist/assets/shared-assets/react-admin/ui/tabs.tsx +11 -16
- package/dist/assets/shared-assets/react-admin/ui/textarea.tsx +2 -2
- package/dist/assets/shared-assets/react-admin/ui/toggle-group.tsx +12 -11
- package/dist/assets/shared-assets/react-admin/ui/toggle.tsx +4 -5
- package/dist/assets/shared-assets/react-admin/ui/tooltip.tsx +29 -27
- package/dist/cli.js +145 -111
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,43 +1,48 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as React from 'react'
|
|
4
4
|
import { cn } from '@admin/utils/shared/cn'
|
|
5
|
-
import { Popover as PopoverPrimitive } from '
|
|
5
|
+
import { Popover as PopoverPrimitive } from '@base-ui/react/popover'
|
|
6
6
|
|
|
7
|
-
function Popover({ ...props }:
|
|
7
|
+
function Popover({ ...props }: PopoverPrimitive.Root.Props) {
|
|
8
8
|
return <PopoverPrimitive.Root data-slot="popover" {...props} />
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
function PopoverTrigger({ ...props }:
|
|
11
|
+
function PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) {
|
|
12
12
|
return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
function PopoverContent({
|
|
16
16
|
className,
|
|
17
17
|
align = 'center',
|
|
18
|
+
alignOffset = 0,
|
|
19
|
+
side = 'bottom',
|
|
18
20
|
sideOffset = 4,
|
|
19
21
|
...props
|
|
20
|
-
}:
|
|
22
|
+
}: PopoverPrimitive.Popup.Props &
|
|
23
|
+
Pick<PopoverPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>) {
|
|
21
24
|
return (
|
|
22
25
|
<PopoverPrimitive.Portal>
|
|
23
|
-
<PopoverPrimitive.
|
|
24
|
-
data-slot="popover-content"
|
|
26
|
+
<PopoverPrimitive.Positioner
|
|
25
27
|
align={align}
|
|
28
|
+
alignOffset={alignOffset}
|
|
29
|
+
side={side}
|
|
26
30
|
sideOffset={sideOffset}
|
|
27
|
-
className=
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
className="isolate z-50"
|
|
32
|
+
>
|
|
33
|
+
<PopoverPrimitive.Popup
|
|
34
|
+
data-slot="popover-content"
|
|
35
|
+
className={cn(
|
|
36
|
+
'z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-2xl 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=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
|
+
className
|
|
38
|
+
)}
|
|
39
|
+
{...props}
|
|
40
|
+
/>
|
|
41
|
+
</PopoverPrimitive.Positioner>
|
|
33
42
|
</PopoverPrimitive.Portal>
|
|
34
43
|
)
|
|
35
44
|
}
|
|
36
45
|
|
|
37
|
-
function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {
|
|
38
|
-
return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />
|
|
39
|
-
}
|
|
40
|
-
|
|
41
46
|
function PopoverHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
42
47
|
return (
|
|
43
48
|
<div
|
|
@@ -48,15 +53,19 @@ function PopoverHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
|
48
53
|
)
|
|
49
54
|
}
|
|
50
55
|
|
|
51
|
-
function PopoverTitle({ className, ...props }:
|
|
56
|
+
function PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {
|
|
52
57
|
return (
|
|
53
|
-
<
|
|
58
|
+
<PopoverPrimitive.Title
|
|
59
|
+
data-slot="popover-title"
|
|
60
|
+
className={cn('text-base font-medium', className)}
|
|
61
|
+
{...props}
|
|
62
|
+
/>
|
|
54
63
|
)
|
|
55
64
|
}
|
|
56
65
|
|
|
57
|
-
function PopoverDescription({ className, ...props }:
|
|
66
|
+
function PopoverDescription({ className, ...props }: PopoverPrimitive.Description.Props) {
|
|
58
67
|
return (
|
|
59
|
-
<
|
|
68
|
+
<PopoverPrimitive.Description
|
|
60
69
|
data-slot="popover-description"
|
|
61
70
|
className={cn('text-muted-foreground', className)}
|
|
62
71
|
{...props}
|
|
@@ -64,12 +73,4 @@ function PopoverDescription({ className, ...props }: React.ComponentProps<'p'>)
|
|
|
64
73
|
)
|
|
65
74
|
}
|
|
66
75
|
|
|
67
|
-
export {
|
|
68
|
-
Popover,
|
|
69
|
-
PopoverAnchor,
|
|
70
|
-
PopoverContent,
|
|
71
|
-
PopoverDescription,
|
|
72
|
-
PopoverHeader,
|
|
73
|
-
PopoverTitle,
|
|
74
|
-
PopoverTrigger
|
|
75
|
-
}
|
|
76
|
+
export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger }
|
|
@@ -1,30 +1,65 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import type * as React from 'react'
|
|
4
3
|
import { cn } from '@admin/utils/shared/cn'
|
|
5
|
-
import { Progress as ProgressPrimitive } from '
|
|
4
|
+
import { Progress as ProgressPrimitive } from '@base-ui/react/progress'
|
|
6
5
|
|
|
7
|
-
function Progress({
|
|
8
|
-
className,
|
|
9
|
-
value,
|
|
10
|
-
...props
|
|
11
|
-
}: React.ComponentProps<typeof ProgressPrimitive.Root>) {
|
|
6
|
+
function Progress({ className, children, value, ...props }: ProgressPrimitive.Root.Props) {
|
|
12
7
|
return (
|
|
13
8
|
<ProgressPrimitive.Root
|
|
9
|
+
value={value}
|
|
14
10
|
data-slot="progress"
|
|
11
|
+
className={cn('flex flex-wrap gap-3', className)}
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
{children}
|
|
15
|
+
<ProgressTrack>
|
|
16
|
+
<ProgressIndicator />
|
|
17
|
+
</ProgressTrack>
|
|
18
|
+
</ProgressPrimitive.Root>
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {
|
|
23
|
+
return (
|
|
24
|
+
<ProgressPrimitive.Track
|
|
15
25
|
className={cn(
|
|
16
|
-
'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-4xl bg-muted',
|
|
17
27
|
className
|
|
18
28
|
)}
|
|
29
|
+
data-slot="progress-track"
|
|
19
30
|
{...props}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
/>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function ProgressIndicator({ className, ...props }: ProgressPrimitive.Indicator.Props) {
|
|
36
|
+
return (
|
|
37
|
+
<ProgressPrimitive.Indicator
|
|
38
|
+
data-slot="progress-indicator"
|
|
39
|
+
className={cn('h-full bg-primary transition-all', className)}
|
|
40
|
+
{...props}
|
|
41
|
+
/>
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {
|
|
46
|
+
return (
|
|
47
|
+
<ProgressPrimitive.Label
|
|
48
|
+
className={cn('text-sm font-medium', className)}
|
|
49
|
+
data-slot="progress-label"
|
|
50
|
+
{...props}
|
|
51
|
+
/>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {
|
|
56
|
+
return (
|
|
57
|
+
<ProgressPrimitive.Value
|
|
58
|
+
className={cn('ml-auto text-sm text-muted-foreground tabular-nums', className)}
|
|
59
|
+
data-slot="progress-value"
|
|
60
|
+
{...props}
|
|
61
|
+
/>
|
|
27
62
|
)
|
|
28
63
|
}
|
|
29
64
|
|
|
30
|
-
export { Progress }
|
|
65
|
+
export { Progress, ProgressTrack, ProgressIndicator, ProgressLabel, ProgressValue }
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import type * as React from 'react'
|
|
4
3
|
import { cn } from '@admin/utils/shared/cn'
|
|
5
|
-
import {
|
|
4
|
+
import { Radio as RadioPrimitive } from '@base-ui/react/radio'
|
|
5
|
+
import { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group'
|
|
6
6
|
|
|
7
|
-
function RadioGroup({
|
|
8
|
-
className,
|
|
9
|
-
...props
|
|
10
|
-
}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
|
|
7
|
+
function RadioGroup({ className, ...props }: RadioGroupPrimitive.Props) {
|
|
11
8
|
return (
|
|
12
|
-
<RadioGroupPrimitive
|
|
9
|
+
<RadioGroupPrimitive
|
|
13
10
|
data-slot="radio-group"
|
|
14
11
|
className={cn('grid w-full gap-3', className)}
|
|
15
12
|
{...props}
|
|
@@ -17,26 +14,23 @@ function RadioGroup({
|
|
|
17
14
|
)
|
|
18
15
|
}
|
|
19
16
|
|
|
20
|
-
function RadioGroupItem({
|
|
21
|
-
className,
|
|
22
|
-
...props
|
|
23
|
-
}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
|
|
17
|
+
function RadioGroupItem({ className, ...props }: RadioPrimitive.Root.Props) {
|
|
24
18
|
return (
|
|
25
|
-
<
|
|
19
|
+
<RadioPrimitive.Root
|
|
26
20
|
data-slot="radio-group-item"
|
|
27
21
|
className={cn(
|
|
28
|
-
'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-full 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
23
|
className
|
|
30
24
|
)}
|
|
31
25
|
{...props}
|
|
32
26
|
>
|
|
33
|
-
<
|
|
27
|
+
<RadioPrimitive.Indicator
|
|
34
28
|
data-slot="radio-group-indicator"
|
|
35
29
|
className="flex size-4 items-center justify-center"
|
|
36
30
|
>
|
|
37
|
-
<span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-
|
|
38
|
-
</
|
|
39
|
-
</
|
|
31
|
+
<span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" />
|
|
32
|
+
</RadioPrimitive.Indicator>
|
|
33
|
+
</RadioPrimitive.Root>
|
|
40
34
|
)
|
|
41
35
|
}
|
|
42
36
|
|
|
@@ -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-lg bg-border" />}
|
|
37
37
|
</ResizablePrimitive.Separator>
|
|
38
38
|
)
|
|
39
39
|
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as React from 'react'
|
|
4
4
|
import { cn } from '@admin/utils/shared/cn'
|
|
5
|
-
import { ScrollArea as ScrollAreaPrimitive } from '
|
|
5
|
+
import { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area'
|
|
6
6
|
|
|
7
|
-
function ScrollArea({
|
|
8
|
-
className,
|
|
9
|
-
children,
|
|
10
|
-
...props
|
|
11
|
-
}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {
|
|
7
|
+
function ScrollArea({ className, children, ...props }: ScrollAreaPrimitive.Root.Props) {
|
|
12
8
|
return (
|
|
13
9
|
<ScrollAreaPrimitive.Root
|
|
14
10
|
data-slot="scroll-area"
|
|
@@ -17,7 +13,7 @@ function ScrollArea({
|
|
|
17
13
|
>
|
|
18
14
|
<ScrollAreaPrimitive.Viewport
|
|
19
15
|
data-slot="scroll-area-viewport"
|
|
20
|
-
className="size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1
|
|
16
|
+
className="size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1"
|
|
21
17
|
>
|
|
22
18
|
{children}
|
|
23
19
|
</ScrollAreaPrimitive.Viewport>
|
|
@@ -31,9 +27,9 @@ function ScrollBar({
|
|
|
31
27
|
className,
|
|
32
28
|
orientation = 'vertical',
|
|
33
29
|
...props
|
|
34
|
-
}:
|
|
30
|
+
}: ScrollAreaPrimitive.Scrollbar.Props) {
|
|
35
31
|
return (
|
|
36
|
-
<ScrollAreaPrimitive.
|
|
32
|
+
<ScrollAreaPrimitive.Scrollbar
|
|
37
33
|
data-slot="scroll-area-scrollbar"
|
|
38
34
|
data-orientation={orientation}
|
|
39
35
|
orientation={orientation}
|
|
@@ -43,11 +39,11 @@ function ScrollBar({
|
|
|
43
39
|
)}
|
|
44
40
|
{...props}
|
|
45
41
|
>
|
|
46
|
-
<ScrollAreaPrimitive.
|
|
42
|
+
<ScrollAreaPrimitive.Thumb
|
|
47
43
|
data-slot="scroll-area-thumb"
|
|
48
|
-
className="relative flex-1 rounded-
|
|
44
|
+
className="relative flex-1 rounded-full bg-border"
|
|
49
45
|
/>
|
|
50
|
-
</ScrollAreaPrimitive.
|
|
46
|
+
</ScrollAreaPrimitive.Scrollbar>
|
|
51
47
|
)
|
|
52
48
|
}
|
|
53
49
|
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as React from 'react'
|
|
4
4
|
import { cn } from '@admin/utils/shared/cn'
|
|
5
|
+
import { Select as SelectPrimitive } from '@base-ui/react/select'
|
|
5
6
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react'
|
|
6
|
-
import { Select as SelectPrimitive } from 'radix-ui'
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
return <SelectPrimitive.Root data-slot="select" {...props} />
|
|
10
|
-
}
|
|
8
|
+
const Select = SelectPrimitive.Root
|
|
11
9
|
|
|
12
|
-
function SelectGroup({ className, ...props }:
|
|
10
|
+
function SelectGroup({ className, ...props }: SelectPrimitive.Group.Props) {
|
|
13
11
|
return (
|
|
14
12
|
<SelectPrimitive.Group
|
|
15
13
|
data-slot="select-group"
|
|
@@ -19,8 +17,14 @@ function SelectGroup({ className, ...props }: React.ComponentProps<typeof Select
|
|
|
19
17
|
)
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
function SelectValue({ ...props }:
|
|
23
|
-
return
|
|
20
|
+
function SelectValue({ className, ...props }: SelectPrimitive.Value.Props) {
|
|
21
|
+
return (
|
|
22
|
+
<SelectPrimitive.Value
|
|
23
|
+
data-slot="select-value"
|
|
24
|
+
className={cn('flex flex-1 text-left', className)}
|
|
25
|
+
{...props}
|
|
26
|
+
/>
|
|
27
|
+
)
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
function SelectTrigger({
|
|
@@ -28,7 +32,7 @@ function SelectTrigger({
|
|
|
28
32
|
size = 'default',
|
|
29
33
|
children,
|
|
30
34
|
...props
|
|
31
|
-
}:
|
|
35
|
+
}: SelectPrimitive.Trigger.Props & {
|
|
32
36
|
size?: 'sm' | 'default'
|
|
33
37
|
}) {
|
|
34
38
|
return (
|
|
@@ -36,15 +40,15 @@ function SelectTrigger({
|
|
|
36
40
|
data-slot="select-trigger"
|
|
37
41
|
data-size={size}
|
|
38
42
|
className={cn(
|
|
39
|
-
"flex w-fit items-center justify-between gap-1.5 rounded-
|
|
43
|
+
"flex w-fit items-center justify-between gap-1.5 rounded-4xl border border-input bg-input/30 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
44
|
className
|
|
41
45
|
)}
|
|
42
46
|
{...props}
|
|
43
47
|
>
|
|
44
48
|
{children}
|
|
45
|
-
<SelectPrimitive.Icon
|
|
46
|
-
<ChevronDownIcon className="pointer-events-none size-4 text-foreground" />
|
|
47
|
-
|
|
49
|
+
<SelectPrimitive.Icon
|
|
50
|
+
render={<ChevronDownIcon className="pointer-events-none size-4 text-muted-foreground" />}
|
|
51
|
+
/>
|
|
48
52
|
</SelectPrimitive.Trigger>
|
|
49
53
|
)
|
|
50
54
|
}
|
|
@@ -52,43 +56,48 @@ function SelectTrigger({
|
|
|
52
56
|
function SelectContent({
|
|
53
57
|
className,
|
|
54
58
|
children,
|
|
55
|
-
|
|
59
|
+
side = 'bottom',
|
|
60
|
+
sideOffset = 4,
|
|
56
61
|
align = 'center',
|
|
62
|
+
alignOffset = 0,
|
|
63
|
+
alignItemWithTrigger = true,
|
|
57
64
|
...props
|
|
58
|
-
}:
|
|
65
|
+
}: SelectPrimitive.Popup.Props &
|
|
66
|
+
Pick<
|
|
67
|
+
SelectPrimitive.Positioner.Props,
|
|
68
|
+
'align' | 'alignOffset' | 'side' | 'sideOffset' | 'alignItemWithTrigger'
|
|
69
|
+
>) {
|
|
59
70
|
return (
|
|
60
71
|
<SelectPrimitive.Portal>
|
|
61
|
-
<SelectPrimitive.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
className={cn(
|
|
65
|
-
'relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm bg-popover/70 p-1 text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 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$=-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]:**:text-accent-foreground! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:focus:bg-foreground/10! 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',
|
|
66
|
-
position === 'popper' &&
|
|
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
|
-
className
|
|
69
|
-
)}
|
|
70
|
-
position={position}
|
|
72
|
+
<SelectPrimitive.Positioner
|
|
73
|
+
side={side}
|
|
74
|
+
sideOffset={sideOffset}
|
|
71
75
|
align={align}
|
|
72
|
-
{
|
|
76
|
+
alignOffset={alignOffset}
|
|
77
|
+
alignItemWithTrigger={alignItemWithTrigger}
|
|
78
|
+
className="isolate z-50"
|
|
73
79
|
>
|
|
74
|
-
<
|
|
75
|
-
|
|
76
|
-
data-
|
|
80
|
+
<SelectPrimitive.Popup
|
|
81
|
+
data-slot="select-content"
|
|
82
|
+
data-align-trigger={alignItemWithTrigger}
|
|
77
83
|
className={cn(
|
|
78
|
-
'data-[
|
|
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-2xl 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
|
+
className
|
|
79
86
|
)}
|
|
87
|
+
{...props}
|
|
80
88
|
>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
<SelectScrollUpButton />
|
|
90
|
+
<SelectPrimitive.List>{children}</SelectPrimitive.List>
|
|
91
|
+
<SelectScrollDownButton />
|
|
92
|
+
</SelectPrimitive.Popup>
|
|
93
|
+
</SelectPrimitive.Positioner>
|
|
85
94
|
</SelectPrimitive.Portal>
|
|
86
95
|
)
|
|
87
96
|
}
|
|
88
97
|
|
|
89
|
-
function SelectLabel({ className, ...props }:
|
|
98
|
+
function SelectLabel({ className, ...props }: SelectPrimitive.GroupLabel.Props) {
|
|
90
99
|
return (
|
|
91
|
-
<SelectPrimitive.
|
|
100
|
+
<SelectPrimitive.GroupLabel
|
|
92
101
|
data-slot="select-label"
|
|
93
102
|
className={cn('px-3 py-2.5 text-xs text-muted-foreground', className)}
|
|
94
103
|
{...props}
|
|
@@ -96,34 +105,31 @@ function SelectLabel({ className, ...props }: React.ComponentProps<typeof Select
|
|
|
96
105
|
)
|
|
97
106
|
}
|
|
98
107
|
|
|
99
|
-
function SelectItem({
|
|
100
|
-
className,
|
|
101
|
-
children,
|
|
102
|
-
...props
|
|
103
|
-
}: React.ComponentProps<typeof SelectPrimitive.Item>) {
|
|
108
|
+
function SelectItem({ className, children, ...props }: SelectPrimitive.Item.Props) {
|
|
104
109
|
return (
|
|
105
110
|
<SelectPrimitive.Item
|
|
106
111
|
data-slot="select-item"
|
|
107
112
|
className={cn(
|
|
108
|
-
"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-xl py-2 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
114
|
className
|
|
110
115
|
)}
|
|
111
116
|
{...props}
|
|
112
117
|
>
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
<SelectPrimitive.ItemText className="flex flex-1 shrink-0 gap-2 whitespace-nowrap">
|
|
119
|
+
{children}
|
|
120
|
+
</SelectPrimitive.ItemText>
|
|
121
|
+
<SelectPrimitive.ItemIndicator
|
|
122
|
+
render={
|
|
123
|
+
<span className="pointer-events-none absolute right-2 flex size-4 items-center justify-center" />
|
|
124
|
+
}
|
|
125
|
+
>
|
|
126
|
+
<CheckIcon className="pointer-events-none" />
|
|
127
|
+
</SelectPrimitive.ItemIndicator>
|
|
119
128
|
</SelectPrimitive.Item>
|
|
120
129
|
)
|
|
121
130
|
}
|
|
122
131
|
|
|
123
|
-
function SelectSeparator({
|
|
124
|
-
className,
|
|
125
|
-
...props
|
|
126
|
-
}: React.ComponentProps<typeof SelectPrimitive.Separator>) {
|
|
132
|
+
function SelectSeparator({ className, ...props }: SelectPrimitive.Separator.Props) {
|
|
127
133
|
return (
|
|
128
134
|
<SelectPrimitive.Separator
|
|
129
135
|
data-slot="select-separator"
|
|
@@ -136,36 +142,36 @@ function SelectSeparator({
|
|
|
136
142
|
function SelectScrollUpButton({
|
|
137
143
|
className,
|
|
138
144
|
...props
|
|
139
|
-
}: React.ComponentProps<typeof SelectPrimitive.
|
|
145
|
+
}: React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>) {
|
|
140
146
|
return (
|
|
141
|
-
<SelectPrimitive.
|
|
147
|
+
<SelectPrimitive.ScrollUpArrow
|
|
142
148
|
data-slot="select-scroll-up-button"
|
|
143
149
|
className={cn(
|
|
144
|
-
"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
150
|
+
"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
145
151
|
className
|
|
146
152
|
)}
|
|
147
153
|
{...props}
|
|
148
154
|
>
|
|
149
155
|
<ChevronUpIcon />
|
|
150
|
-
</SelectPrimitive.
|
|
156
|
+
</SelectPrimitive.ScrollUpArrow>
|
|
151
157
|
)
|
|
152
158
|
}
|
|
153
159
|
|
|
154
160
|
function SelectScrollDownButton({
|
|
155
161
|
className,
|
|
156
162
|
...props
|
|
157
|
-
}: React.ComponentProps<typeof SelectPrimitive.
|
|
163
|
+
}: React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>) {
|
|
158
164
|
return (
|
|
159
|
-
<SelectPrimitive.
|
|
165
|
+
<SelectPrimitive.ScrollDownArrow
|
|
160
166
|
data-slot="select-scroll-down-button"
|
|
161
167
|
className={cn(
|
|
162
|
-
"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
168
|
+
"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
163
169
|
className
|
|
164
170
|
)}
|
|
165
171
|
{...props}
|
|
166
172
|
>
|
|
167
173
|
<ChevronDownIcon />
|
|
168
|
-
</SelectPrimitive.
|
|
174
|
+
</SelectPrimitive.ScrollDownArrow>
|
|
169
175
|
)
|
|
170
176
|
}
|
|
171
177
|
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import type * as React from 'react'
|
|
4
3
|
import { cn } from '@admin/utils/shared/cn'
|
|
5
|
-
import { Separator as SeparatorPrimitive } from '
|
|
4
|
+
import { Separator as SeparatorPrimitive } from '@base-ui/react/separator'
|
|
6
5
|
|
|
7
|
-
function Separator({
|
|
8
|
-
className,
|
|
9
|
-
orientation = 'horizontal',
|
|
10
|
-
decorative = true,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
|
|
6
|
+
function Separator({ className, orientation = 'horizontal', ...props }: SeparatorPrimitive.Props) {
|
|
13
7
|
return (
|
|
14
|
-
<SeparatorPrimitive
|
|
8
|
+
<SeparatorPrimitive
|
|
15
9
|
data-slot="separator"
|
|
16
|
-
decorative={decorative}
|
|
17
10
|
orientation={orientation}
|
|
18
11
|
className={cn(
|
|
19
12
|
'shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch',
|