@actuate-media/cms-admin 0.21.0 → 0.21.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/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +24 -0
- package/dist/AdminRoot.js.map +1 -1
- package/dist/__tests__/layout/sidebar-submenu.render.test.d.ts +2 -0
- package/dist/__tests__/layout/sidebar-submenu.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/sidebar-submenu.render.test.js +60 -0
- package/dist/__tests__/layout/sidebar-submenu.render.test.js.map +1 -0
- package/dist/actuate-admin.css +1 -1
- package/dist/components/ErrorBoundary.d.ts +1 -1
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar.js +101 -8
- package/dist/layout/Sidebar.js.map +1 -1
- package/dist/views/Forms.d.ts.map +1 -1
- package/dist/views/Forms.js +2 -1
- package/dist/views/Forms.js.map +1 -1
- package/package.json +2 -2
- package/src/AdminRoot.tsx +22 -0
- package/src/__tests__/layout/sidebar-submenu.render.test.tsx +86 -0
- package/src/layout/Sidebar.tsx +224 -9
- package/src/views/Forms.tsx +3 -1
package/dist/layout/Sidebar.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useRef, useState } from 'react';
|
|
4
|
+
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
|
|
5
|
+
import { useTheme } from '../components/ThemeProvider.js';
|
|
6
|
+
import { LayoutDashboard, FileText, File, Image, Settings, ChevronDown, ClipboardList, Search as SearchIcon, Briefcase, FolderOpen, BookOpen, HelpCircle, Newspaper, PanelTop, PanelBottom, Layers, LayoutGrid, Code2, Library, ListTree, Menu as MenuIcon, PanelLeftClose, PanelLeftOpen, } from 'lucide-react';
|
|
4
7
|
import { ActuateBrandLogo } from '../assets/actuate-logo.js';
|
|
5
8
|
/**
|
|
6
9
|
* Compact mark used in the collapsed sidebar — just the "C" symbol from the
|
|
@@ -122,25 +125,115 @@ function renderNavTree(items, ctx) {
|
|
|
122
125
|
else if (!item.group) {
|
|
123
126
|
lastGroup = undefined;
|
|
124
127
|
}
|
|
128
|
+
const hasChildren = !!item.children && item.children.length > 0;
|
|
129
|
+
// Collapsed parents reveal their children in a hover/focus flyout instead
|
|
130
|
+
// of inline (there's no room for indented rows in the 80px rail).
|
|
131
|
+
if (hasChildren && ctx.collapsed) {
|
|
132
|
+
nodes.push(_jsx(CollapsedFlyout, { item: item, ctx: ctx }, `flyout:${item.path}`));
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
// Expanded parents with children render as a collapsible section
|
|
136
|
+
// (chevron toggle to contract/expand the submenu).
|
|
137
|
+
if (hasChildren) {
|
|
138
|
+
nodes.push(_jsx(NavSection, { item: item, ctx: ctx }, `section:${item.path}`));
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
125
141
|
// Keys are namespaced because a parent and its first child can share
|
|
126
142
|
// the same path (e.g. the Posts parent and its "All Posts" child are
|
|
127
143
|
// both `/posts`). Using the raw path as the key collided and made
|
|
128
144
|
// React warn about — and risk dropping — duplicate siblings.
|
|
129
145
|
nodes.push(_jsx(NavLink, { item: item, ctx: ctx }, `item:${item.path}`));
|
|
130
|
-
if (item.children && item.children.length > 0 && !ctx.collapsed) {
|
|
131
|
-
for (const child of item.children) {
|
|
132
|
-
nodes.push(_jsx(NavLink, { item: child, ctx: ctx, nested: true }, `child:${item.path}:${child.path}`));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
146
|
}
|
|
136
147
|
return nodes;
|
|
137
148
|
}
|
|
138
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Expanded parent with a collapsible submenu. The label/icon navigates to the
|
|
151
|
+
* parent destination; a trailing chevron toggles the child list open/closed.
|
|
152
|
+
* Defaults to open, and auto-opens when the parent or one of its children is
|
|
153
|
+
* the active route so the current page is never hidden behind a collapsed
|
|
154
|
+
* section.
|
|
155
|
+
*/
|
|
156
|
+
function NavSection({ item, ctx }) {
|
|
157
|
+
const Icon = item.icon;
|
|
158
|
+
const isActive = isPathActive(ctx.currentPath, item.path);
|
|
159
|
+
const childActive = item.children.some((c) => isPathActive(ctx.currentPath, c.path));
|
|
160
|
+
const [open, setOpen] = useState(true);
|
|
161
|
+
const childListId = `nav-section-${item.path.replace(/[^a-z0-9]+/gi, '-')}`;
|
|
162
|
+
// Keep the active section visible: if the user is on this section's route
|
|
163
|
+
// (parent or child) it stays expanded regardless of the manual toggle.
|
|
164
|
+
const expanded = open || isActive || childActive;
|
|
165
|
+
return (_jsxs("div", { children: [_jsxs("div", { className: `flex items-center rounded-lg transition-colors ${isActive
|
|
166
|
+
? 'bg-sidebar-accent text-sidebar-primary'
|
|
167
|
+
: 'text-sidebar-foreground hover:bg-sidebar-accent'}`, children: [_jsxs("button", { onClick: () => ctx.onNavigate(item.path), className: "flex min-w-0 flex-1 items-center gap-3 rounded-lg py-2.5 pr-1 pl-3 text-left", "aria-current": isActive ? 'page' : undefined, children: [_jsx(Icon, { className: "h-5 w-5 shrink-0", "aria-hidden": true }), _jsx("span", { className: "truncate text-sm font-medium", children: item.label })] }), _jsx("button", { onClick: () => setOpen((v) => !v), className: "text-sidebar-foreground/55 hover:text-sidebar-foreground mr-1 flex shrink-0 items-center rounded-md p-1.5 transition-colors", "aria-label": `${expanded ? 'Collapse' : 'Expand'} ${item.label}`, "aria-expanded": expanded, "aria-controls": childListId, children: _jsx(ChevronDown, { className: `h-4 w-4 transition-transform duration-200 ${expanded ? '' : '-rotate-90'}`, "aria-hidden": true }) })] }), expanded && (_jsx("div", { id: childListId, className: "relative", children: item.children.map((child, i) => (_jsx(NavLink, { item: child, ctx: ctx, nested: true, isLast: i === item.children.length - 1 }, `child:${item.path}:${child.path}`))) }))] }));
|
|
168
|
+
}
|
|
169
|
+
function NavLink({ item, ctx, nested = false, isLast = false, }) {
|
|
139
170
|
const Icon = item.icon;
|
|
140
171
|
const isActive = isPathActive(ctx.currentPath, item.path);
|
|
141
|
-
|
|
172
|
+
const button = (_jsxs("button", { onClick: () => ctx.onNavigate(item.path), className: `flex w-full items-center gap-3 rounded-lg text-left transition-colors ${nested ? 'py-1.5 pr-3 pl-9' : 'px-3 py-2.5'} ${isActive
|
|
142
173
|
? 'bg-sidebar-accent text-sidebar-primary'
|
|
143
174
|
: 'text-sidebar-foreground hover:bg-sidebar-accent'} ${ctx.collapsed ? 'justify-center px-3' : ''}`, title: ctx.collapsed ? item.label : '', "aria-current": isActive ? 'page' : undefined, children: [!nested && _jsx(Icon, { className: "h-5 w-5 shrink-0", "aria-hidden": true }), nested && !ctx.collapsed && (_jsx(Icon, { className: "text-sidebar-foreground/60 h-4 w-4 shrink-0", "aria-hidden": true })), !ctx.collapsed && (_jsx("span", { className: `truncate font-medium ${nested ? 'text-[13px]' : 'text-sm'}`, children: item.label }))] }));
|
|
175
|
+
if (!nested || ctx.collapsed)
|
|
176
|
+
return button;
|
|
177
|
+
// Curved-elbow tree connector (expanded only). The elbow draws the vertical
|
|
178
|
+
// run from the row top to its vertical center, curves at the bottom-left
|
|
179
|
+
// corner, then runs horizontally into the row. Non-last rows continue the
|
|
180
|
+
// vertical line to the row bottom so it meets the next sibling's elbow.
|
|
181
|
+
// The guide is centered (~21px) under the parent item's 20px icon.
|
|
182
|
+
return (_jsxs("div", { className: "relative", children: [_jsx("span", { "aria-hidden": true, className: "border-sidebar-border absolute top-0 left-[21px] h-1/2 w-[15px] rounded-bl-lg border-b border-l" }), !isLast && (_jsx("span", { "aria-hidden": true, className: "border-sidebar-border absolute top-1/2 bottom-0 left-[21px] border-l" })), button] }));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Collapsed-rail parent: shows the icon button and, on hover or keyboard
|
|
186
|
+
* focus, a flyout listing the parent's children. Built on Radix
|
|
187
|
+
* DropdownMenu so the panel is portaled (escaping the nav's `overflow`
|
|
188
|
+
* clip), positioned, dismissable, and keyboard-navigable. Hover-opening is
|
|
189
|
+
* controlled manually; we suppress Radix's auto-focus when opened by pointer
|
|
190
|
+
* so hovering doesn't steal focus, while keyboard opening still moves focus
|
|
191
|
+
* into the menu.
|
|
192
|
+
*/
|
|
193
|
+
function CollapsedFlyout({ item, ctx }) {
|
|
194
|
+
const Icon = item.icon;
|
|
195
|
+
const isActive = isPathActive(ctx.currentPath, item.path);
|
|
196
|
+
const { resolvedTheme } = useTheme();
|
|
197
|
+
const [open, setOpen] = useState(false);
|
|
198
|
+
const openedByPointer = useRef(false);
|
|
199
|
+
const closeTimer = useRef(null);
|
|
200
|
+
const cancelClose = () => {
|
|
201
|
+
if (closeTimer.current) {
|
|
202
|
+
clearTimeout(closeTimer.current);
|
|
203
|
+
closeTimer.current = null;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
const scheduleClose = () => {
|
|
207
|
+
cancelClose();
|
|
208
|
+
closeTimer.current = setTimeout(() => setOpen(false), 120);
|
|
209
|
+
};
|
|
210
|
+
return (_jsxs(DropdownMenu.Root, { open: open, onOpenChange: (next) => {
|
|
211
|
+
if (!next)
|
|
212
|
+
openedByPointer.current = false;
|
|
213
|
+
setOpen(next);
|
|
214
|
+
}, modal: false, children: [_jsx("div", { onMouseEnter: () => {
|
|
215
|
+
openedByPointer.current = true;
|
|
216
|
+
cancelClose();
|
|
217
|
+
setOpen(true);
|
|
218
|
+
}, onMouseLeave: scheduleClose, children: _jsx(DropdownMenu.Trigger, { asChild: true, children: _jsx("button", { onClick: () => ctx.onNavigate(item.path), className: `flex w-full items-center justify-center rounded-lg px-3 py-2.5 transition-colors ${isActive
|
|
219
|
+
? 'bg-sidebar-accent text-sidebar-primary'
|
|
220
|
+
: 'text-sidebar-foreground hover:bg-sidebar-accent'}`, "aria-label": item.label, title: item.label, "aria-current": isActive ? 'page' : undefined, children: _jsx(Icon, { className: "h-5 w-5 shrink-0", "aria-hidden": true }) }) }) }), _jsx(DropdownMenu.Portal, { children: _jsxs(DropdownMenu.Content, { side: "right", align: "start", sideOffset: 10, onMouseEnter: cancelClose, onMouseLeave: scheduleClose, onCloseAutoFocus: (e) => {
|
|
221
|
+
// After a pointer-driven open, don't yank focus back to the rail
|
|
222
|
+
// trigger (it would leave a stray focus ring once the cursor moves
|
|
223
|
+
// away). Keyboard-driven opens keep the default focus-return.
|
|
224
|
+
if (openedByPointer.current)
|
|
225
|
+
e.preventDefault();
|
|
226
|
+
},
|
|
227
|
+
// Radix portals to <body>, outside the `.actuate-admin` scope where
|
|
228
|
+
// the theme tokens (`--popover`, `--radius`, …) live — without the
|
|
229
|
+
// scope class the panel renders transparent with square corners.
|
|
230
|
+
// Re-assert the scope (and current dark state) on the panel itself so
|
|
231
|
+
// it inherits the tokens regardless of portal position.
|
|
232
|
+
className: `actuate-admin ${resolvedTheme === 'dark' ? 'dark' : ''} bg-popover text-popover-foreground border-border motion-safe:animate-in motion-safe:fade-in z-50 min-w-44 overflow-hidden rounded-lg border p-1 shadow-lg`, children: [_jsx("div", { className: "text-muted-foreground border-border mb-1 border-b px-3 py-2 text-xs font-medium", children: item.label }), item.children.map((child) => {
|
|
233
|
+
const ChildIcon = child.icon;
|
|
234
|
+
const childActive = isPathActive(ctx.currentPath, child.path);
|
|
235
|
+
return (_jsxs(DropdownMenu.Item, { onSelect: () => ctx.onNavigate(child.path), className: `data-highlighted:bg-accent hover:bg-accent flex cursor-pointer items-center gap-2.5 rounded-md px-3 py-2 text-sm font-medium outline-none select-none ${childActive ? 'text-primary' : 'text-foreground'}`, "aria-current": childActive ? 'page' : undefined, children: [_jsx(ChildIcon, { className: "text-muted-foreground h-4 w-4 shrink-0", "aria-hidden": true }), _jsx("span", { className: "truncate", children: child.label })] }, `flyout-item:${item.path}:${child.path}`));
|
|
236
|
+
})] }) })] }));
|
|
144
237
|
}
|
|
145
238
|
// ─── Config-driven nav builder ──────────────────────────────────────────────
|
|
146
239
|
function resolveIcon(collection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/layout/Sidebar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/layout/Sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Forms.d.ts","sourceRoot":"","sources":["../../src/views/Forms.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAED,wBAAgB,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Forms.d.ts","sourceRoot":"","sources":["../../src/views/Forms.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAED,wBAAgB,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,2CA8H/C"}
|
package/dist/views/Forms.js
CHANGED
|
@@ -19,6 +19,7 @@ export function Forms({ onNavigate }) {
|
|
|
19
19
|
if (loading) {
|
|
20
20
|
return (_jsx("div", { className: "flex h-64 items-center justify-center p-3 pr-6 sm:p-4 sm:pr-8", children: _jsx(Loader2, { className: "h-6 w-6 animate-spin text-blue-600" }) }));
|
|
21
21
|
}
|
|
22
|
-
return (_jsxs("div", { className: "p-3 pr-6 sm:p-4 sm:pr-8", children: [error && (_jsxs("div", { className: "mb-4 flex items-center gap-3 rounded-lg border border-red-200 bg-red-50 p-3", children: [_jsx(AlertTriangle, { className: "h-5 w-5 shrink-0 text-red-600" }), _jsx("span", { className: "flex-1 text-sm text-red-800", children: error }), _jsx("button", { onClick: refetch, className: "rounded-lg border border-red-300 px-3 py-1 text-sm text-red-700 transition-colors hover:bg-red-100", children: "Retry" })] })), _jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "mb-1 text-xl font-semibold text-gray-900 sm:text-2xl", children: "Forms" }), _jsxs("p", { className: "text-sm text-gray-600", children: [filteredAndSorted.length, " total forms"] })] }), _jsxs("button", { onClick: () => onNavigate?.('/forms/new'), className: "flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-700", children: [_jsx(Plus, { className: "h-4 w-4" }), "New Form"] })] }), _jsx("div", { className: "mb-4 rounded-lg border border-gray-200 bg-white", children: _jsx("div", { className: "p-3", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-gray-400" }), _jsx("input", { type: "text", placeholder: "Search forms...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full rounded-lg border border-gray-300 py-2 pr-3 pl-9 text-sm focus:ring-2 focus:ring-blue-500 focus:outline-none" })] }) }) }), filteredAndSorted.length === 0 ? (_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-8 text-center", children: [_jsx("p", { className: "mb-2 text-sm text-gray-500", children: "No forms yet" }), _jsx("button", { className: "rounded-lg bg-blue-600 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-700", children: "Create your first form" })] })) : (_jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", children: filteredAndSorted.map((form) => (_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4 transition-shadow hover:shadow-md", children: [_jsxs("div", { className: "mb-3 flex items-start justify-between", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h3", { className: "mb-1 font-semibold text-gray-900", children: form.name }), _jsx("p", { className: "mb-2 text-sm text-gray-600", children: form.description })] }), _jsx("button", { className: "rounded p-1.5 transition-colors hover:bg-gray-100", children: _jsx(MoreVertical, { className: "h-4 w-4 text-gray-600" }) })] }), _jsxs("div", { className: "mb-3 flex items-center gap-4 text-sm text-gray-600", children: [_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(FileText, { className: "h-4 w-4" }), form.
|
|
22
|
+
return (_jsxs("div", { className: "p-3 pr-6 sm:p-4 sm:pr-8", children: [error && (_jsxs("div", { className: "mb-4 flex items-center gap-3 rounded-lg border border-red-200 bg-red-50 p-3", children: [_jsx(AlertTriangle, { className: "h-5 w-5 shrink-0 text-red-600" }), _jsx("span", { className: "flex-1 text-sm text-red-800", children: error }), _jsx("button", { onClick: refetch, className: "rounded-lg border border-red-300 px-3 py-1 text-sm text-red-700 transition-colors hover:bg-red-100", children: "Retry" })] })), _jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "mb-1 text-xl font-semibold text-gray-900 sm:text-2xl", children: "Forms" }), _jsxs("p", { className: "text-sm text-gray-600", children: [filteredAndSorted.length, " total forms"] })] }), _jsxs("button", { onClick: () => onNavigate?.('/forms/new'), className: "flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-700", children: [_jsx(Plus, { className: "h-4 w-4" }), "New Form"] })] }), _jsx("div", { className: "mb-4 rounded-lg border border-gray-200 bg-white", children: _jsx("div", { className: "p-3", children: _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-gray-400" }), _jsx("input", { type: "text", placeholder: "Search forms...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full rounded-lg border border-gray-300 py-2 pr-3 pl-9 text-sm focus:ring-2 focus:ring-blue-500 focus:outline-none" })] }) }) }), filteredAndSorted.length === 0 ? (_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-8 text-center", children: [_jsx("p", { className: "mb-2 text-sm text-gray-500", children: "No forms yet" }), _jsx("button", { className: "rounded-lg bg-blue-600 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-700", children: "Create your first form" })] })) : (_jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", children: filteredAndSorted.map((form) => (_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4 transition-shadow hover:shadow-md", children: [_jsxs("div", { className: "mb-3 flex items-start justify-between", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h3", { className: "mb-1 font-semibold text-gray-900", children: form.name }), _jsx("p", { className: "mb-2 text-sm text-gray-600", children: form.description })] }), _jsx("button", { className: "rounded p-1.5 transition-colors hover:bg-gray-100", children: _jsx(MoreVertical, { className: "h-4 w-4 text-gray-600" }) })] }), _jsxs("div", { className: "mb-3 flex items-center gap-4 text-sm text-gray-600", children: [_jsxs("span", { className: "flex items-center gap-1", children: [_jsx(FileText, { className: "h-4 w-4" }), form.fieldCount ??
|
|
23
|
+
(Array.isArray(form.fields) ? form.fields.length : form.fields), ' ', "fields"] }), _jsxs("span", { className: "flex items-center gap-1", children: [_jsx(Send, { className: "h-4 w-4" }), form.submissions, " submissions"] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { onClick: () => onNavigate?.(`/forms/${form.id}/submissions`), className: "flex-1 rounded-lg bg-blue-600 px-3 py-1.5 text-center text-sm text-white transition-colors hover:bg-blue-700", children: "View Submissions" }), _jsx("button", { onClick: () => onNavigate?.(`/forms/${form.id}/edit`), className: "rounded-lg border border-gray-300 px-3 py-1.5 text-sm transition-colors hover:bg-gray-50", children: "Edit" })] })] }, form.id))) }))] }));
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=Forms.js.map
|
package/dist/views/Forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Forms.js","sourceRoot":"","sources":["../../src/views/Forms.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Forms.js","sourceRoot":"","sources":["../../src/views/Forms.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/cms-admin",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/actuate-media/actuatecms.git",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"tailwindcss": "^4.0.0",
|
|
88
88
|
"typescript": "^5.7.0",
|
|
89
89
|
"vitest": "^3.0.0",
|
|
90
|
-
"@actuate-media/cms-core": "0.
|
|
90
|
+
"@actuate-media/cms-core": "0.31.0",
|
|
91
91
|
"@actuate-media/component-blocks": "0.2.0"
|
|
92
92
|
},
|
|
93
93
|
"scripts": {
|
package/src/AdminRoot.tsx
CHANGED
|
@@ -702,6 +702,28 @@ const ISOLATION_STYLE: React.CSSProperties = {
|
|
|
702
702
|
export function AdminRoot(props: AdminRootProps) {
|
|
703
703
|
const defaultDarkMode = props.config?.admin?.branding?.darkMode
|
|
704
704
|
|
|
705
|
+
// The admin is private application UI and must never be indexed. Ensure a
|
|
706
|
+
// `noindex, nofollow` robots meta tag is present while the admin is mounted,
|
|
707
|
+
// as defense-in-depth alongside the server `robots.txt` Disallow rule. This
|
|
708
|
+
// covers every consumer install (the admin page is typically a client
|
|
709
|
+
// component that can't export Next.js route metadata).
|
|
710
|
+
useEffect(() => {
|
|
711
|
+
if (typeof document === 'undefined') return
|
|
712
|
+
const PREV = document.querySelector<HTMLMetaElement>('meta[name="robots"]')
|
|
713
|
+
const prevContent = PREV?.getAttribute('content') ?? null
|
|
714
|
+
const meta = PREV ?? document.createElement('meta')
|
|
715
|
+
meta.setAttribute('name', 'robots')
|
|
716
|
+
meta.setAttribute('content', 'noindex, nofollow')
|
|
717
|
+
if (!PREV) document.head.appendChild(meta)
|
|
718
|
+
return () => {
|
|
719
|
+
if (prevContent === null) {
|
|
720
|
+
meta.remove()
|
|
721
|
+
} else {
|
|
722
|
+
meta.setAttribute('content', prevContent)
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
}, [])
|
|
726
|
+
|
|
705
727
|
return (
|
|
706
728
|
<div style={ISOLATION_STYLE} className="actuate-admin">
|
|
707
729
|
<ThemeProvider defaultDarkMode={defaultDarkMode}>
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// @vitest-environment happy-dom
|
|
2
|
+
import { describe, expect, it } from 'vitest'
|
|
3
|
+
import { fireEvent, render, screen, waitFor } from '@testing-library/react'
|
|
4
|
+
|
|
5
|
+
import { Sidebar } from '../../layout/Sidebar.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Submenu rendering behaviour:
|
|
9
|
+
* - Expanded: parent children (e.g. Posts -> All Posts / Post Types) render
|
|
10
|
+
* inline beneath the parent.
|
|
11
|
+
* - Collapsed: children are hidden inline and instead revealed in a
|
|
12
|
+
* hover/focus flyout, so the 80px rail stays clean but sub-pages remain
|
|
13
|
+
* reachable.
|
|
14
|
+
*/
|
|
15
|
+
function renderSidebar(collapsed: boolean) {
|
|
16
|
+
return render(
|
|
17
|
+
<Sidebar
|
|
18
|
+
collapsed={collapsed}
|
|
19
|
+
onToggleCollapse={() => {}}
|
|
20
|
+
currentPath="/"
|
|
21
|
+
onNavigate={() => {}}
|
|
22
|
+
/>,
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
describe('Sidebar submenus', () => {
|
|
27
|
+
it('renders children inline when expanded', () => {
|
|
28
|
+
renderSidebar(false)
|
|
29
|
+
expect(screen.getByText('All Posts')).toBeTruthy()
|
|
30
|
+
expect(screen.getByText('Post Types')).toBeTruthy()
|
|
31
|
+
expect(screen.getByText('Saved Sections')).toBeTruthy()
|
|
32
|
+
expect(screen.getByText('Widgets')).toBeTruthy()
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
it('collapses and re-expands a parent submenu via the chevron toggle', () => {
|
|
36
|
+
renderSidebar(false)
|
|
37
|
+
|
|
38
|
+
// Children visible by default.
|
|
39
|
+
expect(screen.getByText('All Posts')).toBeTruthy()
|
|
40
|
+
|
|
41
|
+
// Collapse the Posts section.
|
|
42
|
+
fireEvent.click(screen.getByRole('button', { name: 'Collapse Posts' }))
|
|
43
|
+
expect(screen.queryByText('All Posts')).toBeNull()
|
|
44
|
+
|
|
45
|
+
// Re-expand it.
|
|
46
|
+
fireEvent.click(screen.getByRole('button', { name: 'Expand Posts' }))
|
|
47
|
+
expect(screen.getByText('All Posts')).toBeTruthy()
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
it('keeps the active section expanded even when toggled closed', () => {
|
|
51
|
+
render(
|
|
52
|
+
<Sidebar
|
|
53
|
+
collapsed={false}
|
|
54
|
+
onToggleCollapse={() => {}}
|
|
55
|
+
currentPath="/posts"
|
|
56
|
+
onNavigate={() => {}}
|
|
57
|
+
/>,
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
// Active section forces the submenu open; the chevron reports it as
|
|
61
|
+
// expanded and offers to collapse.
|
|
62
|
+
expect(screen.getByText('All Posts')).toBeTruthy()
|
|
63
|
+
fireEvent.click(screen.getByRole('button', { name: 'Collapse Posts' }))
|
|
64
|
+
// Still visible because the section is the active route.
|
|
65
|
+
expect(screen.getByText('All Posts')).toBeTruthy()
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
it('hides children inline when collapsed and exposes them in a hover flyout', async () => {
|
|
69
|
+
renderSidebar(true)
|
|
70
|
+
|
|
71
|
+
// Inline children are not rendered in the collapsed rail.
|
|
72
|
+
expect(screen.queryByText('All Posts')).toBeNull()
|
|
73
|
+
expect(screen.queryByText('Post Types')).toBeNull()
|
|
74
|
+
|
|
75
|
+
// The parent is still reachable as an icon button labelled for AT.
|
|
76
|
+
const trigger = screen.getByRole('button', { name: 'Posts' })
|
|
77
|
+
|
|
78
|
+
// Hovering the parent opens the flyout (onMouseEnter lives on the wrapper).
|
|
79
|
+
fireEvent.mouseEnter(trigger.parentElement as HTMLElement)
|
|
80
|
+
|
|
81
|
+
await waitFor(() => {
|
|
82
|
+
expect(screen.getByText('All Posts')).toBeTruthy()
|
|
83
|
+
expect(screen.getByText('Post Types')).toBeTruthy()
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
})
|