betterstart-cli 0.0.106 → 0.0.108
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/admin-globals.css +1 -61
- package/dist/assets/adapters/next/templates/init/components/layouts/admin-header.tsx +2 -19
- 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-providers.tsx +4 -7
- 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 +53 -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-table-pagination.tsx +3 -1
- 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/copyable-code-block.tsx +2 -5
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/dev-mode-code-mirror.tsx +4 -5
- package/dist/assets/adapters/next/templates/init/components/shared/dev-mode/dev-mode-types.ts +0 -1
- 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/media/media-grid-pagination.tsx +3 -1
- package/dist/assets/adapters/next/templates/init/components/shared/sort-order-dialog.tsx +3 -5
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor-source-mode.tsx +2 -11
- package/dist/assets/adapters/next/templates/init/hooks/content-editor/use-content-editor.ts +1 -2
- package/dist/assets/adapters/next/templates/init/pages/dashboard-page.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/forgot-password-form.tsx +1 -1
- package/dist/assets/adapters/next/templates/init/pages/login-form.tsx +2 -2
- package/dist/assets/adapters/next/templates/init/pages/reset-password-form.tsx +2 -2
- 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/main-toolbar-content.tsx +3 -3
- 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/mobile-toolbar-content.tsx +1 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx +1 -5
- 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 +5 -17
- package/dist/assets/shared-assets/react-admin/custom/content-editor/table-bubble-menu.tsx +0 -1
- 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 +2 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/code-block-button/code-block-button.tsx +2 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/color-highlight-button/color-highlight-button.tsx +2 -1
- 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 +32 -30
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/link-popover/link-control-popover.tsx +17 -14
- 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 +23 -21
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/mark-button/mark-button.tsx +2 -1
- package/dist/assets/shared-assets/react-admin/custom/content-editor/tiptap-ui/undo-redo-button/undo-redo-button.tsx +2 -1
- 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.tsx +8 -7
- 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 +24 -21
- 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 +10 -7
- 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 +18 -26
- 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 +9 -25
- 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 +120 -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 +26 -13
- 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/kbd.tsx +1 -1
- 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 +10 -8
- 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/{chunk-OYU73Q2W.js → chunk-PSDUGFMD.js} +2 -2
- package/dist/{chunk-OYU73Q2W.js.map → chunk-PSDUGFMD.js.map} +1 -1
- package/dist/cli.js +122 -137
- package/dist/cli.js.map +1 -1
- package/dist/{read-namespaced-template-EIH2NPDJ.js → read-namespaced-template-TSATYQPP.js} +2 -2
- package/package.json +1 -1
- package/dist/assets/adapters/next/templates/init/hooks/use-admin-theme.tsx +0 -72
- package/dist/assets/adapters/next/templates/init/utils/theme/system.ts +0 -6
- /package/dist/{read-namespaced-template-EIH2NPDJ.js.map → read-namespaced-template-TSATYQPP.js.map} +0 -0
package/dist/assets/adapters/next/templates/init/components/shared/media/media-delete-drawer.tsx
CHANGED
|
@@ -4,10 +4,16 @@ import * as React from 'react'
|
|
|
4
4
|
import type { AdminMedia } from '@admin/types'
|
|
5
5
|
import { deleteMedia } from '@admin/actions/media'
|
|
6
6
|
import { Button } from '@admin/components/ui/button'
|
|
7
|
+
import {
|
|
8
|
+
Drawer,
|
|
9
|
+
DrawerContent,
|
|
10
|
+
DrawerDescription,
|
|
11
|
+
DrawerTitle,
|
|
12
|
+
DrawerTrigger
|
|
13
|
+
} from '@admin/components/ui/drawer'
|
|
7
14
|
import { Spinner } from '@admin/components/ui/spinner'
|
|
8
15
|
import { Trash2, TriangleAlert } from 'lucide-react'
|
|
9
16
|
import { toast } from 'sonner'
|
|
10
|
-
import { Drawer as DrawerPrimitive } from 'vaul'
|
|
11
17
|
|
|
12
18
|
interface MediaDeleteDrawerProps {
|
|
13
19
|
media: AdminMedia
|
|
@@ -90,63 +96,56 @@ export function MediaDeleteDrawer({
|
|
|
90
96
|
}
|
|
91
97
|
|
|
92
98
|
return (
|
|
93
|
-
<
|
|
99
|
+
<Drawer
|
|
94
100
|
container={container}
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
swipeDirection="down"
|
|
102
|
+
disablePointerDismissal={isPending}
|
|
97
103
|
open={open}
|
|
98
104
|
onOpenChange={handleOpenChange}
|
|
99
105
|
>
|
|
100
|
-
<
|
|
101
|
-
<Button variant="destructive" disabled={disabled || isPending || !container}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
</
|
|
106
|
-
<
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
<div
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
>
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
<
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
disabled={isPending}
|
|
140
|
-
aria-busy={isPending}
|
|
141
|
-
>
|
|
142
|
-
{isPending && <Spinner />}
|
|
143
|
-
{isPending ? 'Deleting…' : 'Delete media'}
|
|
144
|
-
</Button>
|
|
145
|
-
</div>
|
|
106
|
+
<DrawerTrigger
|
|
107
|
+
render={<Button variant="destructive" disabled={disabled || isPending || !container} />}
|
|
108
|
+
>
|
|
109
|
+
<Trash2 />
|
|
110
|
+
Delete media
|
|
111
|
+
</DrawerTrigger>
|
|
112
|
+
<DrawerContent className="pointer-events-auto max-h-[calc(100%-1rem)] overflow-hidden p-3 outline-none">
|
|
113
|
+
<div
|
|
114
|
+
className="overflow-hidden rounded-sm border border-border bg-popover text-sm text-popover-foreground shadow-2xl transition-[height] duration-200 ease-out"
|
|
115
|
+
style={contentHeight ? { height: contentHeight } : undefined}
|
|
116
|
+
>
|
|
117
|
+
<div ref={contentRef} className="max-h-[calc(100vh-8rem)] overflow-y-auto px-4 pt-4 pb-4">
|
|
118
|
+
<div aria-hidden="true" className="mx-auto mb-5 h-1.5 w-20 rounded-sm bg-muted" />
|
|
119
|
+
<div className="mb-3 flex size-10 items-center justify-center rounded-sm bg-destructive/10 text-foreground">
|
|
120
|
+
<TriangleAlert className="size-5" />
|
|
121
|
+
</div>
|
|
122
|
+
<DrawerTitle className="font-heading text-base font-medium text-foreground">
|
|
123
|
+
Delete this media?
|
|
124
|
+
</DrawerTitle>
|
|
125
|
+
<DrawerDescription className="mt-1 text-sm text-muted-foreground">
|
|
126
|
+
This deletes {media.filename} from the media library. The stored file is not deleted.
|
|
127
|
+
</DrawerDescription>
|
|
128
|
+
<div className="mt-5 grid grid-cols-2 gap-2">
|
|
129
|
+
<Button
|
|
130
|
+
variant="secondary"
|
|
131
|
+
onClick={() => handleOpenChange(false)}
|
|
132
|
+
disabled={isPending}
|
|
133
|
+
>
|
|
134
|
+
Cancel
|
|
135
|
+
</Button>
|
|
136
|
+
<Button
|
|
137
|
+
variant="destructive"
|
|
138
|
+
onClick={() => void handleDelete()}
|
|
139
|
+
disabled={isPending}
|
|
140
|
+
aria-busy={isPending}
|
|
141
|
+
>
|
|
142
|
+
{isPending && <Spinner />}
|
|
143
|
+
{isPending ? 'Deleting…' : 'Delete media'}
|
|
144
|
+
</Button>
|
|
146
145
|
</div>
|
|
147
146
|
</div>
|
|
148
|
-
</
|
|
149
|
-
</
|
|
150
|
-
</
|
|
147
|
+
</div>
|
|
148
|
+
</DrawerContent>
|
|
149
|
+
</Drawer>
|
|
151
150
|
)
|
|
152
151
|
}
|
package/dist/assets/adapters/next/templates/init/components/shared/media/media-grid-pagination.tsx
CHANGED
|
@@ -41,7 +41,9 @@ export function MediaGridPagination({
|
|
|
41
41
|
const perPage = 'Rows per page'
|
|
42
42
|
|
|
43
43
|
const handlePageSizeChange = React.useCallback(
|
|
44
|
-
(value: string) => {
|
|
44
|
+
(value: string | null) => {
|
|
45
|
+
if (value === null) return
|
|
46
|
+
|
|
45
47
|
React.startTransition(() => {
|
|
46
48
|
onPageSizeChange(Number(value))
|
|
47
49
|
onPageChange(1)
|
|
@@ -187,10 +187,10 @@ export function SortOrderDialog({
|
|
|
187
187
|
onDragCancel={handleDragCancel}
|
|
188
188
|
>
|
|
189
189
|
<Drawer
|
|
190
|
-
|
|
190
|
+
swipeDirection="right"
|
|
191
191
|
open={open}
|
|
192
192
|
onOpenChange={onOpenChange}
|
|
193
|
-
|
|
193
|
+
onOpenChangeComplete={handleDrawerAnimationEnd}
|
|
194
194
|
>
|
|
195
195
|
<DrawerContent className="h-full w-full overflow-hidden">
|
|
196
196
|
<div className="relative z-10 flex min-h-0 flex-1 flex-col gap-3 overflow-hidden">
|
|
@@ -231,9 +231,7 @@ export function SortOrderDialog({
|
|
|
231
231
|
{isSaving && <Spinner />}
|
|
232
232
|
{isSaving ? 'Saving…' : 'Save'}
|
|
233
233
|
</Button>
|
|
234
|
-
<DrawerClose
|
|
235
|
-
<Button variant="outline">Close</Button>
|
|
236
|
-
</DrawerClose>
|
|
234
|
+
<DrawerClose render={<Button variant="outline" />}>Close</DrawerClose>
|
|
237
235
|
</DrawerFooter>
|
|
238
236
|
</div>
|
|
239
237
|
</DrawerContent>
|
|
@@ -9,7 +9,6 @@ import type { QueryClient } from '@tanstack/react-query'
|
|
|
9
9
|
import type { ReactCodeMirrorRef } from '@uiw/react-codemirror'
|
|
10
10
|
import type { Root } from 'react-dom/client'
|
|
11
11
|
import { MediaField } from '@admin/components/custom/media-field'
|
|
12
|
-
import { useTheme } from '@admin/hooks/use-admin-theme'
|
|
13
12
|
import { applyCursorChange } from '@admin/utils/editor/apply-cursor-change'
|
|
14
13
|
import { applyCursorChangeIfAvailable } from '@admin/utils/editor/apply-cursor-change-if-available'
|
|
15
14
|
import { createMarkdownTableText } from '@admin/utils/editor/create-markdown-table-text'
|
|
@@ -33,11 +32,12 @@ import { redo, redoDepth, undo, undoDepth } from '@codemirror/commands'
|
|
|
33
32
|
import { markdown } from '@codemirror/lang-markdown'
|
|
34
33
|
import { Decoration, EditorView, WidgetType } from '@codemirror/view'
|
|
35
34
|
import { QueryClientProvider, useQueryClient } from '@tanstack/react-query'
|
|
36
|
-
import {
|
|
35
|
+
import { githubLightInit } from '@uiw/codemirror-theme-github'
|
|
37
36
|
import { NuqsAdapter } from 'nuqs/adapters/react'
|
|
38
37
|
import { createRoot } from 'react-dom/client'
|
|
39
38
|
|
|
40
39
|
const ADMIN_MONO_FONT_FAMILY = 'var(--font-geist-mono), ui-monospace, SFMono-Regular, monospace'
|
|
40
|
+
const editorTheme = githubLightInit({ settings: { fontFamily: ADMIN_MONO_FONT_FAMILY } })
|
|
41
41
|
|
|
42
42
|
type MarkdownMediaGalleryWidgetProps = {
|
|
43
43
|
widgetId: number
|
|
@@ -150,15 +150,6 @@ export function useContentEditorSourceMode({
|
|
|
150
150
|
const [isMarkdownLinkActive, setIsMarkdownLinkActive] = React.useState(false)
|
|
151
151
|
const [canUndoMarkdownChange, setCanUndoMarkdownChange] = React.useState(false)
|
|
152
152
|
const [canRedoMarkdownChange, setCanRedoMarkdownChange] = React.useState(false)
|
|
153
|
-
const { resolvedTheme } = useTheme()
|
|
154
|
-
const editorTheme = React.useMemo(
|
|
155
|
-
() =>
|
|
156
|
-
resolvedTheme === 'dark'
|
|
157
|
-
? githubDarkInit({ settings: { fontFamily: ADMIN_MONO_FONT_FAMILY } })
|
|
158
|
-
: githubLightInit({ settings: { fontFamily: ADMIN_MONO_FONT_FAMILY } }),
|
|
159
|
-
[resolvedTheme]
|
|
160
|
-
)
|
|
161
|
-
|
|
162
153
|
const valueRef = React.useRef(value)
|
|
163
154
|
valueRef.current = value
|
|
164
155
|
const onChangeRef = React.useRef(onChange)
|
|
@@ -99,8 +99,7 @@ export function useContentEditor({
|
|
|
99
99
|
autocomplete: 'off',
|
|
100
100
|
autocorrect: 'off',
|
|
101
101
|
autocapitalize: 'off',
|
|
102
|
-
class:
|
|
103
|
-
'simple-editor content-editor-prose prose prose-sm max-w-none dark:prose-invert focus:outline-none'
|
|
102
|
+
class: 'simple-editor content-editor-prose prose prose-sm max-w-none focus:outline-none'
|
|
104
103
|
},
|
|
105
104
|
handleKeyDown: (_view, event) => handleSlashKeyDown(event)
|
|
106
105
|
},
|
|
@@ -51,7 +51,7 @@ export default function DashboardPage() {
|
|
|
51
51
|
</p>
|
|
52
52
|
</div>
|
|
53
53
|
<div className="flex w-full flex-col">
|
|
54
|
-
<Accordion
|
|
54
|
+
<Accordion defaultValue={['item-1']}>
|
|
55
55
|
<AccordionItem value="item-1">
|
|
56
56
|
<AccordionTrigger>
|
|
57
57
|
<div className="flex items-center gap-3">
|
|
@@ -54,7 +54,7 @@ export function ForgotPasswordForm({ className, ...props }: React.ComponentProps
|
|
|
54
54
|
alt=""
|
|
55
55
|
fill
|
|
56
56
|
sizes="(min-width: 768px) 42vw, 0px"
|
|
57
|
-
className="object-cover
|
|
57
|
+
className="object-cover"
|
|
58
58
|
/>
|
|
59
59
|
</div>
|
|
60
60
|
<div className="p-6 md:p-20">
|
|
@@ -60,7 +60,7 @@ export function LoginForm({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
60
60
|
alt=""
|
|
61
61
|
fill
|
|
62
62
|
sizes="(min-width: 768px) 42vw, 0px"
|
|
63
|
-
className="object-cover
|
|
63
|
+
className="object-cover"
|
|
64
64
|
/>
|
|
65
65
|
</div>
|
|
66
66
|
<form onSubmit={handleSubmit} className="p-6 md:p-20">
|
|
@@ -70,7 +70,7 @@ export function LoginForm({ className, ...props }: React.ComponentProps<'div'>)
|
|
|
70
70
|
<p className="text-balance text-muted-foreground">Sign in to your account</p>
|
|
71
71
|
</div>
|
|
72
72
|
{resetSuccess ? (
|
|
73
|
-
<div className="rounded-md bg-emerald-500/10 p-3 text-sm text-emerald-700
|
|
73
|
+
<div className="rounded-md bg-emerald-500/10 p-3 text-sm text-emerald-700">
|
|
74
74
|
Password reset. Sign in with your new password.
|
|
75
75
|
</div>
|
|
76
76
|
) : null}
|
|
@@ -37,7 +37,7 @@ export function ResetPasswordForm({ className, ...props }: React.ComponentProps<
|
|
|
37
37
|
alt=""
|
|
38
38
|
fill
|
|
39
39
|
sizes="(min-width: 768px) 42vw, 0px"
|
|
40
|
-
className="object-cover
|
|
40
|
+
className="object-cover"
|
|
41
41
|
/>
|
|
42
42
|
</div>
|
|
43
43
|
<div className="p-6 md:p-20">
|
|
@@ -104,7 +104,7 @@ export function ResetPasswordForm({ className, ...props }: React.ComponentProps<
|
|
|
104
104
|
alt=""
|
|
105
105
|
fill
|
|
106
106
|
sizes="(min-width: 768px) 42vw, 0px"
|
|
107
|
-
className="object-cover
|
|
107
|
+
className="object-cover"
|
|
108
108
|
/>
|
|
109
109
|
</div>
|
|
110
110
|
<form onSubmit={handleSubmit} className="p-6 md:p-20">
|
|
@@ -36,7 +36,7 @@ function formatMetadata(metadata: Record<string, unknown> | null): string {
|
|
|
36
36
|
|
|
37
37
|
export function AuditLogDetailDrawer({ auditLog, open, onOpenChange }: AuditLogDetailDrawerProps) {
|
|
38
38
|
return (
|
|
39
|
-
<Drawer
|
|
39
|
+
<Drawer swipeDirection="right" open={open} onOpenChange={onOpenChange} modal>
|
|
40
40
|
<DrawerContent className="h-full sm:max-w-xl">
|
|
41
41
|
<DrawerHeader>
|
|
42
42
|
<DrawerTitle>Audit Event</DrawerTitle>
|
package/dist/assets/adapters/next/templates/init/pages/settings/forms/form-notifications-drawer.tsx
CHANGED
|
@@ -82,7 +82,7 @@ export function FormNotificationsDrawer({
|
|
|
82
82
|
const isPending = mutation.isPending
|
|
83
83
|
|
|
84
84
|
return (
|
|
85
|
-
<Drawer
|
|
85
|
+
<Drawer swipeDirection="right" open={open} onOpenChange={onOpenChange} modal>
|
|
86
86
|
<DrawerContent className="h-full sm:max-w-xl">
|
|
87
87
|
<Form {...form}>
|
|
88
88
|
<form
|
|
@@ -128,10 +128,10 @@ export function FormNotificationsDrawer({
|
|
|
128
128
|
</ScrollArea>
|
|
129
129
|
|
|
130
130
|
<DrawerFooter className="flex-row justify-end">
|
|
131
|
-
<DrawerClose
|
|
132
|
-
<Button type="button" variant="outline" size="lg" disabled={isPending}
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
<DrawerClose
|
|
132
|
+
render={<Button type="button" variant="outline" size="lg" disabled={isPending} />}
|
|
133
|
+
>
|
|
134
|
+
Cancel
|
|
135
135
|
</DrawerClose>
|
|
136
136
|
<Button
|
|
137
137
|
type="submit"
|
package/dist/assets/adapters/next/templates/init/pages/settings/webhooks/webhook-actions.tsx
CHANGED
|
@@ -23,33 +23,33 @@ export function WebhookActions({ webhook, onEdit, onDelete }: WebhookActionsProp
|
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
25
|
<DropdownMenu>
|
|
26
|
-
<DropdownMenuTrigger
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
<DropdownMenuTrigger
|
|
27
|
+
render={
|
|
28
|
+
<Button
|
|
29
|
+
variant="ghost"
|
|
30
|
+
className="size-8 p-0"
|
|
31
|
+
aria-label={`Open webhook actions for ${webhook.name}`}
|
|
32
|
+
>
|
|
33
|
+
<span className="sr-only">Open webhook actions</span>
|
|
34
|
+
{sendTest.isPending ? (
|
|
35
|
+
<Spinner className="size-4" />
|
|
36
|
+
) : (
|
|
37
|
+
<MoreHorizontal className="size-4" />
|
|
38
|
+
)}
|
|
39
|
+
</Button>
|
|
40
|
+
}
|
|
41
|
+
/>
|
|
40
42
|
<DropdownMenuContent align="end">
|
|
41
43
|
<DropdownMenuItem
|
|
44
|
+
closeOnClick={false}
|
|
42
45
|
disabled={sendTest.isPending}
|
|
43
46
|
aria-busy={sendTest.isPending}
|
|
44
|
-
|
|
45
|
-
event.preventDefault()
|
|
46
|
-
sendTest.mutate(webhook.id)
|
|
47
|
-
}}
|
|
47
|
+
onClick={() => sendTest.mutate(webhook.id)}
|
|
48
48
|
>
|
|
49
49
|
{sendTest.isPending ? 'Testing…' : 'Test'}
|
|
50
50
|
</DropdownMenuItem>
|
|
51
|
-
<DropdownMenuItem
|
|
52
|
-
<DropdownMenuItem variant="destructive"
|
|
51
|
+
<DropdownMenuItem onClick={() => onEdit(webhook)}>Edit</DropdownMenuItem>
|
|
52
|
+
<DropdownMenuItem variant="destructive" onClick={() => onDelete(webhook)}>
|
|
53
53
|
Delete
|
|
54
54
|
</DropdownMenuItem>
|
|
55
55
|
</DropdownMenuContent>
|
|
@@ -134,11 +134,13 @@ export function ChangePasswordDialog({
|
|
|
134
134
|
|
|
135
135
|
return (
|
|
136
136
|
<Dialog open={open} onOpenChange={handleOpenChange}>
|
|
137
|
-
<DialogTrigger
|
|
138
|
-
|
|
139
|
-
<
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
<DialogTrigger
|
|
138
|
+
render={
|
|
139
|
+
<DropdownMenuItem closeOnClick={false} onClick={(event) => event.preventDefault()} />
|
|
140
|
+
}
|
|
141
|
+
>
|
|
142
|
+
<KeySquare className="size-4" />
|
|
143
|
+
Change password
|
|
142
144
|
</DialogTrigger>
|
|
143
145
|
<DialogContent className="sm:max-w-135">
|
|
144
146
|
<Form {...form}>
|
|
@@ -148,11 +148,9 @@ export const columns: ColumnDef<User>[] = [
|
|
|
148
148
|
return (
|
|
149
149
|
<div className="flex justify-end">
|
|
150
150
|
<DropdownMenu>
|
|
151
|
-
<DropdownMenuTrigger
|
|
152
|
-
<
|
|
153
|
-
|
|
154
|
-
<MoreHorizontal className="size-4" />
|
|
155
|
-
</Button>
|
|
151
|
+
<DropdownMenuTrigger render={<Button variant="ghost" className="size-8 p-0" />}>
|
|
152
|
+
<span className="sr-only">Open menu</span>
|
|
153
|
+
<MoreHorizontal className="size-4" />
|
|
156
154
|
</DropdownMenuTrigger>
|
|
157
155
|
<DropdownMenuContent align="end">
|
|
158
156
|
{!isCurrentUser ? (
|
|
@@ -108,9 +108,7 @@ export function CreateUserDialog() {
|
|
|
108
108
|
|
|
109
109
|
return (
|
|
110
110
|
<Dialog open={open} onOpenChange={handleOpenChange}>
|
|
111
|
-
<DialogTrigger
|
|
112
|
-
<Button>Create User</Button>
|
|
113
|
-
</DialogTrigger>
|
|
111
|
+
<DialogTrigger render={<Button />}>Create User</DialogTrigger>
|
|
114
112
|
<DialogContent className="sm:max-w-135">
|
|
115
113
|
<Form {...form}>
|
|
116
114
|
<form onSubmit={form.handleSubmit((values) => mutation.mutate(values))}>
|
|
@@ -104,11 +104,17 @@ export function DeleteUserDialog({ userId, userName, isCurrentUser }: DeleteUser
|
|
|
104
104
|
|
|
105
105
|
return (
|
|
106
106
|
<AlertDialog open={open} onOpenChange={handleOpenChange}>
|
|
107
|
-
<AlertDialogTrigger
|
|
108
|
-
|
|
109
|
-
<
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
<AlertDialogTrigger
|
|
108
|
+
render={
|
|
109
|
+
<DropdownMenuItem
|
|
110
|
+
variant="destructive"
|
|
111
|
+
closeOnClick={false}
|
|
112
|
+
onClick={(event) => event.preventDefault()}
|
|
113
|
+
/>
|
|
114
|
+
}
|
|
115
|
+
>
|
|
116
|
+
<Trash className="size-4" />
|
|
117
|
+
Delete user
|
|
112
118
|
</AlertDialogTrigger>
|
|
113
119
|
<AlertDialogContent>
|
|
114
120
|
<Form {...form}>
|
|
@@ -56,7 +56,7 @@ export function EditRoleDialog({ userId, currentRole, userName, children }: Edit
|
|
|
56
56
|
|
|
57
57
|
return (
|
|
58
58
|
<Dialog open={open} onOpenChange={setOpen}>
|
|
59
|
-
<DialogTrigger
|
|
59
|
+
<DialogTrigger render={children as React.ReactElement} />
|
|
60
60
|
<DialogContent className="sm:max-w-87.5">
|
|
61
61
|
<DialogHeader>
|
|
62
62
|
<DialogTitle>Edit Role</DialogTitle>
|
package/dist/assets/shared-assets/react-admin/custom/content-editor/main-toolbar-content.tsx
CHANGED
|
@@ -49,7 +49,7 @@ export function MainToolbarContent({
|
|
|
49
49
|
<UndoRedoButton action="redo" />
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
|
-
<Separator orientation="vertical"
|
|
52
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
53
53
|
|
|
54
54
|
<div className="flex items-center gap-0.5">
|
|
55
55
|
<HeadingDropdownMenu />
|
|
@@ -59,7 +59,7 @@ export function MainToolbarContent({
|
|
|
59
59
|
<HorizontalRuleButton editor={editor} />
|
|
60
60
|
</div>
|
|
61
61
|
|
|
62
|
-
<Separator orientation="vertical"
|
|
62
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
63
63
|
|
|
64
64
|
<div className="flex items-center gap-0.5">
|
|
65
65
|
<MarkButton type="bold" />
|
|
@@ -75,7 +75,7 @@ export function MainToolbarContent({
|
|
|
75
75
|
{!isMobile ? <LinkPopover /> : <LinkButton onClick={onLinkClick} />}
|
|
76
76
|
</div>
|
|
77
77
|
|
|
78
|
-
<Separator orientation="vertical"
|
|
78
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
79
79
|
|
|
80
80
|
<div className="flex items-center">
|
|
81
81
|
<TableButton editor={editor} />
|
|
@@ -36,17 +36,19 @@ export function MathPopoverButton({
|
|
|
36
36
|
|
|
37
37
|
return (
|
|
38
38
|
<Popover open={isOpen} onOpenChange={setIsOpen}>
|
|
39
|
-
<PopoverTrigger
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
<PopoverTrigger
|
|
40
|
+
render={
|
|
41
|
+
<MathButton
|
|
42
|
+
{...buttonProps}
|
|
43
|
+
text={text}
|
|
44
|
+
disabled={disabled || !canInsert}
|
|
45
|
+
aria-label="Insert math"
|
|
46
|
+
title="Math"
|
|
47
|
+
onPointerDown={(event) => event.preventDefault()}
|
|
48
|
+
onClick={() => setIsOpen((current) => !current)}
|
|
49
|
+
/>
|
|
50
|
+
}
|
|
51
|
+
/>
|
|
50
52
|
<PopoverContent align="start" className="w-auto gap-0 p-0">
|
|
51
53
|
<MathEditorControls
|
|
52
54
|
disabled={disabled || !canInsert}
|
package/dist/assets/shared-assets/react-admin/custom/content-editor/mobile-toolbar-content.tsx
CHANGED
|
@@ -38,7 +38,7 @@ export function MobileToolbarContent({
|
|
|
38
38
|
</Button>
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
|
-
<Separator orientation="vertical"
|
|
41
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
42
42
|
|
|
43
43
|
{type === 'highlighter' ? (
|
|
44
44
|
<ColorHighlightPopoverContent />
|
package/dist/assets/shared-assets/react-admin/custom/content-editor/selection-bubble-menu.tsx
CHANGED
|
@@ -117,11 +117,7 @@ export function SelectionBubbleMenu({ editor }: { editor: Editor }) {
|
|
|
117
117
|
/>
|
|
118
118
|
</div>
|
|
119
119
|
|
|
120
|
-
<Separator
|
|
121
|
-
orientation="vertical"
|
|
122
|
-
decorative
|
|
123
|
-
className="mx-1 my-auto h-[65%] self-center"
|
|
124
|
-
/>
|
|
120
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
125
121
|
|
|
126
122
|
<div className="flex items-center gap-0.5">
|
|
127
123
|
<MarkButton editor={editor} type="bold" />
|
package/dist/assets/shared-assets/react-admin/custom/content-editor/source-mode-dropdown-button.tsx
CHANGED
|
@@ -29,20 +29,22 @@ export function SourceModeDropdownButton({
|
|
|
29
29
|
|
|
30
30
|
return (
|
|
31
31
|
<DropdownMenu open={isOpen} onOpenChange={setIsOpen}>
|
|
32
|
-
<DropdownMenuTrigger
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
<DropdownMenuTrigger
|
|
33
|
+
render={
|
|
34
|
+
<Button
|
|
35
|
+
type="button"
|
|
36
|
+
variant="ghost"
|
|
37
|
+
size="icon-sm"
|
|
38
|
+
className="w-auto px-2"
|
|
39
|
+
aria-label={ariaLabel ?? label}
|
|
40
|
+
title={label}
|
|
41
|
+
onPointerDown={(event) => event.preventDefault()}
|
|
42
|
+
onClick={() => setIsOpen((current) => !current)}
|
|
43
|
+
/>
|
|
44
|
+
}
|
|
45
|
+
>
|
|
46
|
+
<Icon />
|
|
47
|
+
<ChevronDownIcon className="tiptap-button-dropdown-small" />
|
|
46
48
|
</DropdownMenuTrigger>
|
|
47
49
|
<DropdownMenuContent align="start" className="w-auto min-w-40">
|
|
48
50
|
<DropdownMenuGroup>{children}</DropdownMenuGroup>
|
|
@@ -152,11 +152,7 @@ export function SourceMode({
|
|
|
152
152
|
</Button>
|
|
153
153
|
</div>
|
|
154
154
|
|
|
155
|
-
<Separator
|
|
156
|
-
orientation="vertical"
|
|
157
|
-
decorative
|
|
158
|
-
className="mx-1 my-auto h-[65%] self-center"
|
|
159
|
-
/>
|
|
155
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
160
156
|
|
|
161
157
|
<div className="flex items-center gap-0.5">
|
|
162
158
|
<SourceModeDropdownButton
|
|
@@ -173,7 +169,7 @@ export function SourceMode({
|
|
|
173
169
|
disabled={disabled}
|
|
174
170
|
aria-label={option.label}
|
|
175
171
|
title={option.label}
|
|
176
|
-
|
|
172
|
+
onClick={() => applyHeading(option.level)}
|
|
177
173
|
>
|
|
178
174
|
<Icon />
|
|
179
175
|
<span className="tiptap-button-text">{option.label}</span>
|
|
@@ -191,7 +187,7 @@ export function SourceMode({
|
|
|
191
187
|
disabled={disabled}
|
|
192
188
|
aria-label={option.label}
|
|
193
189
|
title={option.label}
|
|
194
|
-
|
|
190
|
+
onClick={() => applyList(option.type)}
|
|
195
191
|
>
|
|
196
192
|
<Icon />
|
|
197
193
|
<span className="tiptap-button-text">{option.label}</span>
|
|
@@ -234,11 +230,7 @@ export function SourceMode({
|
|
|
234
230
|
</Button>
|
|
235
231
|
</div>
|
|
236
232
|
|
|
237
|
-
<Separator
|
|
238
|
-
orientation="vertical"
|
|
239
|
-
decorative
|
|
240
|
-
className="mx-1 my-auto h-[65%] self-center"
|
|
241
|
-
/>
|
|
233
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
242
234
|
|
|
243
235
|
<div className="flex items-center gap-0.5">
|
|
244
236
|
{[
|
|
@@ -300,11 +292,7 @@ export function SourceMode({
|
|
|
300
292
|
/>
|
|
301
293
|
</div>
|
|
302
294
|
|
|
303
|
-
<Separator
|
|
304
|
-
orientation="vertical"
|
|
305
|
-
decorative
|
|
306
|
-
className="mx-1 my-auto h-[65%] self-center"
|
|
307
|
-
/>
|
|
295
|
+
<Separator orientation="vertical" className="mx-1 my-auto h-[65%] self-center" />
|
|
308
296
|
|
|
309
297
|
<div className="flex items-center">
|
|
310
298
|
<TableButton disabled={disabled} onInsertTable={insertTable} />
|
|
@@ -230,7 +230,6 @@ export function TableBubbleMenu({ editor }: { editor: Editor }) {
|
|
|
230
230
|
</div>
|
|
231
231
|
<Separator
|
|
232
232
|
orientation="vertical"
|
|
233
|
-
decorative
|
|
234
233
|
className="mx-1 my-auto h-5 w-px self-center bg-border opacity-100"
|
|
235
234
|
/>
|
|
236
235
|
<div className="flex items-center gap-0.5">
|