@actuate-media/cms-admin 0.49.0 → 0.49.3
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/CHANGELOG.md +34 -0
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +10 -11
- package/dist/AdminRoot.js.map +1 -1
- package/dist/__tests__/components/modal.render.test.d.ts +2 -0
- package/dist/__tests__/components/modal.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/modal.render.test.js +37 -0
- package/dist/__tests__/components/modal.render.test.js.map +1 -0
- package/dist/actuate-admin.css +1 -1
- package/dist/components/FolderTree.js +19 -19
- package/dist/components/FolderTree.js.map +1 -1
- package/dist/components/MediaPickerModal.d.ts +1 -1
- package/dist/components/MediaPickerModal.d.ts.map +1 -1
- package/dist/components/MediaPickerModal.js +12 -11
- package/dist/components/MediaPickerModal.js.map +1 -1
- package/dist/components/SchedulePublishDialog.d.ts +1 -1
- package/dist/components/SchedulePublishDialog.d.ts.map +1 -1
- package/dist/components/SchedulePublishDialog.js +6 -4
- package/dist/components/SchedulePublishDialog.js.map +1 -1
- package/dist/components/SharePreviewLinkDialog.d.ts +1 -1
- package/dist/components/SharePreviewLinkDialog.d.ts.map +1 -1
- package/dist/components/SharePreviewLinkDialog.js +10 -9
- package/dist/components/SharePreviewLinkDialog.js.map +1 -1
- package/dist/components/VersionHistory.d.ts +1 -1
- package/dist/components/VersionHistory.d.ts.map +1 -1
- package/dist/components/VersionHistory.js +14 -14
- package/dist/components/VersionHistory.js.map +1 -1
- package/dist/components/ui/Modal.d.ts +17 -1
- package/dist/components/ui/Modal.d.ts.map +1 -1
- package/dist/components/ui/Modal.js +16 -15
- package/dist/components/ui/Modal.js.map +1 -1
- package/dist/fields/BlockBuilderField.d.ts.map +1 -1
- package/dist/fields/BlockBuilderField.js +6 -4
- package/dist/fields/BlockBuilderField.js.map +1 -1
- package/dist/views/MediaBrowser.d.ts.map +1 -1
- package/dist/views/MediaBrowser.js +16 -16
- package/dist/views/MediaBrowser.js.map +1 -1
- package/dist/views/Pages/PagesListView.d.ts.map +1 -1
- package/dist/views/Pages/PagesListView.js +3 -3
- package/dist/views/Pages/PagesListView.js.map +1 -1
- package/dist/views/Posts/PostsListView.d.ts.map +1 -1
- package/dist/views/Posts/PostsListView.js +3 -3
- package/dist/views/Posts/PostsListView.js.map +1 -1
- package/dist/views/Redirects.d.ts.map +1 -1
- package/dist/views/Redirects.js +7 -7
- package/dist/views/Redirects.js.map +1 -1
- package/dist/views/ScriptTagEditor.js +4 -4
- package/dist/views/ScriptTagEditor.js.map +1 -1
- package/dist/views/ScriptTags.d.ts.map +1 -1
- package/dist/views/ScriptTags.js +5 -5
- package/dist/views/ScriptTags.js.map +1 -1
- package/dist/views/page-builder/AIGenerateDialog.d.ts +1 -1
- package/dist/views/page-builder/AIGenerateDialog.d.ts.map +1 -1
- package/dist/views/page-builder/AIGenerateDialog.js +23 -23
- package/dist/views/page-builder/AIGenerateDialog.js.map +1 -1
- package/package.json +1 -1
- package/src/AdminRoot.tsx +35 -30
- package/src/__tests__/components/modal.render.test.tsx +57 -0
- package/src/components/FolderTree.tsx +32 -32
- package/src/components/MediaPickerModal.tsx +143 -119
- package/src/components/SchedulePublishDialog.tsx +118 -93
- package/src/components/SharePreviewLinkDialog.tsx +115 -93
- package/src/components/VersionHistory.tsx +98 -82
- package/src/components/ui/Modal.tsx +48 -39
- package/src/fields/BlockBuilderField.tsx +26 -19
- package/src/views/MediaBrowser.tsx +128 -120
- package/src/views/Pages/PagesListView.tsx +123 -115
- package/src/views/Posts/PostsListView.tsx +114 -110
- package/src/views/Redirects.tsx +48 -44
- package/src/views/ScriptTagEditor.tsx +40 -40
- package/src/views/ScriptTags.tsx +34 -30
- package/src/views/page-builder/AIGenerateDialog.tsx +347 -335
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FolderTree.js","sourceRoot":"","sources":["../../src/components/FolderTree.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FolderTree.js","sourceRoot":"","sources":["../../src/components/FolderTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,5 +26,5 @@ export interface MediaPickerModalProps {
|
|
|
26
26
|
*/
|
|
27
27
|
libraryOnly?: boolean;
|
|
28
28
|
}
|
|
29
|
-
export declare function MediaPickerModal({ open, onClose, onSelect, onSelectItem, accept, libraryOnly, }: MediaPickerModalProps): import("react/jsx-runtime").JSX.Element
|
|
29
|
+
export declare function MediaPickerModal({ open, onClose, onSelect, onSelectItem, accept, libraryOnly, }: MediaPickerModalProps): import("react/jsx-runtime").JSX.Element;
|
|
30
30
|
//# sourceMappingURL=MediaPickerModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaPickerModal.d.ts","sourceRoot":"","sources":["../../src/components/MediaPickerModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MediaPickerModal.d.ts","sourceRoot":"","sources":["../../src/components/MediaPickerModal.tsx"],"names":[],"mappings":"AAsBA,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,WAAmB,GACpB,EAAE,qBAAqB,2CAsNvB"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef } from 'react';
|
|
3
|
+
import { useId, useState, useRef } from 'react';
|
|
4
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
4
5
|
import { X, Upload, Search, ImageIcon, Loader2 } from 'lucide-react';
|
|
5
6
|
import { toast } from 'sonner';
|
|
6
7
|
import { cmsApi } from '../lib/api.js';
|
|
8
|
+
import { adminPortalContainer } from '../lib/portal-container.js';
|
|
7
9
|
import { useApiData } from '../lib/useApiData.js';
|
|
8
10
|
export function MediaPickerModal({ open, onClose, onSelect, onSelectItem, accept, libraryOnly = false, }) {
|
|
9
11
|
const [tab, setTab] = useState('library');
|
|
10
12
|
const [search, setSearch] = useState('');
|
|
11
13
|
const [uploading, setUploading] = useState(false);
|
|
12
14
|
const fileInputRef = useRef(null);
|
|
15
|
+
const searchId = useId();
|
|
13
16
|
const { data, loading, refetch } = useApiData(open ? `/media?pageSize=50${search ? `&search=${encodeURIComponent(search)}` : ''}` : null);
|
|
14
17
|
const items = data?.data?.items ?? data?.items ?? [];
|
|
15
18
|
const imageItems = items.filter((item) => item.mimeType.startsWith('image/'));
|
|
@@ -61,15 +64,13 @@ export function MediaPickerModal({ open, onClose, onSelect, onSelectItem, accept
|
|
|
61
64
|
onSelect(url, item.filename);
|
|
62
65
|
onClose();
|
|
63
66
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return (_jsxs("button", { onClick: () => handleSelectItem(item), title: item.filename, className: "group relative aspect-square overflow-hidden rounded-lg border-2 border-gray-200 bg-gray-100 transition-colors hover:border-blue-500", children: [src ? (_jsx("img", { src: src, alt: item.filename, loading: "lazy", className: "h-full w-full object-contain" })) : (_jsx("div", { className: "flex h-full w-full items-center justify-center", children: _jsx(ImageIcon, { className: "h-8 w-8 text-gray-300" }) })), _jsx("div", { className: "absolute inset-x-0 bottom-0 bg-black/60 p-1.5 opacity-0 transition-opacity group-hover:opacity-100", children: _jsx("p", { className: "truncate text-xs text-white", children: item.filename }) })] }, item.id));
|
|
73
|
-
}) }))] })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-12", children: [_jsx("input", { ref: fileInputRef, type: "file", accept: accept ?? 'image/*', className: "hidden", onChange: (e) => handleUpload(e.target.files) }), _jsx("div", { className: "mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-blue-50", children: uploading ? (_jsx(Loader2, { className: "h-8 w-8 animate-spin text-blue-600" })) : (_jsx(Upload, { className: "h-8 w-8 text-blue-600" })) }), _jsx("p", { className: "mb-4 text-sm text-gray-600", children: uploading ? 'Uploading...' : 'Select an image file to upload' }), !uploading && (_jsx("button", { onClick: () => fileInputRef.current?.click(), className: "rounded-lg bg-blue-600 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-700", children: "Choose File" }))] })) })] })] }));
|
|
67
|
+
return (_jsx(Dialog.Root, { open: open, onOpenChange: (next) => !next && onClose(), children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-50 bg-black/40" }), _jsxs(Dialog.Content, { "aria-describedby": undefined, className: "bg-card text-card-foreground border-border fixed top-1/2 left-1/2 z-50 mx-4 flex max-h-[80vh] w-[calc(100%-2rem)] max-w-2xl -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl border shadow-2xl focus:outline-none", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsx(Dialog.Title, { className: "text-foreground text-lg font-medium", children: "Insert Image" }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close media picker", className: "text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-ring rounded-lg p-1.5 transition-colors focus-visible:ring-2 focus-visible:outline-none", children: _jsx(X, { className: "h-5 w-5", "aria-hidden": true }) }) })] }), !libraryOnly && (_jsxs("div", { className: "border-border flex border-b", role: "tablist", "aria-label": "Image source", children: [_jsx("button", { type: "button", role: "tab", "aria-selected": tab === 'library', onClick: () => setTab('library'), className: `flex-1 px-4 py-2.5 text-sm font-medium transition-colors ${tab === 'library'
|
|
68
|
+
? 'border-primary text-primary border-b-2'
|
|
69
|
+
: 'text-muted-foreground hover:text-foreground'}`, children: "Media Library" }), _jsx("button", { type: "button", role: "tab", "aria-selected": tab === 'upload', onClick: () => setTab('upload'), className: `flex-1 px-4 py-2.5 text-sm font-medium transition-colors ${tab === 'upload'
|
|
70
|
+
? 'border-primary text-primary border-b-2'
|
|
71
|
+
: 'text-muted-foreground hover:text-foreground'}`, children: "Upload New" })] })), _jsx("div", { className: "flex-1 overflow-y-auto p-4", children: libraryOnly || tab === 'library' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "relative mb-4", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2", "aria-hidden": true }), _jsx("input", { id: searchId, type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search images...", "aria-label": "Search images", className: "border-input bg-background text-foreground focus:ring-ring w-full rounded-lg border py-2 pr-3 pl-9 text-sm focus:ring-2 focus:outline-none" })] }), loading ? (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin", "aria-hidden": true }) })) : imageItems.length === 0 ? (_jsx("div", { className: "text-muted-foreground py-12 text-center text-sm", children: "No images found. Try uploading one." })) : (_jsx("div", { className: "grid grid-cols-3 gap-3 sm:grid-cols-4", children: imageItems.map((item) => {
|
|
72
|
+
const src = item.url || item.storageKey;
|
|
73
|
+
return (_jsxs("button", { type: "button", onClick: () => handleSelectItem(item), title: item.filename, className: "group border-border bg-muted hover:border-primary relative aspect-square overflow-hidden rounded-lg border-2 transition-colors", children: [src ? (_jsx("img", { src: src, alt: item.filename, loading: "lazy", className: "h-full w-full object-contain" })) : (_jsx("div", { className: "flex h-full w-full items-center justify-center", children: _jsx(ImageIcon, { className: "text-muted-foreground h-8 w-8", "aria-hidden": true }) })), _jsx("div", { className: "absolute inset-x-0 bottom-0 bg-black/60 p-1.5 opacity-0 transition-opacity group-hover:opacity-100", children: _jsx("p", { className: "truncate text-xs text-white", children: item.filename }) })] }, item.id));
|
|
74
|
+
}) }))] })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-12", children: [_jsx("input", { ref: fileInputRef, type: "file", accept: accept ?? 'image/*', className: "hidden", onChange: (e) => handleUpload(e.target.files) }), _jsx("div", { className: "bg-primary/10 mb-4 flex h-16 w-16 items-center justify-center rounded-full", children: uploading ? (_jsx(Loader2, { className: "text-primary h-8 w-8 animate-spin", "aria-hidden": true })) : (_jsx(Upload, { className: "text-primary h-8 w-8", "aria-hidden": true })) }), _jsx("p", { className: "text-muted-foreground mb-4 text-sm", children: uploading ? 'Uploading...' : 'Select an image file to upload' }), !uploading && (_jsx("button", { type: "button", onClick: () => fileInputRef.current?.click(), className: "bg-primary text-primary-foreground rounded-lg px-4 py-2 text-sm transition-opacity hover:opacity-90", children: "Choose File" }))] })) })] })] }) }));
|
|
74
75
|
}
|
|
75
76
|
//# sourceMappingURL=MediaPickerModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaPickerModal.js","sourceRoot":"","sources":["../../src/components/MediaPickerModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaPickerModal.js","sourceRoot":"","sources":["../../src/components/MediaPickerModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,5 @@ export interface SchedulePublishDialogProps {
|
|
|
14
14
|
scheduledUnpublishAt: string | null;
|
|
15
15
|
}) => void;
|
|
16
16
|
}
|
|
17
|
-
export declare function SchedulePublishDialog({ collectionSlug, documentId, scheduledAt, scheduledUnpublishAt, open, onClose, onScheduled, }: SchedulePublishDialogProps): import("react/jsx-runtime").JSX.Element
|
|
17
|
+
export declare function SchedulePublishDialog({ collectionSlug, documentId, scheduledAt, scheduledUnpublishAt, open, onClose, onScheduled, }: SchedulePublishDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
18
18
|
//# sourceMappingURL=SchedulePublishDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchedulePublishDialog.d.ts","sourceRoot":"","sources":["../../src/components/SchedulePublishDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchedulePublishDialog.d.ts","sourceRoot":"","sources":["../../src/components/SchedulePublishDialog.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,uEAAuE;IACvE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACnB,MAAM,EAAE,MAAM,CAAA;QACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KACpC,KAAK,IAAI,CAAA;CACX;AAsBD,wBAAgB,qBAAqB,CAAC,EACpC,cAAc,EACd,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,IAAI,EACJ,OAAO,EACP,WAAW,GACZ,EAAE,0BAA0B,2CAmN5B"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useState } from 'react';
|
|
3
|
+
import { useEffect, useId, useState } from 'react';
|
|
4
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
4
5
|
import { Calendar, Clock, Loader2, X } from 'lucide-react';
|
|
5
6
|
import { toast } from 'sonner';
|
|
6
7
|
import { cmsApi } from '../lib/api.js';
|
|
8
|
+
import { adminPortalContainer } from '../lib/portal-container.js';
|
|
7
9
|
/**
|
|
8
10
|
* Convert a Date or ISO string to the `YYYY-MM-DDTHH:mm` shape that the
|
|
9
11
|
* `<input type="datetime-local">` element expects, in the user's local
|
|
@@ -30,6 +32,8 @@ export function SchedulePublishDialog({ collectionSlug, documentId, scheduledAt,
|
|
|
30
32
|
const [includeUnpublish, setIncludeUnpublish] = useState(false);
|
|
31
33
|
const [saving, setSaving] = useState(false);
|
|
32
34
|
const [cancelling, setCancelling] = useState(false);
|
|
35
|
+
const publishAtId = useId();
|
|
36
|
+
const unpublishAtId = useId();
|
|
33
37
|
const hasExistingSchedule = Boolean(scheduledAt || scheduledUnpublishAt);
|
|
34
38
|
useEffect(() => {
|
|
35
39
|
if (!open)
|
|
@@ -99,8 +103,6 @@ export function SchedulePublishDialog({ collectionSlug, documentId, scheduledAt,
|
|
|
99
103
|
});
|
|
100
104
|
onClose();
|
|
101
105
|
}
|
|
102
|
-
|
|
103
|
-
return null;
|
|
104
|
-
return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [_jsx("div", { className: "fixed inset-0 bg-black/40", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-md rounded-lg bg-white shadow-xl", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-gray-200 px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Calendar, { className: "h-5 w-5 text-gray-600" }), _jsx("h2", { className: "text-lg font-semibold text-gray-900", children: "Schedule publishing" })] }), _jsx("button", { onClick: onClose, className: "rounded-lg p-1.5 transition-colors hover:bg-gray-100", children: _jsx(X, { className: "h-5 w-5 text-gray-500" }) })] }), _jsxs("div", { className: "space-y-4 px-4 py-4", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-sm font-medium text-gray-700", children: "Publish at" }), _jsxs("div", { className: "relative", children: [_jsx(Clock, { className: "pointer-events-none absolute top-2.5 left-2.5 h-4 w-4 text-gray-400" }), _jsx("input", { type: "datetime-local", value: publishAt, onChange: (e) => setPublishAt(e.target.value), min: toLocalDateTimeInput(new Date(Date.now() + 60 * 1000)), className: "w-full rounded-md border border-gray-300 bg-white py-2 pr-3 pl-9 text-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500 focus:outline-none" })] }), _jsx("p", { className: "text-xs text-gray-500", children: "The document will move from DRAFT to PUBLISHED at this time (your local timezone)." })] }), _jsxs("label", { className: "flex items-center gap-2 text-sm text-gray-700", children: [_jsx("input", { type: "checkbox", checked: includeUnpublish, onChange: (e) => setIncludeUnpublish(e.target.checked), className: "h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500" }), "Also schedule an unpublish"] }), includeUnpublish && (_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-sm font-medium text-gray-700", children: "Unpublish at" }), _jsxs("div", { className: "relative", children: [_jsx(Clock, { className: "pointer-events-none absolute top-2.5 left-2.5 h-4 w-4 text-gray-400" }), _jsx("input", { type: "datetime-local", value: unpublishAt, onChange: (e) => setUnpublishAt(e.target.value), min: publishAt || toLocalDateTimeInput(new Date(Date.now() + 60 * 1000)), className: "w-full rounded-md border border-gray-300 bg-white py-2 pr-3 pl-9 text-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500 focus:outline-none" })] })] }))] }), _jsxs("div", { className: "flex items-center justify-between gap-2 border-t border-gray-200 px-4 py-3", children: [hasExistingSchedule ? (_jsxs("button", { onClick: handleCancelSchedule, disabled: cancelling || saving, className: "inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium text-red-700 hover:bg-red-50 disabled:opacity-50", children: [cancelling ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(X, { className: "h-4 w-4" })), "Cancel schedule"] })) : (_jsx("span", {})), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { onClick: onClose, className: "rounded-md px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", children: "Close" }), _jsxs("button", { onClick: handleSave, disabled: saving || cancelling, className: "inline-flex items-center gap-1.5 rounded-md bg-blue-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-blue-700 disabled:opacity-50", children: [saving ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(Calendar, { className: "h-4 w-4" })), hasExistingSchedule ? 'Reschedule' : 'Schedule'] })] })] })] })] }));
|
|
106
|
+
return (_jsx(Dialog.Root, { open: open, onOpenChange: (next) => !next && onClose(), children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-50 bg-black/40" }), _jsxs(Dialog.Content, { className: "bg-card text-card-foreground border-border fixed top-1/2 left-1/2 z-50 w-full max-w-md -translate-x-1/2 -translate-y-1/2 rounded-lg border shadow-xl focus:outline-none", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Calendar, { className: "text-muted-foreground h-5 w-5", "aria-hidden": true }), _jsx(Dialog.Title, { className: "text-foreground text-lg font-medium", children: "Schedule publishing" })] }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close dialog", className: "text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-ring rounded-lg p-1.5 transition-colors focus-visible:ring-2 focus-visible:outline-none", children: _jsx(X, { className: "h-5 w-5", "aria-hidden": true }) }) })] }), _jsxs("div", { className: "space-y-4 px-4 py-4", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: publishAtId, className: "text-foreground text-sm font-medium", children: "Publish at" }), _jsxs("div", { className: "relative", children: [_jsx(Clock, { className: "text-muted-foreground pointer-events-none absolute top-2.5 left-2.5 h-4 w-4", "aria-hidden": true }), _jsx("input", { id: publishAtId, type: "datetime-local", value: publishAt, onChange: (e) => setPublishAt(e.target.value), min: toLocalDateTimeInput(new Date(Date.now() + 60 * 1000)), className: "border-input bg-background text-foreground focus:border-ring focus:ring-ring w-full rounded-md border py-2 pr-3 pl-9 text-sm focus:ring-1 focus:outline-none" })] }), _jsx("p", { className: "text-muted-foreground text-xs", children: "The document will move from DRAFT to PUBLISHED at this time (your local timezone)." })] }), _jsxs("label", { className: "text-foreground flex items-center gap-2 text-sm", children: [_jsx("input", { type: "checkbox", checked: includeUnpublish, onChange: (e) => setIncludeUnpublish(e.target.checked), className: "border-input text-primary focus:ring-ring h-4 w-4 rounded" }), "Also schedule an unpublish"] }), includeUnpublish && (_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: unpublishAtId, className: "text-foreground text-sm font-medium", children: "Unpublish at" }), _jsxs("div", { className: "relative", children: [_jsx(Clock, { className: "text-muted-foreground pointer-events-none absolute top-2.5 left-2.5 h-4 w-4", "aria-hidden": true }), _jsx("input", { id: unpublishAtId, type: "datetime-local", value: unpublishAt, onChange: (e) => setUnpublishAt(e.target.value), min: publishAt || toLocalDateTimeInput(new Date(Date.now() + 60 * 1000)), className: "border-input bg-background text-foreground focus:border-ring focus:ring-ring w-full rounded-md border py-2 pr-3 pl-9 text-sm focus:ring-1 focus:outline-none" })] })] }))] }), _jsxs("div", { className: "border-border flex items-center justify-between gap-2 border-t px-4 py-3", children: [hasExistingSchedule ? (_jsxs("button", { type: "button", onClick: handleCancelSchedule, disabled: cancelling || saving, className: "text-destructive hover:bg-destructive/10 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium disabled:opacity-50", children: [cancelling ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true })) : (_jsx(X, { className: "h-4 w-4", "aria-hidden": true })), "Cancel schedule"] })) : (_jsx("span", {})), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", className: "text-foreground hover:bg-accent rounded-md px-3 py-1.5 text-sm", children: "Close" }) }), _jsxs("button", { type: "button", onClick: handleSave, disabled: saving || cancelling, className: "bg-primary text-primary-foreground inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium hover:opacity-90 disabled:opacity-50", children: [saving ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true })) : (_jsx(Calendar, { className: "h-4 w-4", "aria-hidden": true })), hasExistingSchedule ? 'Reschedule' : 'Schedule'] })] })] })] })] }) }));
|
|
105
107
|
}
|
|
106
108
|
//# sourceMappingURL=SchedulePublishDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchedulePublishDialog.js","sourceRoot":"","sources":["../../src/components/SchedulePublishDialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SchedulePublishDialog.js","sourceRoot":"","sources":["../../src/components/SchedulePublishDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,5 @@ export interface SharePreviewLinkDialogProps {
|
|
|
13
13
|
open: boolean;
|
|
14
14
|
onClose: () => void;
|
|
15
15
|
}
|
|
16
|
-
export declare function SharePreviewLinkDialog({ collectionSlug, documentId, documentSlug, siteUrl, urlPrefix, open, onClose, }: SharePreviewLinkDialogProps): import("react/jsx-runtime").JSX.Element
|
|
16
|
+
export declare function SharePreviewLinkDialog({ collectionSlug, documentId, documentSlug, siteUrl, urlPrefix, open, onClose, }: SharePreviewLinkDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
//# sourceMappingURL=SharePreviewLinkDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharePreviewLinkDialog.d.ts","sourceRoot":"","sources":["../../src/components/SharePreviewLinkDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SharePreviewLinkDialog.d.ts","sourceRoot":"","sources":["../../src/components/SharePreviewLinkDialog.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAyCD,wBAAgB,sBAAsB,CAAC,EACrC,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,SAAS,EACT,IAAI,EACJ,OAAO,GACR,EAAE,2BAA2B,2CAgL7B"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useId, useState } from 'react';
|
|
4
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
4
5
|
import { Check, Copy, Link2, Loader2, Share2, X } from 'lucide-react';
|
|
5
6
|
import { toast } from 'sonner';
|
|
6
7
|
import { cmsApi } from '../lib/api.js';
|
|
8
|
+
import { adminPortalContainer } from '../lib/portal-container.js';
|
|
7
9
|
const TTL_CHOICES = [
|
|
8
10
|
{ label: '1 hour', seconds: 60 * 60, hint: 'Quick review' },
|
|
9
11
|
{ label: '1 day', seconds: 24 * 60 * 60, hint: 'Single workday' },
|
|
@@ -30,6 +32,7 @@ export function SharePreviewLinkDialog({ collectionSlug, documentId, documentSlu
|
|
|
30
32
|
const [expiresAt, setExpiresAt] = useState('');
|
|
31
33
|
const [generating, setGenerating] = useState(false);
|
|
32
34
|
const [copied, setCopied] = useState(false);
|
|
35
|
+
const previewUrlId = useId();
|
|
33
36
|
async function generate() {
|
|
34
37
|
setGenerating(true);
|
|
35
38
|
const res = await cmsApi('/preview/token', {
|
|
@@ -71,13 +74,11 @@ export function SharePreviewLinkDialog({ collectionSlug, documentId, documentSlu
|
|
|
71
74
|
toast.error("Couldn't copy to clipboard");
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
: 'border-gray-200 hover:border-gray-300 hover:bg-gray-50'}`, children: [_jsx("div", { className: "font-medium", children: choice.label }), _jsx("div", { className: "text-xs text-gray-500", children: choice.hint })] }, choice.seconds));
|
|
81
|
-
}) }), _jsx("p", { className: "text-xs text-gray-500", children: "Preview tokens can't be revoked individually \u2014 pick the shortest TTL that fits." })] }), previewUrl ? (_jsxs("div", { className: "space-y-2 rounded-lg border border-gray-200 bg-gray-50 p-3", children: [_jsx("label", { className: "text-xs font-medium tracking-wide text-gray-500 uppercase", children: "Preview URL" }), _jsxs("div", { className: "flex items-stretch gap-2", children: [_jsx("input", { readOnly: true, value: previewUrl, onFocus: (e) => e.currentTarget.select(), className: "flex-1 rounded-md border border-gray-300 bg-white px-2 py-1.5 font-mono text-xs" }), _jsxs("button", { onClick: copyToClipboard, className: "inline-flex items-center gap-1.5 rounded-md bg-gray-900 px-3 py-1.5 text-xs font-medium text-white hover:bg-gray-700", children: [copied ? _jsx(Check, { className: "h-3.5 w-3.5" }) : _jsx(Copy, { className: "h-3.5 w-3.5" }), copied ? 'Copied' : 'Copy'] })] }), expiresAt && (_jsxs("p", { className: "text-xs text-gray-500", children: ["Expires ", new Date(expiresAt).toLocaleString()] }))] })) : null] }), _jsxs("div", { className: "flex items-center justify-end gap-2 border-t border-gray-200 px-4 py-3", children: [_jsx("button", { onClick: onClose, className: "rounded-md px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", children: "Close" }), _jsxs("button", { onClick: generate, disabled: generating, className: "inline-flex items-center gap-1.5 rounded-md bg-blue-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-blue-700 disabled:opacity-50", children: [generating ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(Link2, { className: "h-4 w-4" })), previewUrl ? 'Generate new link' : 'Generate link'] })] })] })] }));
|
|
77
|
+
return (_jsx(Dialog.Root, { open: open, onOpenChange: (next) => !next && onClose(), children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-50 bg-black/40" }), _jsxs(Dialog.Content, { className: "bg-card text-card-foreground border-border fixed top-1/2 left-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 rounded-lg border shadow-xl focus:outline-none", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Share2, { className: "text-muted-foreground h-5 w-5", "aria-hidden": true }), _jsx(Dialog.Title, { className: "text-foreground text-lg font-medium", children: "Share preview link" })] }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close dialog", className: "text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-ring rounded-lg p-1.5 transition-colors focus-visible:ring-2 focus-visible:outline-none", children: _jsx(X, { className: "h-5 w-5", "aria-hidden": true }) }) })] }), _jsxs("div", { className: "space-y-4 px-4 py-4", children: [_jsx(Dialog.Description, { className: "text-muted-foreground text-sm", children: "Generate a signed URL that lets anyone with the link view the current draft of this document \u2014 even if it's never been published." }), _jsxs("div", { className: "space-y-2", children: [_jsx("span", { className: "text-foreground text-sm font-medium", children: "Link lifetime" }), _jsx("div", { className: "grid grid-cols-2 gap-2", children: TTL_CHOICES.map((choice) => {
|
|
78
|
+
const selected = ttl === choice.seconds;
|
|
79
|
+
return (_jsxs("button", { type: "button", "aria-pressed": selected, onClick: () => setTtl(choice.seconds), className: `rounded-md border px-3 py-2 text-left text-sm transition-colors ${selected
|
|
80
|
+
? 'border-primary bg-primary/10 text-foreground'
|
|
81
|
+
: 'border-border hover:border-input hover:bg-accent'}`, children: [_jsx("div", { className: "font-medium", children: choice.label }), _jsx("div", { className: "text-muted-foreground text-xs", children: choice.hint })] }, choice.seconds));
|
|
82
|
+
}) }), _jsx("p", { className: "text-muted-foreground text-xs", children: "Preview tokens can't be revoked individually \u2014 pick the shortest TTL that fits." })] }), previewUrl ? (_jsxs("div", { className: "border-border bg-muted space-y-2 rounded-lg border p-3", children: [_jsx("label", { htmlFor: previewUrlId, className: "text-muted-foreground text-xs font-medium tracking-wide uppercase", children: "Preview URL" }), _jsxs("div", { className: "flex items-stretch gap-2", children: [_jsx("input", { id: previewUrlId, readOnly: true, value: previewUrl, onFocus: (e) => e.currentTarget.select(), className: "border-input bg-background text-foreground flex-1 rounded-md border px-2 py-1.5 font-mono text-xs" }), _jsxs("button", { type: "button", onClick: copyToClipboard, className: "bg-primary text-primary-foreground inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium hover:opacity-90", children: [copied ? (_jsx(Check, { className: "h-3.5 w-3.5", "aria-hidden": true })) : (_jsx(Copy, { className: "h-3.5 w-3.5", "aria-hidden": true })), copied ? 'Copied' : 'Copy'] })] }), expiresAt && (_jsxs("p", { className: "text-muted-foreground text-xs", children: ["Expires ", new Date(expiresAt).toLocaleString()] }))] })) : null] }), _jsxs("div", { className: "border-border flex items-center justify-end gap-2 border-t px-4 py-3", children: [_jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", className: "text-foreground hover:bg-accent rounded-md px-3 py-1.5 text-sm", children: "Close" }) }), _jsxs("button", { type: "button", onClick: generate, disabled: generating, className: "bg-primary text-primary-foreground inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium hover:opacity-90 disabled:opacity-50", children: [generating ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true })) : (_jsx(Link2, { className: "h-4 w-4", "aria-hidden": true })), previewUrl ? 'Generate new link' : 'Generate link'] })] })] })] }) }));
|
|
82
83
|
}
|
|
83
84
|
//# sourceMappingURL=SharePreviewLinkDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharePreviewLinkDialog.js","sourceRoot":"","sources":["../../src/components/SharePreviewLinkDialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SharePreviewLinkDialog.js","sourceRoot":"","sources":["../../src/components/SharePreviewLinkDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ export interface VersionHistoryProps {
|
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
onRestore?: (data: Record<string, unknown>) => void;
|
|
7
7
|
}
|
|
8
|
-
export declare function VersionHistory({ collectionSlug, documentId, open, onClose, onRestore, }: VersionHistoryProps): import("react/jsx-runtime").JSX.Element
|
|
8
|
+
export declare function VersionHistory({ collectionSlug, documentId, open, onClose, onRestore, }: VersionHistoryProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
//# sourceMappingURL=VersionHistory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionHistory.d.ts","sourceRoot":"","sources":["../../src/components/VersionHistory.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VersionHistory.d.ts","sourceRoot":"","sources":["../../src/components/VersionHistory.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACpD;AAqBD,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,UAAU,EACV,IAAI,EACJ,OAAO,EACP,SAAS,GACV,EAAE,mBAAmB,2CA2IrB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
4
5
|
import { X, RotateCcw, Clock, User, Loader2 } from 'lucide-react';
|
|
5
6
|
import { toast } from 'sonner';
|
|
6
7
|
import { cmsApi } from '../lib/api.js';
|
|
8
|
+
import { adminPortalContainer } from '../lib/portal-container.js';
|
|
7
9
|
function timeAgo(dateStr) {
|
|
8
10
|
const diff = Date.now() - new Date(dateStr).getTime();
|
|
9
11
|
const minutes = Math.floor(diff / 60_000);
|
|
@@ -20,10 +22,10 @@ function timeAgo(dateStr) {
|
|
|
20
22
|
return new Date(dateStr).toLocaleDateString();
|
|
21
23
|
}
|
|
22
24
|
const CHANGE_TYPE_LABELS = {
|
|
23
|
-
CREATE: { label: 'Created', color: 'bg-
|
|
24
|
-
UPDATE: { label: 'Updated', color: 'bg-
|
|
25
|
-
DELETE: { label: 'Deleted', color: 'bg-
|
|
26
|
-
RESTORE: { label: 'Restored', color: 'bg-
|
|
25
|
+
CREATE: { label: 'Created', color: 'bg-success/15 text-success' },
|
|
26
|
+
UPDATE: { label: 'Updated', color: 'bg-primary/15 text-primary' },
|
|
27
|
+
DELETE: { label: 'Deleted', color: 'bg-destructive/15 text-destructive' },
|
|
28
|
+
RESTORE: { label: 'Restored', color: 'bg-accent text-accent-foreground' },
|
|
27
29
|
};
|
|
28
30
|
export function VersionHistory({ collectionSlug, documentId, open, onClose, onRestore, }) {
|
|
29
31
|
const [versions, setVersions] = useState([]);
|
|
@@ -56,15 +58,13 @@ export function VersionHistory({ collectionSlug, documentId, open, onClose, onRe
|
|
|
56
58
|
}
|
|
57
59
|
setRestoring(null);
|
|
58
60
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return (_jsx("div", { className: "px-4 py-3 transition-colors hover:bg-gray-50", children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "mb-1 flex items-center gap-2", children: [_jsx("span", { className: `inline-flex rounded-full px-2 py-0.5 text-xs font-medium ${typeInfo.color}`, children: typeInfo.label }), isLatest && (_jsx("span", { className: "text-xs font-medium text-gray-400", children: "Current" }))] }), _jsxs("div", { className: "flex items-center gap-3 text-xs text-gray-500", children: [version.changedBy && (_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(User, { className: "h-3 w-3" }), version.changedBy.name ?? version.changedBy.email ?? 'Unknown'] })), _jsx("span", { title: new Date(version.createdAt).toLocaleString(), children: timeAgo(version.createdAt) })] })] }), !isLatest && (_jsxs("button", { onClick: () => handleRestore(version), disabled: restoring === version.id, className: "flex items-center gap-1.5 rounded-lg bg-blue-50 px-2.5 py-1.5 text-xs font-medium text-blue-700 transition-colors hover:bg-blue-100 disabled:opacity-50", children: [restoring === version.id ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : (_jsx(RotateCcw, { className: "h-3.5 w-3.5" })), "Restore"] }))] }) }, version.id));
|
|
68
|
-
}) })) })] })] }));
|
|
61
|
+
return (_jsx(Dialog.Root, { open: open, onOpenChange: (next) => !next && onClose(), children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-50 bg-black/30" }), _jsxs(Dialog.Content, { "aria-describedby": undefined, className: "bg-card text-card-foreground border-border animate-in slide-in-from-right fixed inset-y-0 right-0 z-50 flex w-full max-w-md flex-col border-l shadow-xl focus:outline-none", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "text-muted-foreground h-5 w-5", "aria-hidden": true }), _jsx(Dialog.Title, { className: "text-foreground text-lg font-medium", children: "Version History" })] }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close version history", className: "text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-ring rounded-lg p-1.5 transition-colors focus-visible:ring-2 focus-visible:outline-none", children: _jsx(X, { className: "h-5 w-5", "aria-hidden": true }) }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: loading ? (_jsx("div", { className: "flex items-center justify-center py-16", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin", "aria-hidden": true }) })) : versions.length === 0 ? (_jsx("div", { className: "text-muted-foreground py-16 text-center text-sm", children: "No version history available" })) : (_jsx("div", { className: "divide-border divide-y", children: versions.map((version, index) => {
|
|
62
|
+
const typeInfo = CHANGE_TYPE_LABELS[version.changeType] ?? {
|
|
63
|
+
label: version.changeType,
|
|
64
|
+
color: 'bg-muted text-muted-foreground',
|
|
65
|
+
};
|
|
66
|
+
const isLatest = index === 0;
|
|
67
|
+
return (_jsx("div", { className: "hover:bg-accent/50 px-4 py-3 transition-colors", children: _jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "mb-1 flex items-center gap-2", children: [_jsx("span", { className: `inline-flex rounded-full px-2 py-0.5 text-xs font-medium ${typeInfo.color}`, children: typeInfo.label }), isLatest && (_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Current" }))] }), _jsxs("div", { className: "text-muted-foreground flex items-center gap-3 text-xs", children: [version.changedBy && (_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(User, { className: "h-3 w-3", "aria-hidden": true }), version.changedBy.name ?? version.changedBy.email ?? 'Unknown'] })), _jsx("span", { title: new Date(version.createdAt).toLocaleString(), children: timeAgo(version.createdAt) })] })] }), !isLatest && (_jsxs("button", { type: "button", onClick: () => handleRestore(version), disabled: restoring === version.id, className: "bg-primary/10 text-primary hover:bg-primary/20 flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors disabled:opacity-50", children: [restoring === version.id ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin", "aria-hidden": true })) : (_jsx(RotateCcw, { className: "h-3.5 w-3.5", "aria-hidden": true })), "Restore"] }))] }) }, version.id));
|
|
68
|
+
}) })) })] })] }) }));
|
|
69
69
|
}
|
|
70
70
|
//# sourceMappingURL=VersionHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionHistory.js","sourceRoot":"","sources":["../../src/components/VersionHistory.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"VersionHistory.js","sourceRoot":"","sources":["../../src/components/VersionHistory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,22 @@ export interface ModalProps {
|
|
|
5
5
|
title: string;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
actions?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Accessible description for the dialog, announced after the title. Optional —
|
|
10
|
+
* omit when the body content is self-explanatory.
|
|
11
|
+
*/
|
|
12
|
+
description?: string;
|
|
8
13
|
}
|
|
9
|
-
|
|
14
|
+
/**
|
|
15
|
+
* The canonical admin modal. Built on Radix `Dialog`, which provides the
|
|
16
|
+
* accessibility contract for free: focus is trapped while open and restored to
|
|
17
|
+
* the trigger on close, Escape and overlay-click dismiss, the surface is
|
|
18
|
+
* exposed as `role="dialog"` + `aria-modal`, and the title/description are wired
|
|
19
|
+
* via `aria-labelledby`/`aria-describedby`.
|
|
20
|
+
*
|
|
21
|
+
* The portal mounts inside `.actuate-admin` (see `adminPortalContainer`) so the
|
|
22
|
+
* dialog inherits theme tokens and dark mode instead of rendering unstyled on
|
|
23
|
+
* `document.body`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function Modal({ open, onClose, title, children, actions, description }: ModalProps): import("react/jsx-runtime").JSX.Element;
|
|
10
26
|
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Modal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Modal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,UAAU,2CA+BzF"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
4
|
+
import { X } from 'lucide-react';
|
|
5
|
+
import { adminPortalContainer } from '../../lib/portal-container.js';
|
|
6
|
+
/**
|
|
7
|
+
* The canonical admin modal. Built on Radix `Dialog`, which provides the
|
|
8
|
+
* accessibility contract for free: focus is trapped while open and restored to
|
|
9
|
+
* the trigger on close, Escape and overlay-click dismiss, the surface is
|
|
10
|
+
* exposed as `role="dialog"` + `aria-modal`, and the title/description are wired
|
|
11
|
+
* via `aria-labelledby`/`aria-describedby`.
|
|
12
|
+
*
|
|
13
|
+
* The portal mounts inside `.actuate-admin` (see `adminPortalContainer`) so the
|
|
14
|
+
* dialog inherits theme tokens and dark mode instead of rendering unstyled on
|
|
15
|
+
* `document.body`.
|
|
16
|
+
*/
|
|
17
|
+
export function Modal({ open, onClose, title, children, actions, description }) {
|
|
18
|
+
return (_jsx(Dialog.Root, { open: open, onOpenChange: (next) => !next && onClose(), children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-60 bg-black/50" }), _jsxs(Dialog.Content, { className: "bg-card text-card-foreground border-border fixed top-1/2 left-1/2 z-60 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 rounded-lg border shadow-xl focus:outline-none", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-6 py-4", children: [_jsx(Dialog.Title, { className: "text-foreground text-lg font-medium", children: title }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close dialog", className: "text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:ring-ring rounded-md p-1 transition-colors focus-visible:ring-2 focus-visible:outline-none", children: _jsx(X, { className: "h-4 w-4", "aria-hidden": true }) }) })] }), description && (_jsx(Dialog.Description, { className: "text-muted-foreground px-6 pt-4 text-sm", children: description })), _jsx("div", { className: "px-6 py-4", children: children }), actions && (_jsx("div", { className: "border-border flex justify-end gap-2 border-t px-6 py-4", children: actions }))] })] }) }));
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=Modal.js.map
|