@actuate-media/cms-admin 0.76.0 → 0.76.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 +28 -0
- package/dist/__tests__/layout/sidebar-plugin-nav.test.d.ts +2 -0
- package/dist/__tests__/layout/sidebar-plugin-nav.test.d.ts.map +1 -0
- package/dist/__tests__/layout/sidebar-plugin-nav.test.js +46 -0
- package/dist/__tests__/layout/sidebar-plugin-nav.test.js.map +1 -0
- package/dist/__tests__/router/navigation-blocker.test.d.ts +2 -0
- package/dist/__tests__/router/navigation-blocker.test.d.ts.map +1 -0
- package/dist/__tests__/router/navigation-blocker.test.js +69 -0
- package/dist/__tests__/router/navigation-blocker.test.js.map +1 -0
- package/dist/__tests__/views/article-body-section.render.test.d.ts +2 -0
- package/dist/__tests__/views/article-body-section.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/article-body-section.render.test.js +24 -0
- package/dist/__tests__/views/article-body-section.render.test.js.map +1 -0
- package/dist/actuate-admin.css +1 -1
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar.js +17 -0
- package/dist/layout/Sidebar.js.map +1 -1
- package/dist/router/index.d.ts +13 -0
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +49 -0
- package/dist/router/index.js.map +1 -1
- package/dist/views/DocumentEdit.d.ts.map +1 -1
- package/dist/views/DocumentEdit.js +4 -9
- package/dist/views/DocumentEdit.js.map +1 -1
- package/dist/views/page-builder/PageBuilder.d.ts.map +1 -1
- package/dist/views/page-builder/PageBuilder.js +3 -0
- package/dist/views/page-builder/PageBuilder.js.map +1 -1
- package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
- package/dist/views/page-editor/PageSectionEditor.js +3 -11
- package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
- package/dist/views/page-editor/sections/ArticleBodySection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/ArticleBodySection.js +1 -1
- package/dist/views/page-editor/sections/ArticleBodySection.js.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.js +3 -11
- package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
- package/dist/views/post-editor/PostTemplateEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostTemplateEditor.js +3 -10
- package/dist/views/post-editor/PostTemplateEditor.js.map +1 -1
- package/package.json +4 -3
- package/src/__tests__/layout/sidebar-plugin-nav.test.ts +50 -0
- package/src/__tests__/router/navigation-blocker.test.ts +80 -0
- package/src/__tests__/views/article-body-section.render.test.tsx +32 -0
- package/src/layout/Sidebar.tsx +19 -0
- package/src/router/index.ts +61 -0
- package/src/styles/theme.css +91 -0
- package/src/views/DocumentEdit.tsx +4 -8
- package/src/views/page-builder/PageBuilder.tsx +4 -0
- package/src/views/page-editor/PageSectionEditor.tsx +3 -10
- package/src/views/page-editor/sections/ArticleBodySection.tsx +1 -4
- package/src/views/post-editor/PostSectionEditor.tsx +3 -10
- package/src/views/post-editor/PostTemplateEditor.tsx +3 -9
|
@@ -4,6 +4,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
|
4
4
|
import { AlertTriangle, Loader2, Lock } from 'lucide-react';
|
|
5
5
|
import { toast } from 'sonner';
|
|
6
6
|
import { ConfirmDialog } from '../../components/ui/ConfirmDialog.js';
|
|
7
|
+
import { useNavigationBlocker } from '../../router/index.js';
|
|
7
8
|
import { SchedulePublishDialog } from '../../components/SchedulePublishDialog.js';
|
|
8
9
|
import { EditorSeoAside } from '../../components/EditorSeoAside.js';
|
|
9
10
|
import { ErrorBoundary } from '../../components/ErrorBoundary.js';
|
|
@@ -138,17 +139,8 @@ export function PostSectionEditor({ postType, documentId, config, session, onNav
|
|
|
138
139
|
cancelled = true;
|
|
139
140
|
};
|
|
140
141
|
}, [postType, documentId, schemaError]);
|
|
141
|
-
// ─── Unsaved-changes guard
|
|
142
|
-
|
|
143
|
-
if (!dirty)
|
|
144
|
-
return;
|
|
145
|
-
function onBeforeUnload(e) {
|
|
146
|
-
e.preventDefault();
|
|
147
|
-
e.returnValue = '';
|
|
148
|
-
}
|
|
149
|
-
window.addEventListener('beforeunload', onBeforeUnload);
|
|
150
|
-
return () => window.removeEventListener('beforeunload', onBeforeUnload);
|
|
151
|
-
}, [dirty]);
|
|
142
|
+
// ─── Unsaved-changes guard (client-side navigation + browser unload) ──
|
|
143
|
+
useNavigationBlocker(dirty);
|
|
152
144
|
const context = useMemo(() => ({
|
|
153
145
|
title: post?.title,
|
|
154
146
|
excerpt: post?.excerpt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostSectionEditor.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostSectionEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EAEjB,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,GAIb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,GACf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GAEzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAwB,MAAM,sBAAsB,CAAA;AAqC5E,SAAS,SAAS,CAAC,OAAkC;IAInD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAA;IAChC,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;IACvD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACtC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,UAAU,EACV,aAAa,GACU;IACvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAA;IACzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,iBAAiB,EAAE,CAAC,CAAA;IAC3E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE/D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACjE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAa,gBAAgB,CAAC,CAAA;IACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,MAAM,CAAC,CAAA;IAC7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACzE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACnE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAA;IAE3E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5E,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAA;IAElD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,IAAI,QAAQ,CAAA;IAC1C,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEtB,sEAAsE;IACtE,oEAAoE;IACpE,wEAAwE;IACxE,sEAAsE;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACjC,OAAO,CACL,QAAQ,QAAQ,yCAAyC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;YAC9E,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,sBAAsB;YAC9E,qDAAqD,CACtD,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEtB,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EACxE,CAAC,IAAI,CAAC,CACP,CAAA;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IAEtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAA;QACnB,OAAO,mBAAmB,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACV,MAAM,qBAAqB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEpD,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,YAAY,CAAC,IAAI,CAAC,CAAA;QAElB,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,CAAC,WAAW,CAAC,CAAA;YACzB,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAED,uEAAuE;QACvE,2DAA2D;QAC3D,sBAAsB,CAAC,QAAQ,CAAC;aAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,SAAS;gBAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,qCAAqC;QACvC,CAAC,CAAC,CAAA;QAEJ,MAAM,IAAI,GAAG,UAAU;YACrB,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC1C,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAEnC,IAAI;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,SAAS;gBAAE,OAAM;YACrB,OAAO,CAAC,CAAC,CAAC,CAAA;YACV,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACd,iEAAiE;gBACjE,iEAAiE;gBACjE,aAAa,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,CAAC,SAAS;gBAAE,YAAY,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAA;QAC1F,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEJ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IAEvC,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,SAAS,cAAc,CAAC,CAAoB;YAC1C,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,CAAC,CAAC,WAAW,GAAG,EAAE,CAAA;QACpB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QACvD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;IACzE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,OAAO,GAAsB,OAAO,CACxC,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,gBAAgB,EAAE,IAAI,EAAE,aAAa;QACrC,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI;QACzD,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;KAC9D,CAAC,EACF,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAA;IAED,wEAAwE;IACxE,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,EAAgE,EAAE,EAAE;QACnE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3E,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,YAAY,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC,EACD,EAAE,CACH,CAAA;IAED,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,IAAmB,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QACnC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAC7C,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACzB,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,UAAoB,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAC/E,CAAC,cAAc,CAAC,CACjB,CAAA;IACD,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,EAAU,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACrE,CAAC,cAAc,CAAC,CACjB,CAAA;IACD,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAU,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAC9D,CAAC,cAAc,CAAC,CACjB,CAAA;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC,cAAc;YAAE,OAAM;QAC3B,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAA;QACvD,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7D,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAA;IAEpC,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,KAA8B,EAAE,EAAE;QACjC,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IACnE,CAAC,EACD,CAAC,UAAU,EAAE,cAAc,CAAC,CAC7B,CAAA;IACD,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,KAA+B,EAAE,EAAE;QAClC,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IACpE,CAAC,EACD,CAAC,UAAU,EAAE,cAAc,CAAC,CAC7B,CAAA;IACD,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,KAAgD,EAAE,EAAE;QACnD,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAChE,CAAC,EACD,CAAC,UAAU,EAAE,cAAc,CAAC,CAC7B,CAAA;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,KAA0B,EAAE,EAAE;QAC9D,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACxD,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,YAAY,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACxD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACpD,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,YAAY,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,wEAAwE;IACxE,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAsB,EAAE;QAC/D,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACxC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,MAAM,CAAC,CAAA;YACrB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;YAC9B,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,YAAY,CAAC,QAAQ,CAAC,CAAA;QACtB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;YACvC,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,QAAQ,CAAC,KAAK,CAAC,CAAA;YACf,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YAC5B,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE;gBAAE,UAAU,CAAC,UAAU,QAAQ,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YAC9E,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;YACxE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE5C,2EAA2E;IAC3E,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,QAAQ;QACjE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;QAC7B,KAAK;QACL,SAAS;QACT,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;KACzE,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,CAAC,CAAA;IAE5D,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC1D,OAAM;QACR,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAC9C,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC1D,OAAM;QACR,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAA;YAClC,IAAI,CAAC,EAAE;gBAAE,OAAM;QACjB,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;IAElC,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAAyF,EAAE,EAAE;QAC5F,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI;YACF,CAAC,CAAC;gBACE,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,CAAC,MAA8B;gBAC3C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;aAClD;YACH,CAAC,CAAC,IAAI,CACT,CAAA;QACD,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,EAAE,CACH,CAAA;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;YACzC,OAAO,CAAC,SAAS,CAAC,CAAA;YAClB,QAAQ,CAAC,KAAK,CAAC,CAAA;YACf,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;YAC/B,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE;gBAAE,UAAU,CAAC,UAAU,QAAQ,IAAI,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;QACxF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;QAC5E,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE5C,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,IAAI,EAAE,EAAE;YAAE,OAAM;QACrB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,OAAO,CAAC,CAAC,CAAC,CAAA;YACV,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,QAAQ,CAAC,KAAK,CAAC,CAAA;YACf,YAAY,CAAC,MAAM,CAAC,CAAA;YACpB,aAAa,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAExB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,IAAI,EAAE,EAAE;YAAE,OAAM;QACrB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACvB,KAAK,CAAC,GAAG,EAAE;YACV,4DAA4D;QAC9D,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAExB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,IAAI;gBAAE,aAAa,CAAC,IAAI,CAAC,CAAA;YAC9B,OAAO,CAAC,IAAI,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,EAAiB,EAAE,EAAE;QAC5D,UAAU,CAAC,KAAK,CAAC,CAAA;QACjB,aAAa,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAAY,EAAE,EAAE;QACf,IAAI,KAAK;YAAE,cAAc,CAAC,IAAI,CAAC,CAAA;;YAC1B,UAAU,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,EACD,CAAC,KAAK,EAAE,UAAU,CAAC,CACpB,CAAA;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAC9C,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,QAAQ,IAAI,IAAI,CAAC,EAAE,UAAU,CAAA;QACpD,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA;IAE5E,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC1D,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAChD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;YAC7E,OAAM;QACR,CAAC;QACD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAA;oBAClC,IAAI,CAAC,EAAE,EAAE,CAAC;wBACR,GAAG,CAAC,KAAK,EAAE,CAAA;wBACX,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAG,CAAC,CAAA;gBAC9D,MAAM,SAAS,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,QAAQ,CAAA;gBACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC;oBACnC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;oBAC7C,SAAS;oBACT,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK;iBACN,CAAC,CAAA;gBACF,IAAI,CAAC;oBACH,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;gBACD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,EAAE,CAAA;gBACX,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAA;YACjF,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;IACN,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;IAEpD,wEAAwE;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,eAAK,SAAS,EAAC,uDAAuD,aACpE,KAAC,OAAO,IAAC,SAAS,EAAC,4CAA4C,wBAAe,EAC9E,eAAM,SAAS,EAAC,SAAS,0CAA4B,IACjD,CACP,CAAA;IACH,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CACL,cAAK,SAAS,EAAC,2DAA2D,YACxE,eAAK,SAAS,EAAC,+FAA+F,aAC5G,KAAC,aAAa,IAAC,SAAS,EAAC,2BAA2B,EAAC,IAAI,EAAE,EAAE,wBAAgB,EAC7E,eAAK,SAAS,EAAC,SAAS,aACtB,YAAG,SAAS,EAAC,qCAAqC,oCAAwB,EAC1E,YAAG,SAAS,EAAC,oCAAoC,YAAE,SAAS,IAAI,iBAAiB,GAAK,EACtF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EACnC,SAAS,EAAC,uDAAuD,8BAG1D,IACL,IACF,GACF,CACP,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAA;IAEvE,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAC5E,CAAA;IAED,sEAAsE;IACtE,wEAAwE;IACxE,yEAAyE;IACzE,iCAAiC;IACjC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAChC,IAAI,GAAG,CACL,IAAI,CAAC,QAAQ;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SACnF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAC7B,CACF,CAAA;IAED,OAAO,CACL,MAAC,aAAa,eACZ,eAAK,SAAS,EAAC,oDAAoD,aACjE,KAAC,YAAY,IACX,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,SAAS,EAAE,EACvC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,IAAI,OAAO,EACjC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,OAAO,EACjB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,EACvC,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EACpD,WAAW,EAAE,WAAW,CAAC,MAAM,EAC/B,mBAAmB,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1E,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3D,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACzC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EACjD,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,eAAe,EAAE,eAAe,GAChC,EAED,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uEAAuE,aAEjF,KAAC,IAAI,IAAC,SAAS,EAAC,uCAAuC,EAAC,IAAI,EAAE,EAAE,wBAAgB,EAChF,aAAG,SAAS,EAAC,sCAAsC,8BACnC,GAAG,EACjB,gBAAM,SAAS,EAAC,6BAA6B,aAC1C,cAAc,CAAC,MAAM,mBAAe,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IACpE,EAAC,GAAG,kCACkB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,uFAEpD,IACA,CACP,EAEA,UAAU,IAAI,CACb,KAAC,iBAAiB,IAChB,MAAM,EAAE,UAAU,CAAC,MAAM,EACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GACpC,CACH,EAED,eAAK,SAAS,EAAC,sCAAsC,aACnD,KAAC,aAAa,IACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,aAAa,EACxB,kBAAkB,EAAE,sBAAsB,EAC1C,WAAW,EAAE,eAAe,EAC5B,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAC9C,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAC7B,EAEF,cAAK,SAAS,EAAC,wBAAwB,YACpC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CACpB,KAAC,gBAAgB,IACf,GAAG,EAAE,WAAW,CAAC,GAAG,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,CAAC,SAAS,EAChC,KAAK,EAAE,iBAAiB,IAAI,CAAC,KAAK,IAAI,OAAO,SAAS,EAAE,EAAE,GAC1D,CACH,CAAC,CAAC,CAAC,CACF,KAAC,gBAAgB,IACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,mBAAmB,EAC7B,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EACpC,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,IAAI,CAAC,WAAW,CAAC,MAAM,GACjE,CACH,GACG,EAEL,QAAQ,IAAI,CAAC,OAAO,IAAI,CACvB,KAAC,gBAAgB,IACf,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,eAAe,EAAE,mBAAmB,EACpC,gBAAgB,EAAE,oBAAoB,EACtC,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAC7D,QAAQ,EAAE,IAAI,CAAC,IAAI,EACnB,gBAAgB,EAAE,oBAAoB,GACtC,CACH,EAEA,OAAO,IAAI,CACV,KAAC,cAAc,IACb,UAAU,EAAC,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,EAAE,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,aAAa,EAAE,YAAY,EAC3B,OAAO,EAAE,cAAc,GACvB,CACH,IACG,IACF,EAEN,KAAC,eAAe,IACd,IAAI,EAAE,OAAO,EACb,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,KAAK,EAAE,SAAS,GAChB,EAED,IAAI,CAAC,EAAE,IAAI,CACV,KAAC,cAAc,IACb,cAAc,EAAE,QAAQ,EACxB,UAAU,EAAE,IAAI,CAAC,EAAE,EACnB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EACpC,SAAS,EAAE,cAAc,GACzB,CACH,EAED,KAAC,eAAe,IACd,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,MAAM,EAAE,YAAY,GACpB,EAEF,KAAC,aAAa,IACZ,IAAI,EAAE,cAAc,KAAK,IAAI,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACtC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAC,iBAAiB,EACvB,WAAW,EAAC,iFAAiF,EAC7F,YAAY,EAAC,QAAQ,EACrB,WAAW,SACX,EAEF,KAAC,aAAa,IACZ,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACvC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,oBAAoB,EAC1B,WAAW,EAAC,qEAAqE,EACjF,YAAY,EAAC,SAAS,GACtB,EAED,IAAI,CAAC,EAAE,IAAI,CACV,KAAC,qBAAqB,IACpB,cAAc,EAAE,QAAQ,EACxB,UAAU,EAAE,IAAI,CAAC,EAAE,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EACrC,WAAW,EAAE,eAAe,GAC5B,CACH,EAED,KAAC,aAAa,IACZ,IAAI,EAAE,WAAW,KAAK,IAAI,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EACnC,SAAS,EAAE,GAAG,EAAE;oBACd,MAAM,MAAM,GAAG,WAAW,CAAA;oBAC1B,cAAc,CAAC,IAAI,CAAC,CAAA;oBACpB,QAAQ,CAAC,KAAK,CAAC,CAAA;oBACf,IAAI,MAAM;wBAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBAChC,CAAC,EACD,KAAK,EAAC,0BAA0B,EAChC,WAAW,EAAC,8DAA8D,EAC1E,YAAY,EAAC,OAAO,EACpB,WAAW,EAAC,MAAM,EAClB,WAAW,SACX,IACY,CACjB,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"PostSectionEditor.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostSectionEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostTemplateEditor.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostTemplateEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PostTemplateEditor.d.ts","sourceRoot":"","sources":["../../../src/views/post-editor/PostTemplateEditor.tsx"],"names":[],"mappings":"AAiCA,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAiBD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,GACX,EAAE,uBAAuB,2CAwRzB"}
|
|
@@ -4,6 +4,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
|
4
4
|
import { AlertTriangle, ArrowLeft, Layout, Loader2, Save } from 'lucide-react';
|
|
5
5
|
import { toast } from 'sonner';
|
|
6
6
|
import { ConfirmDialog } from '../../components/ui/ConfirmDialog.js';
|
|
7
|
+
import { useNavigationBlocker } from '../../router/index.js';
|
|
7
8
|
import { ErrorBoundary } from '../../components/ErrorBoundary.js';
|
|
8
9
|
import { addSection, createSection, duplicateSection, fetchTemplateForEditor, reorderSections, removeSection, saveTemplate, toggleSectionVisibility, updateSectionContent, updateSectionMeta, updateSectionSettings, validateTemplate, } from '../../lib/post-editor-service.js';
|
|
9
10
|
import { DEFAULT_VIEWPORT } from '../page-editor/viewports.js';
|
|
@@ -64,16 +65,8 @@ export function PostTemplateEditor({ postType, config, session, onNavigate, }) {
|
|
|
64
65
|
cancelled = true;
|
|
65
66
|
};
|
|
66
67
|
}, [postType]);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return;
|
|
70
|
-
function onBeforeUnload(e) {
|
|
71
|
-
e.preventDefault();
|
|
72
|
-
e.returnValue = '';
|
|
73
|
-
}
|
|
74
|
-
window.addEventListener('beforeunload', onBeforeUnload);
|
|
75
|
-
return () => window.removeEventListener('beforeunload', onBeforeUnload);
|
|
76
|
-
}, [dirty]);
|
|
68
|
+
// Unsaved-changes guard (client-side navigation + browser unload).
|
|
69
|
+
useNavigationBlocker(dirty);
|
|
77
70
|
const mutateSections = useCallback((fn) => {
|
|
78
71
|
setTemplate((prev) => (prev ? { ...prev, sections: fn(prev.sections) } : prev));
|
|
79
72
|
setDirty(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostTemplateEditor.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostTemplateEditor.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PostTemplateEditor.js","sourceRoot":"","sources":["../../../src/views/post-editor/PostTemplateEditor.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/cms-admin",
|
|
3
|
-
"version": "0.76.
|
|
3
|
+
"version": "0.76.1",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"repository": {
|
|
5
6
|
"type": "git",
|
|
6
7
|
"url": "https://github.com/actuate-media/actuatecms.git",
|
|
@@ -95,8 +96,8 @@
|
|
|
95
96
|
"tailwindcss": "^4.0.0",
|
|
96
97
|
"typescript": "^5.7.0",
|
|
97
98
|
"vitest": "^4.1.0",
|
|
98
|
-
"@actuate-media/
|
|
99
|
-
"@actuate-media/
|
|
99
|
+
"@actuate-media/cms-core": "0.91.0",
|
|
100
|
+
"@actuate-media/component-blocks": "0.2.2"
|
|
100
101
|
},
|
|
101
102
|
"scripts": {
|
|
102
103
|
"build": "tsc --project tsconfig.json && npx @tailwindcss/cli -i src/styles/build-input.css -o dist/actuate-admin.css --minify",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { buildNavItems } from '../../layout/Sidebar.js'
|
|
3
|
+
|
|
4
|
+
// Plugin adminNavItems (collected onto `_pluginNavItems` by cms-core's
|
|
5
|
+
// applyPlugins) must surface in the admin sidebar, without doubling a built-in
|
|
6
|
+
// destination or one of the plugin's own collections.
|
|
7
|
+
const baseCollections = {
|
|
8
|
+
collections: {
|
|
9
|
+
pages: { slug: 'pages', labels: { singular: 'Page', plural: 'Pages' }, type: 'page' },
|
|
10
|
+
},
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe('buildNavItems — plugin nav items', () => {
|
|
14
|
+
it('adds a plugin-contributed custom nav link', () => {
|
|
15
|
+
const items = buildNavItems({
|
|
16
|
+
...baseCollections,
|
|
17
|
+
_pluginNavItems: [{ label: 'Redirects', icon: 'arrow-right-left', path: '/redirects' }],
|
|
18
|
+
})
|
|
19
|
+
const redirects = items.find((i) => i.path === '/redirects')
|
|
20
|
+
expect(redirects).toBeDefined()
|
|
21
|
+
expect(redirects?.label).toBe('Redirects')
|
|
22
|
+
expect(redirects?.group).toBe('Content')
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('does not double a built-in destination path', () => {
|
|
26
|
+
const items = buildNavItems({
|
|
27
|
+
...baseCollections,
|
|
28
|
+
_pluginNavItems: [{ label: 'Media Library', icon: 'image', path: '/media' }],
|
|
29
|
+
})
|
|
30
|
+
expect(items.filter((i) => i.path === '/media')).toHaveLength(1)
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
it('falls back to a default icon for an unknown icon string and still renders', () => {
|
|
34
|
+
const items = buildNavItems({
|
|
35
|
+
...baseCollections,
|
|
36
|
+
_pluginNavItems: [{ label: 'Custom', icon: 'no-such-icon', path: '/custom' }],
|
|
37
|
+
})
|
|
38
|
+
const custom = items.find((i) => i.path === '/custom')
|
|
39
|
+
expect(custom).toBeDefined()
|
|
40
|
+
expect(custom?.icon).toBeTruthy()
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
it('ignores malformed plugin nav entries', () => {
|
|
44
|
+
const items = buildNavItems({
|
|
45
|
+
...baseCollections,
|
|
46
|
+
_pluginNavItems: [{ label: 'No path' }, null, { path: '/ok', label: 'Ok', icon: 'menu' }],
|
|
47
|
+
})
|
|
48
|
+
expect(items.find((i) => i.path === '/ok')).toBeDefined()
|
|
49
|
+
})
|
|
50
|
+
})
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// @vitest-environment happy-dom
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
3
|
+
import { act, renderHook } from '@testing-library/react'
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
hasBlockingNavigation,
|
|
7
|
+
NAVIGATION_CONFIRM_MESSAGE,
|
|
8
|
+
registerNavigationBlocker,
|
|
9
|
+
useAdminRouter,
|
|
10
|
+
useNavigationBlocker,
|
|
11
|
+
} from '../../router/index.js'
|
|
12
|
+
|
|
13
|
+
// Guards against silent data loss: an in-app route change (Cancel, sidebar /
|
|
14
|
+
// breadcrumb links, command palette) must confirm before discarding an editor's
|
|
15
|
+
// unsaved changes — beforeunload only covers hard reloads, never SPA navigation.
|
|
16
|
+
describe('navigation blocker', () => {
|
|
17
|
+
let confirmMock: ReturnType<typeof vi.fn>
|
|
18
|
+
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
// Reset the URL so each test's router mounts at '/' (pushState from a prior
|
|
21
|
+
// test would otherwise leak into window.location and skew currentPath).
|
|
22
|
+
window.history.replaceState(null, '', '/admin')
|
|
23
|
+
confirmMock = vi.fn(() => true)
|
|
24
|
+
;(window as unknown as { confirm: typeof window.confirm }).confirm =
|
|
25
|
+
confirmMock as unknown as typeof window.confirm
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
afterEach(() => {
|
|
29
|
+
// Ensure no blocker leaks into the next test.
|
|
30
|
+
expect(hasBlockingNavigation()).toBe(false)
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
it('navigates freely and never prompts when nothing is dirty', () => {
|
|
34
|
+
const { result } = renderHook(() => useAdminRouter('/admin', '/'))
|
|
35
|
+
act(() => result.current.navigate('/collections/posts'))
|
|
36
|
+
expect(result.current.currentPath).toBe('/collections/posts')
|
|
37
|
+
expect(confirmMock).not.toHaveBeenCalled()
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
it('aborts the navigation when a dirty editor is registered and the user cancels', () => {
|
|
41
|
+
confirmMock.mockReturnValue(false)
|
|
42
|
+
const unregister = registerNavigationBlocker(() => true)
|
|
43
|
+
try {
|
|
44
|
+
const { result } = renderHook(() => useAdminRouter('/admin', '/'))
|
|
45
|
+
act(() => result.current.navigate('/collections/posts'))
|
|
46
|
+
expect(confirmMock).toHaveBeenCalledWith(NAVIGATION_CONFIRM_MESSAGE)
|
|
47
|
+
expect(result.current.currentPath).toBe('/')
|
|
48
|
+
} finally {
|
|
49
|
+
unregister()
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
it('proceeds with the navigation when the user confirms leaving', () => {
|
|
54
|
+
confirmMock.mockReturnValue(true)
|
|
55
|
+
const unregister = registerNavigationBlocker(() => true)
|
|
56
|
+
try {
|
|
57
|
+
const { result } = renderHook(() => useAdminRouter('/admin', '/'))
|
|
58
|
+
act(() => result.current.navigate('/settings'))
|
|
59
|
+
expect(confirmMock).toHaveBeenCalledOnce()
|
|
60
|
+
expect(result.current.currentPath).toBe('/settings')
|
|
61
|
+
} finally {
|
|
62
|
+
unregister()
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
it('useNavigationBlocker only blocks while dirty and cleans up on unmount', () => {
|
|
67
|
+
const { rerender, unmount } = renderHook(({ dirty }) => useNavigationBlocker(dirty), {
|
|
68
|
+
initialProps: { dirty: false },
|
|
69
|
+
})
|
|
70
|
+
expect(hasBlockingNavigation()).toBe(false)
|
|
71
|
+
rerender({ dirty: true })
|
|
72
|
+
expect(hasBlockingNavigation()).toBe(true)
|
|
73
|
+
rerender({ dirty: false })
|
|
74
|
+
expect(hasBlockingNavigation()).toBe(false)
|
|
75
|
+
rerender({ dirty: true })
|
|
76
|
+
expect(hasBlockingNavigation()).toBe(true)
|
|
77
|
+
unmount()
|
|
78
|
+
expect(hasBlockingNavigation()).toBe(false)
|
|
79
|
+
})
|
|
80
|
+
})
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// @vitest-environment happy-dom
|
|
2
|
+
import { render, screen } from '@testing-library/react'
|
|
3
|
+
import { describe, expect, it } from 'vitest'
|
|
4
|
+
|
|
5
|
+
import { ArticleBodySection } from '../../views/page-editor/sections/ArticleBodySection.js'
|
|
6
|
+
import type { PageSection } from '../../lib/page-editor-service.js'
|
|
7
|
+
|
|
8
|
+
function section(content: Record<string, unknown> = {}): PageSection {
|
|
9
|
+
return {
|
|
10
|
+
id: 's1',
|
|
11
|
+
sectionType: 'article-body',
|
|
12
|
+
name: 'Article Body',
|
|
13
|
+
visible: true,
|
|
14
|
+
content,
|
|
15
|
+
settings: {},
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
describe('ArticleBodySection', () => {
|
|
20
|
+
it('renders post body HTML with rich-text preview class', () => {
|
|
21
|
+
const { container } = render(
|
|
22
|
+
<ArticleBodySection
|
|
23
|
+
section={section({ source: 'field' })}
|
|
24
|
+
context={{ body: '<h2>What is Lorem Ipsum?</h2><p>Body copy.</p>' }}
|
|
25
|
+
/>,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
expect(screen.getByRole('heading', { level: 2, name: 'What is Lorem Ipsum?' })).toBeTruthy()
|
|
29
|
+
expect(container.querySelector('.actuate-rich-text')).toBeTruthy()
|
|
30
|
+
expect(container.querySelector('.prose')).toBeNull()
|
|
31
|
+
})
|
|
32
|
+
})
|
package/src/layout/Sidebar.tsx
CHANGED
|
@@ -876,6 +876,25 @@ export function buildNavItems(config: any): NavItem[] {
|
|
|
876
876
|
}
|
|
877
877
|
for (const bucket of groupBuckets.values()) items.push(...bucket)
|
|
878
878
|
|
|
879
|
+
// Plugin-contributed custom nav links (PluginDefinition.adminNavItems,
|
|
880
|
+
// collected onto `_pluginNavItems` by cms-core's applyPlugins). Deduped by
|
|
881
|
+
// path against everything already present so a plugin can't double a built-in
|
|
882
|
+
// destination or one of its own collections.
|
|
883
|
+
const pluginNav: Array<{ label?: string; icon?: string; path?: string }> = Array.isArray(
|
|
884
|
+
config?._pluginNavItems,
|
|
885
|
+
)
|
|
886
|
+
? config._pluginNavItems
|
|
887
|
+
: []
|
|
888
|
+
for (const item of pluginNav) {
|
|
889
|
+
if (!item?.path || items.some((n) => n.path === item.path)) continue
|
|
890
|
+
items.push({
|
|
891
|
+
label: item.label ?? item.path,
|
|
892
|
+
path: item.path,
|
|
893
|
+
icon: (item.icon && ICON_MAP[item.icon]) || FileText,
|
|
894
|
+
group: 'Content',
|
|
895
|
+
})
|
|
896
|
+
}
|
|
897
|
+
|
|
879
898
|
// Settings destinations — always last. Users + API Keys now live inside
|
|
880
899
|
// the Settings view as tabs (see Settings.tsx), so only Settings is anchored
|
|
881
900
|
// here.
|
package/src/router/index.ts
CHANGED
|
@@ -23,6 +23,61 @@ export function parseRouteQuery(path: string): URLSearchParams {
|
|
|
23
23
|
return new URLSearchParams(path.split('#')[0]!.split('?')[1] ?? '')
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
/** Confirmation shown when navigating away from an editor with unsaved changes. */
|
|
27
|
+
export const NAVIGATION_CONFIRM_MESSAGE =
|
|
28
|
+
'You have unsaved changes that will be lost. Leave this page anyway?'
|
|
29
|
+
|
|
30
|
+
// Module-level registry of "is there unsaved work?" predicates. Editors register
|
|
31
|
+
// via useNavigationBlocker; the SPA router's navigate() consults them before an
|
|
32
|
+
// in-app route change so Cancel / sidebar / breadcrumb / command-palette links
|
|
33
|
+
// can't silently discard an editor's unsaved changes (beforeunload only covers
|
|
34
|
+
// hard reloads, never client-side navigation).
|
|
35
|
+
type BlockerPredicate = () => boolean
|
|
36
|
+
const navigationBlockers = new Set<BlockerPredicate>()
|
|
37
|
+
|
|
38
|
+
export function registerNavigationBlocker(predicate: BlockerPredicate): () => void {
|
|
39
|
+
navigationBlockers.add(predicate)
|
|
40
|
+
return () => {
|
|
41
|
+
navigationBlockers.delete(predicate)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** True when any registered editor currently has unsaved changes. */
|
|
46
|
+
export function hasBlockingNavigation(): boolean {
|
|
47
|
+
for (const predicate of navigationBlockers) {
|
|
48
|
+
try {
|
|
49
|
+
if (predicate()) return true
|
|
50
|
+
} catch {
|
|
51
|
+
// A misbehaving predicate must not wedge navigation.
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Register an unsaved-changes guard for an editor. While `isDirty` is true, an
|
|
59
|
+
* in-app navigation prompts for confirmation (via navigate()) and a browser
|
|
60
|
+
* unload/refresh shows the native "leave site?" prompt. The registration and
|
|
61
|
+
* the beforeunload listener are torn down on unmount.
|
|
62
|
+
*/
|
|
63
|
+
export function useNavigationBlocker(isDirty: boolean): void {
|
|
64
|
+
const dirtyRef = useRef(isDirty)
|
|
65
|
+
dirtyRef.current = isDirty
|
|
66
|
+
|
|
67
|
+
useEffect(() => registerNavigationBlocker(() => dirtyRef.current), [])
|
|
68
|
+
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (!isDirty || typeof window === 'undefined') return
|
|
71
|
+
const onBeforeUnload = (e: BeforeUnloadEvent) => {
|
|
72
|
+
e.preventDefault()
|
|
73
|
+
// Required by Chrome/Safari to actually trigger the native prompt.
|
|
74
|
+
e.returnValue = ''
|
|
75
|
+
}
|
|
76
|
+
window.addEventListener('beforeunload', onBeforeUnload)
|
|
77
|
+
return () => window.removeEventListener('beforeunload', onBeforeUnload)
|
|
78
|
+
}, [isDirty])
|
|
79
|
+
}
|
|
80
|
+
|
|
26
81
|
export function useAdminRouter(basePath = '/admin', serverPath = '/') {
|
|
27
82
|
const [currentPath, setCurrentPath] = useState(serverPath)
|
|
28
83
|
const baseRef = useRef(basePath)
|
|
@@ -52,6 +107,12 @@ export function useAdminRouter(basePath = '/admin', serverPath = '/') {
|
|
|
52
107
|
|
|
53
108
|
const navigate = useCallback((path: string) => {
|
|
54
109
|
const normalizedPath = path.startsWith('/') ? path : `/${path}`
|
|
110
|
+
|
|
111
|
+
// Guard against discarding unsaved editor work on client-side navigation.
|
|
112
|
+
if (hasBlockingNavigation() && typeof window !== 'undefined') {
|
|
113
|
+
if (!window.confirm(NAVIGATION_CONFIRM_MESSAGE)) return
|
|
114
|
+
}
|
|
115
|
+
|
|
55
116
|
setCurrentPath(normalizedPath)
|
|
56
117
|
|
|
57
118
|
const fullUrl = normalizedPath === '/' ? baseRef.current : `${baseRef.current}${normalizedPath}`
|
package/src/styles/theme.css
CHANGED
|
@@ -224,6 +224,97 @@
|
|
|
224
224
|
letter-spacing: revert-layer;
|
|
225
225
|
line-height: revert-layer;
|
|
226
226
|
}
|
|
227
|
+
|
|
228
|
+
/*
|
|
229
|
+
* Rich-text HTML in the canvas preview (article body, etc.). The TipTap
|
|
230
|
+
* editor styles headings in `.ProseMirror`; the canvas cannot rely on
|
|
231
|
+
* `prose` because @tailwindcss/typography is not bundled, and the revert
|
|
232
|
+
* above strips admin heading scales without substituting site typography.
|
|
233
|
+
*/
|
|
234
|
+
.actuate-admin .actuate-canvas .actuate-rich-text {
|
|
235
|
+
color: var(--foreground);
|
|
236
|
+
font-size: 1rem;
|
|
237
|
+
line-height: 1.625;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.actuate-admin .actuate-canvas .actuate-rich-text :is(h1, h2, h3, h4, h5, h6) {
|
|
241
|
+
color: var(--foreground);
|
|
242
|
+
font-weight: 600;
|
|
243
|
+
line-height: 1.5;
|
|
244
|
+
margin-top: 1.25em;
|
|
245
|
+
margin-bottom: 0.5em;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.actuate-admin .actuate-canvas .actuate-rich-text h1 {
|
|
249
|
+
font-size: 2em;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.actuate-admin .actuate-canvas .actuate-rich-text h2 {
|
|
253
|
+
font-size: 1.5em;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.actuate-admin .actuate-canvas .actuate-rich-text h3 {
|
|
257
|
+
font-size: 1.25em;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.actuate-admin .actuate-canvas .actuate-rich-text h4 {
|
|
261
|
+
font-size: 1.125em;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.actuate-admin .actuate-canvas .actuate-rich-text h5 {
|
|
265
|
+
font-size: 1em;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.actuate-admin .actuate-canvas .actuate-rich-text h6 {
|
|
269
|
+
font-size: 0.875em;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.actuate-admin .actuate-canvas .actuate-rich-text p {
|
|
273
|
+
margin-top: 0.75em;
|
|
274
|
+
margin-bottom: 0.75em;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.actuate-admin .actuate-canvas .actuate-rich-text :is(ul, ol) {
|
|
278
|
+
margin-top: 0.75em;
|
|
279
|
+
margin-bottom: 0.75em;
|
|
280
|
+
padding-left: 1.5rem;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.actuate-admin .actuate-canvas .actuate-rich-text ul {
|
|
284
|
+
list-style-type: disc;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.actuate-admin .actuate-canvas .actuate-rich-text ol {
|
|
288
|
+
list-style-type: decimal;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.actuate-admin .actuate-canvas .actuate-rich-text li {
|
|
292
|
+
margin-top: 0.25em;
|
|
293
|
+
margin-bottom: 0.25em;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.actuate-admin .actuate-canvas .actuate-rich-text a {
|
|
297
|
+
color: var(--primary);
|
|
298
|
+
text-decoration: underline;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.actuate-admin .actuate-canvas .actuate-rich-text :is(strong, b) {
|
|
302
|
+
font-weight: 600;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.actuate-admin .actuate-canvas .actuate-rich-text blockquote {
|
|
306
|
+
border-left: 3px solid var(--border);
|
|
307
|
+
margin: 1em 0;
|
|
308
|
+
padding-left: 1em;
|
|
309
|
+
color: var(--muted-foreground);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.actuate-admin .actuate-canvas .actuate-rich-text img {
|
|
313
|
+
max-width: 100%;
|
|
314
|
+
height: auto;
|
|
315
|
+
border-radius: var(--radius-md);
|
|
316
|
+
margin: 1em 0;
|
|
317
|
+
}
|
|
227
318
|
}
|
|
228
319
|
|
|
229
320
|
.actuate-admin.reduce-motion,
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
XCircle,
|
|
15
15
|
} from 'lucide-react'
|
|
16
16
|
import { toast } from 'sonner'
|
|
17
|
+
import { useNavigationBlocker } from '../router/index.js'
|
|
17
18
|
import { FieldRenderer } from '../fields/FieldRenderer.js'
|
|
18
19
|
import { RelationshipField } from '../fields/RelationshipField.js'
|
|
19
20
|
import { Button } from '../components/ui/Button.js'
|
|
@@ -101,14 +102,9 @@ export function DocumentEdit({
|
|
|
101
102
|
}
|
|
102
103
|
}, [documentId, isNew])
|
|
103
104
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
e.preventDefault()
|
|
108
|
-
}
|
|
109
|
-
window.addEventListener('beforeunload', handler)
|
|
110
|
-
return () => window.removeEventListener('beforeunload', handler)
|
|
111
|
-
}, [isDirty])
|
|
105
|
+
// Warn before discarding unsaved changes on client-side navigation (Cancel,
|
|
106
|
+
// sidebar/breadcrumb links) and on browser unload/refresh.
|
|
107
|
+
useNavigationBlocker(isDirty)
|
|
112
108
|
|
|
113
109
|
const SEO_FIELDS: (keyof SEOData)[] = [
|
|
114
110
|
'metaTitle',
|
|
@@ -4,6 +4,7 @@ import { useState, useEffect, useCallback, useRef } from 'react'
|
|
|
4
4
|
import { Loader2, AlertTriangle } from 'lucide-react'
|
|
5
5
|
import { toast } from 'sonner'
|
|
6
6
|
import { cmsApi } from '../../lib/api.js'
|
|
7
|
+
import { useNavigationBlocker } from '../../router/index.js'
|
|
7
8
|
import { ErrorBoundary } from '../../components/ErrorBoundary.js'
|
|
8
9
|
import {
|
|
9
10
|
useBuilderState,
|
|
@@ -169,6 +170,9 @@ export function PageBuilder({
|
|
|
169
170
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- replaceTree/setPageSettings are stable builder actions
|
|
170
171
|
}, [documentId, templateId, collectionSlug])
|
|
171
172
|
|
|
173
|
+
// Warn before discarding unsaved builder changes on navigation / unload.
|
|
174
|
+
useNavigationBlocker(dirty)
|
|
175
|
+
|
|
172
176
|
const handleSave = useCallback(async () => {
|
|
173
177
|
setSaving(true)
|
|
174
178
|
const body = JSON.stringify({
|