@actuate-media/cms-admin 0.49.0 → 0.49.1
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 +13 -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/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/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/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/page-builder/AIGenerateDialog.tsx +347 -335
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/ui/Modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/ui/Modal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAepE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAc;IACxF,OAAO,CACL,KAAC,MAAM,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,EAAE,YACjE,MAAC,MAAM,CAAC,MAAM,IAAC,SAAS,EAAE,oBAAoB,EAAE,aAC9C,KAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,gCAAgC,GAAG,EAC7D,MAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,yKAAyK,aACjM,eAAK,SAAS,EAAC,oEAAoE,aACjF,KAAC,MAAM,CAAC,KAAK,IAAC,SAAS,EAAC,qCAAqC,YAAE,KAAK,GAAgB,EACpF,KAAC,MAAM,CAAC,KAAK,IAAC,OAAO,kBACnB,iBACE,IAAI,EAAC,QAAQ,gBACF,cAAc,EACzB,SAAS,EAAC,sKAAsK,YAEhL,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,wBAAe,GAC9B,GACI,IACX,EACL,WAAW,IAAI,CACd,KAAC,MAAM,CAAC,WAAW,IAAC,SAAS,EAAC,yCAAyC,YACpE,WAAW,GACO,CACtB,EACD,cAAK,SAAS,EAAC,WAAW,YAAE,QAAQ,GAAO,EAC1C,OAAO,IAAI,CACV,cAAK,SAAS,EAAC,yDAAyD,YAAE,OAAO,GAAO,CACzF,IACc,IACH,GACJ,CACf,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockBuilderField.d.ts","sourceRoot":"","sources":["../../src/fields/BlockBuilderField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlockBuilderField.d.ts","sourceRoot":"","sources":["../../src/fields/BlockBuilderField.tsx"],"names":[],"mappings":"AAmCA,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAY1E,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAkLD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAU,EACV,QAAQ,EACR,MAAM,EAAE,YAAY,EACpB,QAAQ,GACT,EAAE,sBAAsB,2CAqKxB"}
|
|
@@ -4,8 +4,10 @@ import { useState, useCallback, useMemo } from 'react';
|
|
|
4
4
|
import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
|
|
5
5
|
import { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, arrayMove, } from '@dnd-kit/sortable';
|
|
6
6
|
import { CSS } from '@dnd-kit/utilities';
|
|
7
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
7
8
|
import { Plus, GripVertical, Trash2, ChevronDown, ChevronRight, Layout, Megaphone, Columns3, Image, Quote, Play, X, } from 'lucide-react';
|
|
8
9
|
import { PRESET_BLOCKS } from './block-types.js';
|
|
10
|
+
import { adminPortalContainer } from '../lib/portal-container.js';
|
|
9
11
|
const BLOCK_ICONS = {
|
|
10
12
|
layout: Layout,
|
|
11
13
|
megaphone: Megaphone,
|
|
@@ -102,9 +104,9 @@ export function BlockBuilderField({ label, value = [], onChange, blocks: customB
|
|
|
102
104
|
onChange?.(value.map((b) => b.id === blockId ? { ...b, data: { ...b.data, [fieldName]: fieldValue } } : b));
|
|
103
105
|
}
|
|
104
106
|
const blockIds = value.map((b) => b.id);
|
|
105
|
-
return (_jsxs("div", { children: [label && _jsx("label", { className: "mb-2 block text-sm font-medium", children: label }), _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: blockIds, strategy: verticalListSortingStrategy, children: _jsx("div", { className: "space-y-2", children: value.map((block) => (_jsx(SortableBlock, { block: block, blockDef: blockDefMap.get(block.type), expanded: expandedIds.has(block.id), onToggle: () => toggleExpand(block.id), onRemove: () => removeBlock(block.id), onFieldChange: (name, val) => updateBlockField(block.id, name, val) }, block.id))) }) }) }), value.length === 0 && (_jsx("div", { className: "rounded-md border border-dashed border-[var(--border)] px-4 py-8 text-center text-sm text-[var(--muted-foreground)]", children: "No blocks added yet. Click \u201CAdd Block\u201D to get started." })), _jsx("div", { className: "relative mt-3", children: _jsxs("button", { type: "button", onClick: () => setPickerOpen((prev) => !prev), className: "inline-flex items-center gap-1.5 rounded-md border border-dashed border-[var(--border)] px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:border-[var(--foreground)] hover:text-[var(--foreground)]", children: [_jsx(Plus, { className: "h-4 w-4" }), "Add Block"] }) }), pickerOpen
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
return (_jsxs("div", { children: [label && _jsx("label", { className: "mb-2 block text-sm font-medium", children: label }), _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: blockIds, strategy: verticalListSortingStrategy, children: _jsx("div", { className: "space-y-2", children: value.map((block) => (_jsx(SortableBlock, { block: block, blockDef: blockDefMap.get(block.type), expanded: expandedIds.has(block.id), onToggle: () => toggleExpand(block.id), onRemove: () => removeBlock(block.id), onFieldChange: (name, val) => updateBlockField(block.id, name, val) }, block.id))) }) }) }), value.length === 0 && (_jsx("div", { className: "rounded-md border border-dashed border-[var(--border)] px-4 py-8 text-center text-sm text-[var(--muted-foreground)]", children: "No blocks added yet. Click \u201CAdd Block\u201D to get started." })), _jsx("div", { className: "relative mt-3", children: _jsxs("button", { type: "button", onClick: () => setPickerOpen((prev) => !prev), className: "inline-flex items-center gap-1.5 rounded-md border border-dashed border-[var(--border)] px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:border-[var(--foreground)] hover:text-[var(--foreground)]", children: [_jsx(Plus, { className: "h-4 w-4" }), "Add Block"] }) }), _jsx(Dialog.Root, { open: pickerOpen, onOpenChange: setPickerOpen, children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-50 bg-black/50" }), _jsxs(Dialog.Content, { "aria-describedby": undefined, className: "bg-card text-card-foreground border-border fixed top-1/2 left-1/2 z-50 w-[calc(100%-2rem)] max-w-2xl -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-5 py-4", children: [_jsx(Dialog.Title, { className: "text-base font-medium", children: "Add Block" }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", className: "text-muted-foreground hover:text-foreground focus-visible:ring-ring rounded-md p-1 focus-visible:ring-2 focus-visible:outline-none", "aria-label": "Close block picker", children: _jsx(X, { className: "h-5 w-5", "aria-hidden": true }) }) })] }), _jsx("div", { className: "grid grid-cols-2 gap-3 p-5 sm:grid-cols-3", children: allBlockTypes.map((bt) => {
|
|
108
|
+
const Icon = BLOCK_ICONS[bt.icon];
|
|
109
|
+
return (_jsxs("button", { type: "button", onClick: () => addBlock(bt.type), className: "border-border hover:border-primary hover:bg-accent flex flex-col items-start gap-1.5 rounded-md border p-3 text-left transition-colors", children: [Icon && _jsx(Icon, { className: "text-primary h-5 w-5", "aria-hidden": true }), _jsx("span", { className: "text-sm font-medium", children: bt.label }), _jsx("span", { className: "text-muted-foreground text-xs leading-snug", children: bt.description })] }, bt.type));
|
|
110
|
+
}) })] })] }) }), helpText && _jsx("p", { className: "mt-1 text-xs text-[var(--muted-foreground)]", children: helpText })] }));
|
|
109
111
|
}
|
|
110
112
|
//# sourceMappingURL=BlockBuilderField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockBuilderField.js","sourceRoot":"","sources":["../../src/fields/BlockBuilderField.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,UAAU,GAEX,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,WAAW,EACX,YAAY,EACZ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,CAAC,GACF,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"BlockBuilderField.js","sourceRoot":"","sources":["../../src/fields/BlockBuilderField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ export interface AIGenerateDialogProps {
|
|
|
4
4
|
onClose: () => void;
|
|
5
5
|
onAccept: (tree: PageNode) => void;
|
|
6
6
|
}
|
|
7
|
-
export declare function AIGenerateDialog({ open, onClose, onAccept }: AIGenerateDialogProps): import("react/jsx-runtime").JSX.Element
|
|
7
|
+
export declare function AIGenerateDialog({ open, onClose, onAccept }: AIGenerateDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
//# sourceMappingURL=AIGenerateDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIGenerateDialog.d.ts","sourceRoot":"","sources":["../../../src/views/page-builder/AIGenerateDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AIGenerateDialog.d.ts","sourceRoot":"","sources":["../../../src/views/page-builder/AIGenerateDialog.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAA;AAEvE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;CACnC;AAgED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAqflF"}
|