@actuate-media/cms-admin 0.18.0 → 0.20.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 +9 -5
- package/dist/AdminRoot.js.map +1 -1
- package/dist/__tests__/lib/post-editor-service.test.js +75 -23
- package/dist/__tests__/lib/post-editor-service.test.js.map +1 -1
- package/dist/__tests__/lib/posts-service.test.js +132 -142
- package/dist/__tests__/lib/posts-service.test.js.map +1 -1
- package/dist/__tests__/views/posts-list-view.render.test.d.ts +2 -0
- package/dist/__tests__/views/posts-list-view.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/posts-list-view.render.test.js +73 -0
- package/dist/__tests__/views/posts-list-view.render.test.js.map +1 -0
- package/dist/actuate-admin.css +1 -1
- package/dist/components/seo/Drawer.d.ts +11 -0
- package/dist/components/seo/Drawer.d.ts.map +1 -0
- package/dist/components/seo/Drawer.js +13 -0
- package/dist/components/seo/Drawer.js.map +1 -0
- package/dist/components/seo/RedirectEditorDrawer.d.ts +9 -0
- package/dist/components/seo/RedirectEditorDrawer.d.ts.map +1 -0
- package/dist/components/seo/RedirectEditorDrawer.js +94 -0
- package/dist/components/seo/RedirectEditorDrawer.js.map +1 -0
- package/dist/components/seo/SeoCopilotDrawer.d.ts +10 -0
- package/dist/components/seo/SeoCopilotDrawer.d.ts.map +1 -0
- package/dist/components/seo/SeoCopilotDrawer.js +34 -0
- package/dist/components/seo/SeoCopilotDrawer.js.map +1 -0
- package/dist/components/seo/SeoEditorDrawer.d.ts +8 -0
- package/dist/components/seo/SeoEditorDrawer.d.ts.map +1 -0
- package/dist/components/seo/SeoEditorDrawer.js +111 -0
- package/dist/components/seo/SeoEditorDrawer.js.map +1 -0
- package/dist/components/seo/SeoIssueFixDrawer.d.ts +8 -0
- package/dist/components/seo/SeoIssueFixDrawer.d.ts.map +1 -0
- package/dist/components/seo/SeoIssueFixDrawer.js +111 -0
- package/dist/components/seo/SeoIssueFixDrawer.js.map +1 -0
- package/dist/components/seo/primitives.d.ts +53 -0
- package/dist/components/seo/primitives.d.ts.map +1 -0
- package/dist/components/seo/primitives.js +100 -0
- package/dist/components/seo/primitives.js.map +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar.js +3 -0
- package/dist/layout/Sidebar.js.map +1 -1
- package/dist/lib/post-editor-service.d.ts +6 -4
- package/dist/lib/post-editor-service.d.ts.map +1 -1
- package/dist/lib/post-editor-service.js +32 -37
- package/dist/lib/post-editor-service.js.map +1 -1
- package/dist/lib/posts-service.d.ts.map +1 -1
- package/dist/lib/posts-service.js +91 -160
- package/dist/lib/posts-service.js.map +1 -1
- package/dist/lib/seo-service.d.ts +322 -0
- package/dist/lib/seo-service.d.ts.map +1 -0
- package/dist/lib/seo-service.js +295 -0
- package/dist/lib/seo-service.js.map +1 -0
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +4 -1
- package/dist/router/index.js.map +1 -1
- package/dist/views/MediaBrowser.d.ts.map +1 -1
- package/dist/views/MediaBrowser.js +36 -25
- package/dist/views/MediaBrowser.js.map +1 -1
- package/dist/views/Posts/NewPostPicker.d.ts +5 -4
- package/dist/views/Posts/NewPostPicker.d.ts.map +1 -1
- package/dist/views/Posts/NewPostPicker.js +5 -4
- package/dist/views/Posts/NewPostPicker.js.map +1 -1
- package/dist/views/Posts/NewPostTypeInstructions.js +2 -2
- package/dist/views/Posts/PostTypesView.d.ts +5 -4
- package/dist/views/Posts/PostTypesView.d.ts.map +1 -1
- package/dist/views/Posts/PostTypesView.js.map +1 -1
- package/dist/views/Posts/PostsListView.d.ts.map +1 -1
- package/dist/views/Posts/PostsListView.js +8 -0
- package/dist/views/Posts/PostsListView.js.map +1 -1
- package/dist/views/Posts/post-type-presets.d.ts +5 -0
- package/dist/views/Posts/post-type-presets.d.ts.map +1 -1
- package/dist/views/Posts/post-type-presets.js +10 -64
- package/dist/views/Posts/post-type-presets.js.map +1 -1
- package/dist/views/SEO.d.ts.map +1 -1
- package/dist/views/SEO.js +89 -132
- package/dist/views/SEO.js.map +1 -1
- package/dist/views/page-editor/sections/ArticleBodySection.d.ts +6 -2
- package/dist/views/page-editor/sections/ArticleBodySection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/ArticleBodySection.js +8 -8
- package/dist/views/page-editor/sections/ArticleBodySection.js.map +1 -1
- package/dist/views/post-editor/PostEditorCanvas.js +7 -1
- package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
- package/dist/views/post-editor/PostFieldsModal.d.ts.map +1 -1
- package/dist/views/post-editor/PostFieldsModal.js +10 -4
- package/dist/views/post-editor/PostFieldsModal.js.map +1 -1
- package/dist/views/post-editor/PostHeader.d.ts.map +1 -1
- package/dist/views/post-editor/PostHeader.js +4 -3
- package/dist/views/post-editor/PostHeader.js.map +1 -1
- package/dist/views/post-editor/PostPreview.d.ts.map +1 -1
- package/dist/views/post-editor/PostPreview.js +11 -1
- package/dist/views/post-editor/PostPreview.js.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.d.ts +22 -2
- package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.js +4 -1
- package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
- package/dist/views/seo/AuditTab.d.ts +6 -0
- package/dist/views/seo/AuditTab.d.ts.map +1 -0
- package/dist/views/seo/AuditTab.js +57 -0
- package/dist/views/seo/AuditTab.js.map +1 -0
- package/dist/views/seo/ContentTab.d.ts +5 -0
- package/dist/views/seo/ContentTab.d.ts.map +1 -0
- package/dist/views/seo/ContentTab.js +27 -0
- package/dist/views/seo/ContentTab.js.map +1 -0
- package/dist/views/seo/OverviewTab.d.ts +8 -0
- package/dist/views/seo/OverviewTab.d.ts.map +1 -0
- package/dist/views/seo/OverviewTab.js +35 -0
- package/dist/views/seo/OverviewTab.js.map +1 -0
- package/dist/views/seo/RedirectsTab.d.ts +2 -0
- package/dist/views/seo/RedirectsTab.d.ts.map +1 -0
- package/dist/views/seo/RedirectsTab.js +124 -0
- package/dist/views/seo/RedirectsTab.js.map +1 -0
- package/dist/views/seo/TechnicalTab.d.ts +2 -0
- package/dist/views/seo/TechnicalTab.d.ts.map +1 -0
- package/dist/views/seo/TechnicalTab.js +102 -0
- package/dist/views/seo/TechnicalTab.js.map +1 -0
- package/dist/views/seo/useSeoResource.d.ts +8 -0
- package/dist/views/seo/useSeoResource.d.ts.map +1 -0
- package/dist/views/seo/useSeoResource.js +42 -0
- package/dist/views/seo/useSeoResource.js.map +1 -0
- package/package.json +2 -2
- package/src/AdminRoot.tsx +9 -5
- package/src/__tests__/lib/post-editor-service.test.ts +78 -23
- package/src/__tests__/lib/posts-service.test.ts +134 -163
- package/src/__tests__/views/posts-list-view.render.test.tsx +84 -0
- package/src/components/seo/Drawer.tsx +61 -0
- package/src/components/seo/RedirectEditorDrawer.tsx +235 -0
- package/src/components/seo/SeoCopilotDrawer.tsx +76 -0
- package/src/components/seo/SeoEditorDrawer.tsx +347 -0
- package/src/components/seo/SeoIssueFixDrawer.tsx +244 -0
- package/src/components/seo/primitives.tsx +237 -0
- package/src/index.ts +0 -2
- package/src/layout/Sidebar.tsx +3 -0
- package/src/lib/post-editor-service.ts +41 -40
- package/src/lib/posts-service.ts +109 -180
- package/src/lib/seo-service.ts +623 -0
- package/src/router/index.ts +4 -1
- package/src/views/MediaBrowser.tsx +89 -67
- package/src/views/Posts/NewPostPicker.tsx +5 -4
- package/src/views/Posts/NewPostTypeInstructions.tsx +2 -2
- package/src/views/Posts/PostTypesView.tsx +5 -4
- package/src/views/Posts/PostsListView.tsx +9 -0
- package/src/views/Posts/post-type-presets.ts +15 -64
- package/src/views/SEO.tsx +186 -863
- package/src/views/page-editor/sections/ArticleBodySection.tsx +12 -16
- package/src/views/post-editor/PostEditorCanvas.tsx +7 -1
- package/src/views/post-editor/PostFieldsModal.tsx +36 -21
- package/src/views/post-editor/PostHeader.tsx +4 -4
- package/src/views/post-editor/PostPreview.tsx +12 -1
- package/src/views/post-editor/PostSectionEditor.tsx +22 -5
- package/src/views/seo/AuditTab.tsx +229 -0
- package/src/views/seo/ContentTab.tsx +164 -0
- package/src/views/seo/OverviewTab.tsx +257 -0
- package/src/views/seo/RedirectsTab.tsx +392 -0
- package/src/views/seo/TechnicalTab.tsx +303 -0
- package/src/views/seo/useSeoResource.ts +52 -0
- package/dist/views/PostEditor.d.ts +0 -6
- package/dist/views/PostEditor.d.ts.map +0 -1
- package/dist/views/PostEditor.js +0 -79
- package/dist/views/PostEditor.js.map +0 -1
- package/dist/views/Posts.d.ts +0 -5
- package/dist/views/Posts.d.ts.map +0 -1
- package/dist/views/Posts.js +0 -73
- package/dist/views/Posts.js.map +0 -1
- package/src/views/PostEditor.tsx +0 -257
- package/src/views/Posts.tsx +0 -375
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posts-service.test.js","sourceRoot":"","sources":["../../../src/__tests__/lib/posts-service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7D,sEAAsE;AACtE,sEAAsE;AACtE,gDAAgD;AAChD,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;AAC1B,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CACpD,CAAC,CAAC,CAAA;AAEH,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"posts-service.test.js","sourceRoot":"","sources":["../../../src/__tests__/lib/posts-service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posts-list-view.render.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/views/posts-list-view.render.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @vitest-environment happy-dom
|
|
3
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
|
|
5
|
+
// Drive the list purely through a mocked posts-service so the test can
|
|
6
|
+
// control what each page returns. fetchPosts echoes the requested page so
|
|
7
|
+
// we can assert page-scoped selection behaviour without a real backend.
|
|
8
|
+
function makePost(id, title) {
|
|
9
|
+
return {
|
|
10
|
+
id,
|
|
11
|
+
postTypeId: 'articles',
|
|
12
|
+
postTypeName: 'Article',
|
|
13
|
+
postTypeAccentColor: 'blue',
|
|
14
|
+
title,
|
|
15
|
+
slug: id,
|
|
16
|
+
authorName: 'Author',
|
|
17
|
+
authorInitials: 'AU',
|
|
18
|
+
status: 'PUBLISHED',
|
|
19
|
+
updatedDate: '2026-01-01T00:00:00.000Z',
|
|
20
|
+
seoScore: 80,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const PAGE_ONE = [makePost('a1', 'Alpha'), makePost('a2', 'Alpha Two')];
|
|
24
|
+
const PAGE_TWO = [makePost('b1', 'Beta'), makePost('b2', 'Beta Two')];
|
|
25
|
+
const fetchPosts = vi.fn(async ({ page }) => ({
|
|
26
|
+
posts: page === 1 ? PAGE_ONE : PAGE_TWO,
|
|
27
|
+
total: 20,
|
|
28
|
+
types: [{ slug: 'articles', name: 'Article', postCount: 20 }],
|
|
29
|
+
authors: [],
|
|
30
|
+
}));
|
|
31
|
+
const bulkUpdatePosts = vi.fn(async () => ({ ok: 0, failed: 0 }));
|
|
32
|
+
const bulkDeletePosts = vi.fn(async () => ({ ok: 0, failed: 0 }));
|
|
33
|
+
vi.mock('../../lib/posts-service.js', () => ({
|
|
34
|
+
fetchPosts: (args) => fetchPosts(args),
|
|
35
|
+
bulkUpdatePosts: (...args) => bulkUpdatePosts(...args),
|
|
36
|
+
bulkDeletePosts: (...args) => bulkDeletePosts(...args),
|
|
37
|
+
}));
|
|
38
|
+
const { PostsListView } = await import('../../views/Posts/PostsListView.js');
|
|
39
|
+
beforeEach(() => {
|
|
40
|
+
fetchPosts.mockClear();
|
|
41
|
+
bulkUpdatePosts.mockClear();
|
|
42
|
+
bulkDeletePosts.mockClear();
|
|
43
|
+
});
|
|
44
|
+
describe('PostsListView — page-scoped selection', () => {
|
|
45
|
+
it('clears the selection when navigating to another page so the bulk count stays honest', async () => {
|
|
46
|
+
render(_jsx(PostsListView, { onNavigate: () => { } }));
|
|
47
|
+
// Wait for page 1 to load, then select a row.
|
|
48
|
+
const alpha = await screen.findByLabelText('Select "Alpha"');
|
|
49
|
+
fireEvent.click(alpha);
|
|
50
|
+
expect(screen.getByText('1 selected')).toBeTruthy();
|
|
51
|
+
// Navigate to page 2.
|
|
52
|
+
fireEvent.click(screen.getByLabelText('Next page'));
|
|
53
|
+
// Page 2 rows render and the stale selection is gone — no bulk bar,
|
|
54
|
+
// so a bulk publish/delete can never silently no-op against page 1.
|
|
55
|
+
await screen.findByLabelText('Select "Beta"');
|
|
56
|
+
expect(screen.queryByText('1 selected')).toBeNull();
|
|
57
|
+
expect(screen.queryByText(/selected$/)).toBeNull();
|
|
58
|
+
});
|
|
59
|
+
it('keeps the bulk count equal to the rows a bulk action will touch', async () => {
|
|
60
|
+
render(_jsx(PostsListView, { onNavigate: () => { } }));
|
|
61
|
+
const alpha = await screen.findByLabelText('Select "Alpha"');
|
|
62
|
+
const alphaTwo = await screen.findByLabelText('Select "Alpha Two"');
|
|
63
|
+
fireEvent.click(alpha);
|
|
64
|
+
fireEvent.click(alphaTwo);
|
|
65
|
+
expect(screen.getByText('2 selected')).toBeTruthy();
|
|
66
|
+
fireEvent.click(screen.getByText('Publish'));
|
|
67
|
+
await waitFor(() => expect(bulkUpdatePosts).toHaveBeenCalledTimes(1));
|
|
68
|
+
// The handler received exactly the two rows the bar advertised.
|
|
69
|
+
const ids = bulkUpdatePosts.mock.calls[0][0];
|
|
70
|
+
expect(ids).toHaveLength(2);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=posts-list-view.render.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posts-list-view.render.test.js","sourceRoot":"","sources":["../../../src/__tests__/views/posts-list-view.render.test.tsx"],"names":[],"mappings":"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"}
|