@actuate-media/cms-admin 0.39.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +22 -5
- package/dist/AdminRoot.js.map +1 -1
- package/dist/actuate-admin.css +1 -1
- package/dist/lib/page-editor-service.js +1 -1
- package/dist/lib/page-editor-service.js.map +1 -1
- package/dist/views/page-editor/SectionInspector.d.ts.map +1 -1
- package/dist/views/page-editor/SectionInspector.js +61 -28
- package/dist/views/page-editor/SectionInspector.js.map +1 -1
- package/dist/views/page-editor/section-types.d.ts +2 -2
- package/dist/views/page-editor/section-types.d.ts.map +1 -1
- package/dist/views/page-editor/section-types.js +1 -1
- package/dist/views/page-editor/section-types.js.map +1 -1
- package/package.json +2 -2
- package/src/AdminRoot.tsx +23 -4
- package/src/lib/page-editor-service.ts +1 -1
- package/src/views/page-editor/SectionInspector.tsx +190 -125
- package/src/views/page-editor/section-types.ts +5 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
|
-
import { Eye, EyeOff, Lock, Plus, X } from 'lucide-react';
|
|
4
|
+
import { Eye, EyeOff, GripVertical, Lock, Plus, X } from 'lucide-react';
|
|
5
|
+
import { DndContext, KeyboardSensor, PointerSensor, closestCenter, useSensor, useSensors, } from '@dnd-kit/core';
|
|
6
|
+
import { SortableContext, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy, } from '@dnd-kit/sortable';
|
|
7
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
5
8
|
import { MediaPickerModal } from '../../components/MediaPickerModal.js';
|
|
6
|
-
import { getSectionType } from './section-types.js';
|
|
9
|
+
import { blankRepeaterRow, getSectionType, resolveRepeaterField, } from './section-types.js';
|
|
7
10
|
const LABEL = 'text-foreground mb-1 block text-xs font-medium';
|
|
8
11
|
const INPUT = 'border-input bg-input-background text-foreground focus-visible:ring-ring w-full rounded-md border px-2.5 py-1.5 text-sm focus-visible:ring-2 focus-visible:outline-none';
|
|
9
12
|
export function SectionInspector({ section, canEdit, onClose, onContentChange, onSettingsChange, onMetaChange, onToggleVisibility, }) {
|
|
@@ -20,21 +23,19 @@ export function SectionInspector({ section, canEdit, onClose, onContentChange, o
|
|
|
20
23
|
// Unmanaged sections (no registered type) are read-only: show why instead of
|
|
21
24
|
// editable controls, so the externally-managed content is never altered here.
|
|
22
25
|
if (section.unmanaged) {
|
|
23
|
-
return (_jsxs("aside", { role: "dialog", "aria-label": `${section.name} (read-only)`, className: "bg-card border-border flex h-full w-80 shrink-0 flex-col border-l", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-foreground truncate text-sm font-medium", children: section.name }), _jsx("p", { className: "text-muted-foreground text-xs", children: "Managed outside the editor" })] }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close inspector", className: "text-muted-foreground hover:text-foreground hover:bg-accent rounded p-1", children: _jsx(X, { className: "h-4 w-4", "aria-hidden": true }) })] }), _jsx("div", { className: "flex-1 space-y-3 overflow-y-auto p-4", children: _jsxs("div", { className: "border-border bg-muted text-muted-foreground space-y-2 rounded-md border p-3 text-sm", children: [_jsxs("p", { className: "text-foreground flex items-center gap-2 font-medium", children: [_jsx(Lock, { size: 14, "aria-hidden": true }), " Read-only section"] }), _jsxs("p", { children: ["The section type", ' ', _jsx("code", { className: "bg-background rounded px-1 py-0.5 text-xs", children: section.sectionType }), ' ', "isn't registered in this CMS, so it can't be edited here. It is preserved exactly as-is on every save."] }), _jsxs("p", { children: ["Edit it in your seed script or code, or register it via", ' ', _jsx("code", { className: "bg-background rounded px-1 py-0.5 text-xs", children: "sections.
|
|
26
|
+
return (_jsxs("aside", { role: "dialog", "aria-label": `${section.name} (read-only)`, className: "bg-card border-border flex h-full w-80 shrink-0 flex-col border-l", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-foreground truncate text-sm font-medium", children: section.name }), _jsx("p", { className: "text-muted-foreground text-xs", children: "Managed outside the editor" })] }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close inspector", className: "text-muted-foreground hover:text-foreground hover:bg-accent rounded p-1", children: _jsx(X, { className: "h-4 w-4", "aria-hidden": true }) })] }), _jsx("div", { className: "flex-1 space-y-3 overflow-y-auto p-4", children: _jsxs("div", { className: "border-border bg-muted text-muted-foreground space-y-2 rounded-md border p-3 text-sm", children: [_jsxs("p", { className: "text-foreground flex items-center gap-2 font-medium", children: [_jsx(Lock, { size: 14, "aria-hidden": true }), " Read-only section"] }), _jsxs("p", { children: ["The section type", ' ', _jsx("code", { className: "bg-background rounded px-1 py-0.5 text-xs", children: section.sectionType }), ' ', "isn't registered in this CMS, so it can't be edited here. It is preserved exactly as-is on every save."] }), _jsxs("p", { children: ["Edit it in your seed script or code, or register it via", ' ', _jsx("code", { className: "bg-background rounded px-1 py-0.5 text-xs", children: "sections.types" }), " in your config to make it editable."] })] }) })] }));
|
|
24
27
|
}
|
|
25
28
|
return (_jsxs("aside", { role: "dialog", "aria-label": `Edit ${section.name}`, className: "bg-card border-border flex h-full w-80 shrink-0 flex-col border-l", children: [_jsxs("div", { className: "border-border flex items-center justify-between border-b px-4 py-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-foreground truncate text-sm font-medium", children: section.name }), _jsx("p", { className: "text-muted-foreground text-xs", children: def?.name ?? 'Section' })] }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close inspector", className: "text-muted-foreground hover:text-foreground hover:bg-accent rounded p-1", children: _jsx(X, { className: "h-4 w-4", "aria-hidden": true }) })] }), _jsxs("div", { className: "flex-1 space-y-6 overflow-y-auto p-4", children: [!canEdit && (_jsx("p", { className: "border-border bg-muted text-muted-foreground rounded-md border p-2 text-xs", children: "You have read-only access to this page." })), _jsxs("fieldset", { disabled: !canEdit, className: "space-y-3", children: [_jsx("legend", { className: "text-muted-foreground mb-2 text-[10px] font-semibold tracking-wider uppercase", children: "Content" }), def?.fields.map((field) => (_jsx(ContentField, { field: field, value: section.content[field.key], onChange: (v) => onContentChange({ [field.key]: v }) }, field.key)))] }), _jsxs("fieldset", { disabled: !canEdit, className: "space-y-3", children: [_jsx("legend", { className: "text-muted-foreground mb-2 text-[10px] font-semibold tracking-wider uppercase", children: "Section settings" }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-name", children: "Section name" }), _jsx("input", { id: "insp-name", className: INPUT, value: section.name, onChange: (e) => onMetaChange({ name: e.target.value }) })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-internal", children: "Internal label" }), _jsx("input", { id: "insp-internal", className: INPUT, placeholder: "Team-only note (optional)", value: section.internalLabel ?? '', onChange: (e) => onMetaChange({ internalLabel: e.target.value }) })] }), _jsxs("button", { type: "button", onClick: onToggleVisibility, disabled: !canEdit, "aria-pressed": !section.visible, className: "border-border text-foreground hover:bg-accent flex w-full items-center justify-between rounded-md border px-2.5 py-1.5 text-sm disabled:opacity-50", children: [_jsxs("span", { className: "flex items-center gap-2", children: [section.visible ? (_jsx(Eye, { className: "h-4 w-4", "aria-hidden": true })) : (_jsx(EyeOff, { className: "h-4 w-4", "aria-hidden": true })), section.visible ? 'Visible on page' : 'Hidden from page'] }), _jsx("span", { className: "text-muted-foreground text-xs", children: section.visible ? 'Hide' : 'Show' })] })] }), _jsxs("fieldset", { disabled: !canEdit, className: "space-y-3", children: [_jsx("legend", { className: "text-muted-foreground mb-2 text-[10px] font-semibold tracking-wider uppercase", children: "Appearance" }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-bg", children: "Background" }), _jsxs("select", { id: "insp-bg", className: INPUT, value: section.settings.backgroundType ?? 'none', onChange: (e) => onSettingsChange({
|
|
26
29
|
backgroundType: e.target.value,
|
|
27
30
|
}), children: [_jsx("option", { value: "none", children: "White" }), _jsx("option", { value: "solid", children: "Solid color" }), _jsx("option", { value: "gradient", children: "Gradient" })] })] }), section.settings.backgroundType && section.settings.backgroundType !== 'none' && (_jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-bgcolor", children: "Color" }), _jsxs("select", { id: "insp-bgcolor", className: INPUT, value: section.settings.backgroundColor ?? 'purple', onChange: (e) => onSettingsChange({ backgroundColor: e.target.value }), children: [_jsx("option", { value: "purple", children: "Purple" }), _jsx("option", { value: "muted", children: "Light gray" })] })] })), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-pad", children: "Spacing" }), _jsxs("select", { id: "insp-pad", className: INPUT, value: section.settings.paddingY ?? 'lg', onChange: (e) => onSettingsChange({ paddingY: e.target.value }), children: [_jsx("option", { value: "sm", children: "Small" }), _jsx("option", { value: "md", children: "Medium" }), _jsx("option", { value: "lg", children: "Large" }), _jsx("option", { value: "xl", children: "Extra large" })] })] })] }), _jsxs("fieldset", { disabled: !canEdit, className: "space-y-3", children: [_jsx("legend", { className: "text-muted-foreground mb-2 text-[10px] font-semibold tracking-wider uppercase", children: "Advanced" }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-anchor", children: "Anchor ID" }), _jsx("input", { id: "insp-anchor", className: INPUT, placeholder: "e.g. features", value: section.settings.anchorId ?? '', onChange: (e) => onSettingsChange({ anchorId: e.target.value }) })] }), _jsxs("div", { children: [_jsx("label", { className: LABEL, htmlFor: "insp-css", children: "CSS class" }), _jsx("input", { id: "insp-css", className: INPUT, placeholder: "custom-class", value: section.settings.cssClass ?? '', onChange: (e) => onSettingsChange({ cssClass: e.target.value }) })] })] })] })] }));
|
|
28
31
|
}
|
|
29
32
|
// ─── Field renderers ─────────────────────────────────────────────────
|
|
30
|
-
function ContentField({ field, value, onChange, }) {
|
|
31
|
-
const id = `insp-field-${field.key}`;
|
|
33
|
+
function ContentField({ field, value, onChange, id: idProp, }) {
|
|
34
|
+
const id = idProp ?? `insp-field-${field.key}`;
|
|
32
35
|
const text = typeof value === 'string' ? value : '';
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (field.type === 'gallery') {
|
|
37
|
-
return _jsx(GalleryField, { label: field.label, value: value, onChange: onChange });
|
|
36
|
+
const repeater = resolveRepeaterField(field);
|
|
37
|
+
if (repeater) {
|
|
38
|
+
return (_jsx(RepeaterField, { fieldKey: field.key, label: field.label, repeater: repeater, value: value, onChange: onChange }));
|
|
38
39
|
}
|
|
39
40
|
if (field.type === 'boolean') {
|
|
40
41
|
return _jsx(BooleanField, { id: id, field: field, value: value === true, onChange: onChange });
|
|
@@ -73,31 +74,63 @@ function RelationshipField({ id, field, value, onChange, }) {
|
|
|
73
74
|
.map((s) => s.trim())
|
|
74
75
|
.filter(Boolean)) }), field.help && _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: field.help })] }));
|
|
75
76
|
}
|
|
76
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Generic repeater editor: an orderable list of rows, each row a small form of
|
|
79
|
+
* the repeater's sub-fields. Drives the generic `repeater` field type and the
|
|
80
|
+
* `stats` / `gallery` shorthands (resolved upstream to the same row model), so
|
|
81
|
+
* there's one editor for every structured-array field.
|
|
82
|
+
*
|
|
83
|
+
* Rows are stored as a plain array on `content[fieldKey]`. Drag/reorder uses an
|
|
84
|
+
* index-derived row id (`row-0`, `row-1`, …); since every edit commits a fresh
|
|
85
|
+
* array this stays consistent and matches the prior stats/gallery behavior.
|
|
86
|
+
*/
|
|
87
|
+
function RepeaterField({ fieldKey, label, repeater, value, onChange, }) {
|
|
77
88
|
const rows = Array.isArray(value) ? value : [];
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
function
|
|
82
|
-
onChange(
|
|
83
|
-
}
|
|
84
|
-
function add() {
|
|
85
|
-
onChange([...rows, { url: '', alt: '', caption: '' }]);
|
|
89
|
+
const atCap = typeof repeater.maxRows === 'number' && rows.length >= repeater.maxRows;
|
|
90
|
+
const rowKey = (i) => `row-${i}`;
|
|
91
|
+
const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 4 } }), useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }));
|
|
92
|
+
function commit(next) {
|
|
93
|
+
onChange(next);
|
|
86
94
|
}
|
|
87
|
-
return (_jsxs("div", { children: [_jsx("span", { className: LABEL, children: label }), _jsx("div", { className: "space-y-3", children: rows.map((row, i) => (_jsxs("div", { className: "border-border rounded-md border p-2", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsxs("span", { className: "text-muted-foreground text-xs", children: ["Image ", i + 1] }), _jsx("button", { type: "button", onClick: () => remove(i), "aria-label": `Remove image ${i + 1}`, className: "text-muted-foreground hover:text-destructive rounded p-0.5", children: _jsx(X, { className: "h-3.5 w-3.5", "aria-hidden": true }) })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("input", { className: INPUT, placeholder: "Image URL (https://\u2026)", value: row.url ?? '', onChange: (e) => update(i, { url: e.target.value }), "aria-label": `Image ${i + 1} URL` }), _jsx("input", { className: INPUT, placeholder: "Alt text (for accessibility)", value: row.alt ?? '', onChange: (e) => update(i, { alt: e.target.value }), "aria-label": `Image ${i + 1} alt text` })] })] }, i))) }), _jsxs("button", { type: "button", onClick: add, className: "border-border text-foreground hover:bg-accent mt-2 flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed px-2 py-1.5 text-xs font-medium", children: [_jsx(Plus, { className: "h-3.5 w-3.5", "aria-hidden": true }), "Add image"] })] }));
|
|
88
|
-
}
|
|
89
|
-
function StatsField({ label, value, onChange, }) {
|
|
90
|
-
const rows = Array.isArray(value) ? value : [];
|
|
91
95
|
function update(index, patch) {
|
|
92
|
-
|
|
93
|
-
onChange(next);
|
|
96
|
+
commit(rows.map((r, i) => (i === index ? { ...r, ...patch } : r)));
|
|
94
97
|
}
|
|
95
98
|
function remove(index) {
|
|
96
|
-
|
|
99
|
+
commit(rows.filter((_, i) => i !== index));
|
|
97
100
|
}
|
|
98
101
|
function add() {
|
|
99
|
-
|
|
102
|
+
if (atCap)
|
|
103
|
+
return;
|
|
104
|
+
commit([...rows, blankRepeaterRow(repeater.fields)]);
|
|
105
|
+
}
|
|
106
|
+
function handleDragEnd(event) {
|
|
107
|
+
const { active, over } = event;
|
|
108
|
+
if (!over || active.id === over.id)
|
|
109
|
+
return;
|
|
110
|
+
// Map the dnd id (index-derived rowKey) back to array positions.
|
|
111
|
+
const ids = rows.map((_, i) => rowKey(i));
|
|
112
|
+
const from = ids.indexOf(String(active.id));
|
|
113
|
+
const to = ids.indexOf(String(over.id));
|
|
114
|
+
if (from === -1 || to === -1)
|
|
115
|
+
return;
|
|
116
|
+
const next = rows.slice();
|
|
117
|
+
const [moved] = next.splice(from, 1);
|
|
118
|
+
next.splice(to, 0, moved);
|
|
119
|
+
commit(next);
|
|
100
120
|
}
|
|
101
|
-
|
|
121
|
+
const lower = repeater.rowLabel.toLowerCase();
|
|
122
|
+
return (_jsxs("div", { children: [_jsx("span", { className: LABEL, children: label }), rows.length === 0 ? (_jsxs("p", { className: "border-border text-muted-foreground mb-2 rounded-md border border-dashed px-2 py-3 text-center text-xs", children: ["No ", lower, "s yet."] })) : (_jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: rows.map((_, i) => rowKey(i)), strategy: verticalListSortingStrategy, children: _jsx("div", { className: "space-y-3", children: rows.map((row, i) => (_jsx(SortableRepeaterRow, { id: rowKey(i), index: i, fieldKey: fieldKey, rowLabel: repeater.rowLabel, fields: repeater.fields, row: row, reorderable: rows.length > 1, onPatch: (patch) => update(i, patch), onRemove: () => remove(i) }, rowKey(i)))) }) }) })), _jsxs("button", { type: "button", onClick: add, disabled: atCap, className: "border-border text-foreground hover:bg-accent mt-2 flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed px-2 py-1.5 text-xs font-medium disabled:cursor-not-allowed disabled:opacity-50", children: [_jsx(Plus, { className: "h-3.5 w-3.5", "aria-hidden": true }), "Add ", lower] }), atCap && (_jsxs("p", { className: "text-muted-foreground mt-1 text-xs", children: ["Maximum of ", repeater.maxRows, " reached."] }))] }));
|
|
123
|
+
}
|
|
124
|
+
function SortableRepeaterRow({ id, index, fieldKey, rowLabel, fields, row, reorderable, onPatch, onRemove, }) {
|
|
125
|
+
const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({
|
|
126
|
+
id,
|
|
127
|
+
disabled: !reorderable,
|
|
128
|
+
});
|
|
129
|
+
const style = {
|
|
130
|
+
transform: CSS.Transform.toString(transform),
|
|
131
|
+
transition,
|
|
132
|
+
zIndex: isDragging ? 10 : undefined,
|
|
133
|
+
};
|
|
134
|
+
return (_jsxs("div", { ref: setNodeRef, style: style, className: `border-border rounded-md border p-2 ${isDragging ? 'bg-card shadow-md' : ''}`, children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsxs("span", { className: "flex items-center gap-1", children: [reorderable && (_jsx("button", { type: "button", "aria-label": `Drag to reorder ${rowLabel} ${index + 1}`, className: "text-muted-foreground hover:text-foreground cursor-grab touch-none", ...attributes, ...listeners, children: _jsx(GripVertical, { className: "h-3.5 w-3.5", "aria-hidden": true }) })), _jsxs("span", { className: "text-muted-foreground text-xs", children: [rowLabel, " ", index + 1] })] }), _jsx("button", { type: "button", onClick: onRemove, "aria-label": `Remove ${rowLabel.toLowerCase()} ${index + 1}`, className: "text-muted-foreground hover:text-destructive rounded p-0.5", children: _jsx(X, { className: "h-3.5 w-3.5", "aria-hidden": true }) })] }), _jsx("div", { className: "space-y-2", children: fields.map((sub) => (_jsx(ContentField, { id: `insp-${fieldKey}-${index}-${sub.key}`, field: sub, value: row[sub.key], onChange: (v) => onPatch({ [sub.key]: v }) }, sub.key))) })] }));
|
|
102
135
|
}
|
|
103
136
|
//# sourceMappingURL=SectionInspector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionInspector.js","sourceRoot":"","sources":["../../../src/views/page-editor/SectionInspector.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SectionInspector.js","sourceRoot":"","sources":["../../../src/views/page-editor/SectionInspector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
* of truth. This module re-exports them to preserve the historical import
|
|
7
7
|
* path (`../views/page-editor/section-types.js`) used across the editor.
|
|
8
8
|
*/
|
|
9
|
-
export { SECTION_TYPES, SECTION_TYPE_LIST, getSectionType, getSectionTypesForScope, sectionTypeLabel, isKnownSectionType, } from '@actuate-media/cms-core/page-sections';
|
|
10
|
-
export type { SectionTypeId, SectionScope, SectionFieldType, SectionFieldDef, SectionSettings, SectionTypeDef, PostHeaderConfig, PostTemplate, } from '@actuate-media/cms-core/page-sections';
|
|
9
|
+
export { SECTION_TYPES, SECTION_TYPE_LIST, getSectionType, getSectionTypesForScope, sectionTypeLabel, isKnownSectionType, resolveRepeaterField, isRepeaterField, blankRepeaterRow, } from '@actuate-media/cms-core/page-sections';
|
|
10
|
+
export type { SectionTypeId, SectionScope, SectionFieldType, SectionFieldDef, SectionSettings, SectionTypeDef, ResolvedRepeater, RepeaterRow, PostHeaderConfig, PostTemplate, } from '@actuate-media/cms-core/page-sections';
|
|
11
11
|
//# sourceMappingURL=section-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-types.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/section-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"section-types.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/section-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uCAAuC,CAAA;AAE9C,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,uCAAuC,CAAA"}
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
* of truth. This module re-exports them to preserve the historical import
|
|
7
7
|
* path (`../views/page-editor/section-types.js`) used across the editor.
|
|
8
8
|
*/
|
|
9
|
-
export { SECTION_TYPES, SECTION_TYPE_LIST, getSectionType, getSectionTypesForScope, sectionTypeLabel, isKnownSectionType, } from '@actuate-media/cms-core/page-sections';
|
|
9
|
+
export { SECTION_TYPES, SECTION_TYPE_LIST, getSectionType, getSectionTypesForScope, sectionTypeLabel, isKnownSectionType, resolveRepeaterField, isRepeaterField, blankRepeaterRow, } from '@actuate-media/cms-core/page-sections';
|
|
10
10
|
//# sourceMappingURL=section-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-types.js","sourceRoot":"","sources":["../../../src/views/page-editor/section-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"section-types.js","sourceRoot":"","sources":["../../../src/views/page-editor/section-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uCAAuC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/cms-admin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/actuate-media/actuatecms.git",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"tailwindcss": "^4.0.0",
|
|
89
89
|
"typescript": "^5.7.0",
|
|
90
90
|
"vitest": "^4.1.0",
|
|
91
|
-
"@actuate-media/cms-core": "0.
|
|
91
|
+
"@actuate-media/cms-core": "0.57.0",
|
|
92
92
|
"@actuate-media/component-blocks": "0.2.0"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
package/src/AdminRoot.tsx
CHANGED
|
@@ -8,6 +8,8 @@ import { cmsApi, ensureCsrfToken } from './lib/api.js'
|
|
|
8
8
|
import {
|
|
9
9
|
registerSectionTypes,
|
|
10
10
|
resetCustomSectionTypes,
|
|
11
|
+
resolveCustomSectionTypes,
|
|
12
|
+
type CustomSectionTypeInput,
|
|
11
13
|
} from '@actuate-media/cms-core/page-sections'
|
|
12
14
|
import { Dashboard } from './views/Dashboard.js'
|
|
13
15
|
import { CollectionList } from './views/CollectionList.js'
|
|
@@ -159,12 +161,29 @@ function AdminShell({
|
|
|
159
161
|
}
|
|
160
162
|
}, [session])
|
|
161
163
|
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
//
|
|
164
|
+
// Make the Page/Post editors aware of custom section types (Add Section
|
|
165
|
+
// gallery + field-driven inspector) without a separately bundled registry.
|
|
166
|
+
//
|
|
167
|
+
// 1. Register config-declared types synchronously so the editor has them on
|
|
168
|
+
// first paint and as the offline fallback when the API can't be reached.
|
|
169
|
+
// 2. Then load the authoritative list from `/page-sections/types`, which the
|
|
170
|
+
// server builds by merging built-ins + every config-declared custom type
|
|
171
|
+
// it knows about. This is the single source of truth, so admin and server
|
|
172
|
+
// can never drift. Built-ins are skipped on registration (compiled in),
|
|
173
|
+
// so this only (re)adds custom types.
|
|
165
174
|
useEffect(() => {
|
|
166
175
|
resetCustomSectionTypes()
|
|
167
|
-
registerSectionTypes(config?.sections
|
|
176
|
+
registerSectionTypes(resolveCustomSectionTypes(config?.sections))
|
|
177
|
+
|
|
178
|
+
let cancelled = false
|
|
179
|
+
void cmsApi<CustomSectionTypeInput[]>('/page-sections/types').then((res) => {
|
|
180
|
+
if (cancelled || !Array.isArray(res.data)) return
|
|
181
|
+
resetCustomSectionTypes()
|
|
182
|
+
registerSectionTypes(res.data)
|
|
183
|
+
})
|
|
184
|
+
return () => {
|
|
185
|
+
cancelled = true
|
|
186
|
+
}
|
|
168
187
|
}, [config])
|
|
169
188
|
|
|
170
189
|
const shortcuts = useMemo(
|
|
@@ -220,7 +220,7 @@ function rowToEditorPage(doc: DocumentApiRow): EditorPage {
|
|
|
220
220
|
status: doc.status ?? 'DRAFT',
|
|
221
221
|
// Preserve unknown (externally-managed) sections so the editor can show
|
|
222
222
|
// them read-only and round-trip them on save instead of dropping them.
|
|
223
|
-
sections: coerceSectionsCore(data.sections, {
|
|
223
|
+
sections: coerceSectionsCore(data.sections, { onUnknown: 'preserve' }),
|
|
224
224
|
seoTitle: typeof data.metaTitle === 'string' ? data.metaTitle : '',
|
|
225
225
|
seoDescription: typeof data.metaDescription === 'string' ? data.metaDescription : '',
|
|
226
226
|
publishedAt: doc.publishedAt ?? null,
|