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,18 +1,19 @@
|
|
|
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 { ContextMenu as ContextMenuPrimitive } from '@base-ui/react/context-menu'
|
|
5
6
|
import { CheckIcon, ChevronRightIcon } from 'lucide-react'
|
|
6
|
-
import { ContextMenu as ContextMenuPrimitive } from 'radix-ui'
|
|
7
7
|
|
|
8
|
-
function ContextMenu({ ...props }:
|
|
8
|
+
function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {
|
|
9
9
|
return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) {
|
|
13
|
+
return <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props) {
|
|
16
17
|
return (
|
|
17
18
|
<ContextMenuPrimitive.Trigger
|
|
18
19
|
data-slot="context-menu-trigger"
|
|
@@ -22,41 +23,55 @@ function ContextMenuTrigger({
|
|
|
22
23
|
)
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return
|
|
26
|
+
function ContextMenuContent({
|
|
27
|
+
className,
|
|
28
|
+
align = 'start',
|
|
29
|
+
alignOffset = 4,
|
|
30
|
+
side = 'right',
|
|
31
|
+
sideOffset = 0,
|
|
32
|
+
...props
|
|
33
|
+
}: ContextMenuPrimitive.Popup.Props &
|
|
34
|
+
Pick<ContextMenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>) {
|
|
35
|
+
return (
|
|
36
|
+
<ContextMenuPrimitive.Portal>
|
|
37
|
+
<ContextMenuPrimitive.Positioner
|
|
38
|
+
className="isolate z-50 outline-none"
|
|
39
|
+
align={align}
|
|
40
|
+
alignOffset={alignOffset}
|
|
41
|
+
side={side}
|
|
42
|
+
sideOffset={sideOffset}
|
|
43
|
+
>
|
|
44
|
+
<ContextMenuPrimitive.Popup
|
|
45
|
+
data-slot="context-menu-content"
|
|
46
|
+
className={cn(
|
|
47
|
+
'cn-menu-target cn-menu-translucent z-50 max-h-(--available-height) min-w-48 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl bg-popover p-1 text-popover-foreground shadow-2xl ring-1 ring-foreground/5 duration-100 outline-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',
|
|
48
|
+
className
|
|
49
|
+
)}
|
|
50
|
+
{...props}
|
|
51
|
+
/>
|
|
52
|
+
</ContextMenuPrimitive.Positioner>
|
|
53
|
+
</ContextMenuPrimitive.Portal>
|
|
54
|
+
)
|
|
35
55
|
}
|
|
36
56
|
|
|
37
|
-
function
|
|
38
|
-
...props
|
|
39
|
-
}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {
|
|
40
|
-
return <ContextMenuPrimitive.RadioGroup data-slot="context-menu-radio-group" {...props} />
|
|
57
|
+
function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) {
|
|
58
|
+
return <ContextMenuPrimitive.Group data-slot="context-menu-group" {...props} />
|
|
41
59
|
}
|
|
42
60
|
|
|
43
|
-
function
|
|
61
|
+
function ContextMenuLabel({
|
|
44
62
|
className,
|
|
63
|
+
inset,
|
|
45
64
|
...props
|
|
46
|
-
}:
|
|
47
|
-
|
|
65
|
+
}: ContextMenuPrimitive.GroupLabel.Props & {
|
|
66
|
+
inset?: boolean
|
|
48
67
|
}) {
|
|
49
68
|
return (
|
|
50
|
-
<ContextMenuPrimitive.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
)}
|
|
57
|
-
{...props}
|
|
58
|
-
/>
|
|
59
|
-
</ContextMenuPrimitive.Portal>
|
|
69
|
+
<ContextMenuPrimitive.GroupLabel
|
|
70
|
+
data-slot="context-menu-label"
|
|
71
|
+
data-inset={inset}
|
|
72
|
+
className={cn('px-3 py-2.5 text-xs text-muted-foreground data-inset:pl-9.5', className)}
|
|
73
|
+
{...props}
|
|
74
|
+
/>
|
|
60
75
|
)
|
|
61
76
|
}
|
|
62
77
|
|
|
@@ -65,7 +80,7 @@ function ContextMenuItem({
|
|
|
65
80
|
inset,
|
|
66
81
|
variant = 'default',
|
|
67
82
|
...props
|
|
68
|
-
}:
|
|
83
|
+
}: ContextMenuPrimitive.Item.Props & {
|
|
69
84
|
inset?: boolean
|
|
70
85
|
variant?: 'default' | 'destructive'
|
|
71
86
|
}) {
|
|
@@ -75,7 +90,7 @@ function ContextMenuItem({
|
|
|
75
90
|
data-inset={inset}
|
|
76
91
|
data-variant={variant}
|
|
77
92
|
className={cn(
|
|
78
|
-
"group/context-menu-item relative flex cursor-default items-center gap-2.5 rounded-
|
|
93
|
+
"group/context-menu-item relative flex cursor-default items-center gap-2.5 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent 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 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive",
|
|
79
94
|
className
|
|
80
95
|
)}
|
|
81
96
|
{...props}
|
|
@@ -83,41 +98,40 @@ function ContextMenuItem({
|
|
|
83
98
|
)
|
|
84
99
|
}
|
|
85
100
|
|
|
101
|
+
function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) {
|
|
102
|
+
return <ContextMenuPrimitive.SubmenuRoot data-slot="context-menu-sub" {...props} />
|
|
103
|
+
}
|
|
104
|
+
|
|
86
105
|
function ContextMenuSubTrigger({
|
|
87
106
|
className,
|
|
88
107
|
inset,
|
|
89
108
|
children,
|
|
90
109
|
...props
|
|
91
|
-
}:
|
|
110
|
+
}: ContextMenuPrimitive.SubmenuTrigger.Props & {
|
|
92
111
|
inset?: boolean
|
|
93
112
|
}) {
|
|
94
113
|
return (
|
|
95
|
-
<ContextMenuPrimitive.
|
|
114
|
+
<ContextMenuPrimitive.SubmenuTrigger
|
|
96
115
|
data-slot="context-menu-sub-trigger"
|
|
97
116
|
data-inset={inset}
|
|
98
117
|
className={cn(
|
|
99
|
-
"flex cursor-default items-center rounded-
|
|
118
|
+
"flex cursor-default items-center rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-9.5 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
100
119
|
className
|
|
101
120
|
)}
|
|
102
121
|
{...props}
|
|
103
122
|
>
|
|
104
123
|
{children}
|
|
105
|
-
<ChevronRightIcon className="ml-auto" />
|
|
106
|
-
</ContextMenuPrimitive.
|
|
124
|
+
<ChevronRightIcon className="cn-rtl-flip ml-auto" />
|
|
125
|
+
</ContextMenuPrimitive.SubmenuTrigger>
|
|
107
126
|
)
|
|
108
127
|
}
|
|
109
128
|
|
|
110
|
-
function ContextMenuSubContent({
|
|
111
|
-
className,
|
|
112
|
-
...props
|
|
113
|
-
}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {
|
|
129
|
+
function ContextMenuSubContent({ ...props }: React.ComponentProps<typeof ContextMenuContent>) {
|
|
114
130
|
return (
|
|
115
|
-
<
|
|
131
|
+
<ContextMenuContent
|
|
116
132
|
data-slot="context-menu-sub-content"
|
|
117
|
-
className=
|
|
118
|
-
|
|
119
|
-
className
|
|
120
|
-
)}
|
|
133
|
+
className="cn-menu-target cn-menu-translucent shadow-lg"
|
|
134
|
+
side="right"
|
|
121
135
|
{...props}
|
|
122
136
|
/>
|
|
123
137
|
)
|
|
@@ -129,7 +143,7 @@ function ContextMenuCheckboxItem({
|
|
|
129
143
|
checked,
|
|
130
144
|
inset,
|
|
131
145
|
...props
|
|
132
|
-
}:
|
|
146
|
+
}: ContextMenuPrimitive.CheckboxItem.Props & {
|
|
133
147
|
inset?: boolean
|
|
134
148
|
}) {
|
|
135
149
|
return (
|
|
@@ -137,28 +151,32 @@ function ContextMenuCheckboxItem({
|
|
|
137
151
|
data-slot="context-menu-checkbox-item"
|
|
138
152
|
data-inset={inset}
|
|
139
153
|
className={cn(
|
|
140
|
-
"relative flex cursor-default items-center gap-2 rounded-
|
|
154
|
+
"relative flex cursor-default items-center gap-2 rounded-xl py-2 pr-8 pl-3 text-sm outline-hidden select-none focus:bg-accent 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
155
|
className
|
|
142
156
|
)}
|
|
143
157
|
checked={checked}
|
|
144
158
|
{...props}
|
|
145
159
|
>
|
|
146
160
|
<span className="pointer-events-none absolute right-2">
|
|
147
|
-
<ContextMenuPrimitive.
|
|
161
|
+
<ContextMenuPrimitive.CheckboxItemIndicator>
|
|
148
162
|
<CheckIcon />
|
|
149
|
-
</ContextMenuPrimitive.
|
|
163
|
+
</ContextMenuPrimitive.CheckboxItemIndicator>
|
|
150
164
|
</span>
|
|
151
165
|
{children}
|
|
152
166
|
</ContextMenuPrimitive.CheckboxItem>
|
|
153
167
|
)
|
|
154
168
|
}
|
|
155
169
|
|
|
170
|
+
function ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props) {
|
|
171
|
+
return <ContextMenuPrimitive.RadioGroup data-slot="context-menu-radio-group" {...props} />
|
|
172
|
+
}
|
|
173
|
+
|
|
156
174
|
function ContextMenuRadioItem({
|
|
157
175
|
className,
|
|
158
176
|
children,
|
|
159
177
|
inset,
|
|
160
178
|
...props
|
|
161
|
-
}:
|
|
179
|
+
}: ContextMenuPrimitive.RadioItem.Props & {
|
|
162
180
|
inset?: boolean
|
|
163
181
|
}) {
|
|
164
182
|
return (
|
|
@@ -166,42 +184,22 @@ function ContextMenuRadioItem({
|
|
|
166
184
|
data-slot="context-menu-radio-item"
|
|
167
185
|
data-inset={inset}
|
|
168
186
|
className={cn(
|
|
169
|
-
"relative flex cursor-default items-center gap-2 rounded-
|
|
187
|
+
"relative flex cursor-default items-center gap-2 rounded-xl py-2 pr-8 pl-3 text-sm outline-hidden select-none focus:bg-accent 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",
|
|
170
188
|
className
|
|
171
189
|
)}
|
|
172
190
|
{...props}
|
|
173
191
|
>
|
|
174
192
|
<span className="pointer-events-none absolute right-2">
|
|
175
|
-
<ContextMenuPrimitive.
|
|
193
|
+
<ContextMenuPrimitive.RadioItemIndicator>
|
|
176
194
|
<CheckIcon />
|
|
177
|
-
</ContextMenuPrimitive.
|
|
195
|
+
</ContextMenuPrimitive.RadioItemIndicator>
|
|
178
196
|
</span>
|
|
179
197
|
{children}
|
|
180
198
|
</ContextMenuPrimitive.RadioItem>
|
|
181
199
|
)
|
|
182
200
|
}
|
|
183
201
|
|
|
184
|
-
function
|
|
185
|
-
className,
|
|
186
|
-
inset,
|
|
187
|
-
...props
|
|
188
|
-
}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {
|
|
189
|
-
inset?: boolean
|
|
190
|
-
}) {
|
|
191
|
-
return (
|
|
192
|
-
<ContextMenuPrimitive.Label
|
|
193
|
-
data-slot="context-menu-label"
|
|
194
|
-
data-inset={inset}
|
|
195
|
-
className={cn('px-3 py-2.5 text-xs text-muted-foreground data-inset:pl-9.5', className)}
|
|
196
|
-
{...props}
|
|
197
|
-
/>
|
|
198
|
-
)
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
function ContextMenuSeparator({
|
|
202
|
-
className,
|
|
203
|
-
...props
|
|
204
|
-
}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {
|
|
202
|
+
function ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props) {
|
|
205
203
|
return (
|
|
206
204
|
<ContextMenuPrimitive.Separator
|
|
207
205
|
data-slot="context-menu-separator"
|
|
@@ -1,36 +1,33 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as React from 'react'
|
|
4
4
|
import { Button } from '@admin/components/ui/button'
|
|
5
5
|
import { cn } from '@admin/utils/shared/cn'
|
|
6
|
+
import { Dialog as DialogPrimitive } from '@base-ui/react/dialog'
|
|
6
7
|
import { XIcon } from 'lucide-react'
|
|
7
|
-
import { Dialog as DialogPrimitive } from 'radix-ui'
|
|
8
8
|
|
|
9
|
-
function Dialog({ ...props }:
|
|
9
|
+
function Dialog({ ...props }: DialogPrimitive.Root.Props) {
|
|
10
10
|
return <DialogPrimitive.Root data-slot="dialog" {...props} />
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
function DialogTrigger({ ...props }:
|
|
13
|
+
function DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) {
|
|
14
14
|
return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
function DialogPortal({ ...props }:
|
|
17
|
+
function DialogPortal({ ...props }: DialogPrimitive.Portal.Props) {
|
|
18
18
|
return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
function DialogClose({ ...props }:
|
|
21
|
+
function DialogClose({ ...props }: DialogPrimitive.Close.Props) {
|
|
22
22
|
return <DialogPrimitive.Close data-slot="dialog-close" {...props} />
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
function DialogOverlay({
|
|
26
|
-
className,
|
|
27
|
-
...props
|
|
28
|
-
}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
|
|
25
|
+
function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {
|
|
29
26
|
return (
|
|
30
|
-
<DialogPrimitive.
|
|
27
|
+
<DialogPrimitive.Backdrop
|
|
31
28
|
data-slot="dialog-overlay"
|
|
32
29
|
className={cn(
|
|
33
|
-
'fixed inset-0 isolate z-
|
|
30
|
+
'fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',
|
|
34
31
|
className
|
|
35
32
|
)}
|
|
36
33
|
{...props}
|
|
@@ -43,55 +40,43 @@ function DialogContent({
|
|
|
43
40
|
children,
|
|
44
41
|
showCloseButton = true,
|
|
45
42
|
...props
|
|
46
|
-
}:
|
|
43
|
+
}: DialogPrimitive.Popup.Props & {
|
|
47
44
|
showCloseButton?: boolean
|
|
48
45
|
}) {
|
|
49
46
|
return (
|
|
50
47
|
<DialogPortal>
|
|
51
48
|
<DialogOverlay />
|
|
52
|
-
<DialogPrimitive.
|
|
49
|
+
<DialogPrimitive.Popup
|
|
53
50
|
data-slot="dialog-content"
|
|
54
51
|
className={cn(
|
|
55
|
-
'fixed top-1/2 left-1/2 z-
|
|
52
|
+
'fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-4xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/5 duration-100 outline-none sm:max-w-md 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',
|
|
56
53
|
className
|
|
57
54
|
)}
|
|
58
55
|
{...props}
|
|
59
56
|
>
|
|
60
57
|
{children}
|
|
61
58
|
{showCloseButton && (
|
|
62
|
-
<DialogPrimitive.Close
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
<DialogPrimitive.Close
|
|
60
|
+
data-slot="dialog-close"
|
|
61
|
+
render={<Button variant="ghost" className="absolute top-4 right-4" size="icon-sm" />}
|
|
62
|
+
>
|
|
63
|
+
<XIcon />
|
|
64
|
+
<span className="sr-only">Close</span>
|
|
67
65
|
</DialogPrimitive.Close>
|
|
68
66
|
)}
|
|
69
|
-
</DialogPrimitive.
|
|
67
|
+
</DialogPrimitive.Popup>
|
|
70
68
|
</DialogPortal>
|
|
71
69
|
)
|
|
72
70
|
}
|
|
73
71
|
|
|
74
72
|
function DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
75
73
|
return (
|
|
76
|
-
<div
|
|
77
|
-
data-slot="dialog-header"
|
|
78
|
-
className={cn('flex flex-col gap-1 px-6 pt-6 pb-4', className)}
|
|
79
|
-
{...props}
|
|
80
|
-
/>
|
|
74
|
+
<div data-slot="dialog-header" className={cn('flex flex-col gap-2', className)} {...props} />
|
|
81
75
|
)
|
|
82
76
|
}
|
|
83
77
|
|
|
84
78
|
function DialogBody({ className, ...props }: React.ComponentProps<'div'>) {
|
|
85
|
-
return (
|
|
86
|
-
<div
|
|
87
|
-
data-slot="dialog-body"
|
|
88
|
-
className={cn(
|
|
89
|
-
'flex flex-col gap-1 rounded-sm border border-border bg-card p-6 shadow-input',
|
|
90
|
-
className
|
|
91
|
-
)}
|
|
92
|
-
{...props}
|
|
93
|
-
/>
|
|
94
|
-
)
|
|
79
|
+
return <div data-slot="dialog-body" className={cn('flex flex-col gap-4', className)} {...props} />
|
|
95
80
|
}
|
|
96
81
|
|
|
97
82
|
function DialogFooter({
|
|
@@ -105,38 +90,28 @@ function DialogFooter({
|
|
|
105
90
|
return (
|
|
106
91
|
<div
|
|
107
92
|
data-slot="dialog-footer"
|
|
108
|
-
className={cn(
|
|
109
|
-
'flex flex-col-reverse items-center gap-1 bg-muted px-6 pt-2 pb-3 sm:flex-row sm:justify-between',
|
|
110
|
-
className
|
|
111
|
-
)}
|
|
93
|
+
className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}
|
|
112
94
|
{...props}
|
|
113
95
|
>
|
|
96
|
+
{children}
|
|
114
97
|
{showCloseButton && (
|
|
115
|
-
<DialogPrimitive.Close
|
|
116
|
-
<Button variant="outline" size="lg">
|
|
117
|
-
Close
|
|
118
|
-
</Button>
|
|
119
|
-
</DialogPrimitive.Close>
|
|
98
|
+
<DialogPrimitive.Close render={<Button variant="outline" />}>Close</DialogPrimitive.Close>
|
|
120
99
|
)}
|
|
121
|
-
<div className="flex items-center gap-2">{children}</div>
|
|
122
100
|
</div>
|
|
123
101
|
)
|
|
124
102
|
}
|
|
125
103
|
|
|
126
|
-
function DialogTitle({ className, ...props }:
|
|
104
|
+
function DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {
|
|
127
105
|
return (
|
|
128
106
|
<DialogPrimitive.Title
|
|
129
107
|
data-slot="dialog-title"
|
|
130
|
-
className={cn('font-heading text-base leading-none font-medium', className)}
|
|
108
|
+
className={cn('cn-font-heading text-base leading-none font-medium', className)}
|
|
131
109
|
{...props}
|
|
132
110
|
/>
|
|
133
111
|
)
|
|
134
112
|
}
|
|
135
113
|
|
|
136
|
-
function DialogDescription({
|
|
137
|
-
className,
|
|
138
|
-
...props
|
|
139
|
-
}: React.ComponentProps<typeof DialogPrimitive.Description>) {
|
|
114
|
+
function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {
|
|
140
115
|
return (
|
|
141
116
|
<DialogPrimitive.Description
|
|
142
117
|
data-slot="dialog-description"
|
|
@@ -154,11 +129,11 @@ export {
|
|
|
154
129
|
DialogClose,
|
|
155
130
|
DialogContent,
|
|
156
131
|
DialogDescription,
|
|
132
|
+
DialogBody,
|
|
157
133
|
DialogFooter,
|
|
158
134
|
DialogHeader,
|
|
159
135
|
DialogOverlay,
|
|
160
136
|
DialogPortal,
|
|
161
137
|
DialogTitle,
|
|
162
|
-
DialogTrigger
|
|
163
|
-
DialogBody
|
|
138
|
+
DialogTrigger
|
|
164
139
|
}
|
|
@@ -1,20 +1,3 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import { Direction } from 'radix-ui'
|
|
5
|
-
|
|
6
|
-
function DirectionProvider({
|
|
7
|
-
dir,
|
|
8
|
-
direction,
|
|
9
|
-
children
|
|
10
|
-
}: React.ComponentProps<typeof Direction.DirectionProvider> & {
|
|
11
|
-
direction?: React.ComponentProps<typeof Direction.DirectionProvider>['dir']
|
|
12
|
-
}) {
|
|
13
|
-
return (
|
|
14
|
-
<Direction.DirectionProvider dir={direction ?? dir}>{children}</Direction.DirectionProvider>
|
|
15
|
-
)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const useDirection = Direction.useDirection
|
|
19
|
-
|
|
20
|
-
export { DirectionProvider, useDirection }
|
|
3
|
+
export { DirectionProvider, useDirection } from '@base-ui/react/direction-provider'
|