@prenta/admin 2.6.1 → 2.8.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/CHANGELOG.md +132 -0
- package/design-system/tokens.css +196 -85
- package/design-system/tokens.json +310 -85
- package/design-system/tokens.scss +163 -44
- package/design-system/tokens.tailwind.cjs +64 -1
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +43 -21
- package/dist/AdminRoot.js.map +1 -1
- package/dist/LoginRoot.d.ts.map +1 -1
- package/dist/LoginRoot.js +2 -1
- package/dist/LoginRoot.js.map +1 -1
- package/dist/__tests__/components/author-avatar.test.js +3 -17
- package/dist/__tests__/components/author-avatar.test.js.map +1 -1
- package/dist/__tests__/components/notification-bell.test.js +86 -15
- package/dist/__tests__/components/notification-bell.test.js.map +1 -1
- package/dist/__tests__/components/responsive-tiers.render.test.d.ts +2 -0
- package/dist/__tests__/components/responsive-tiers.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/responsive-tiers.render.test.js +313 -0
- package/dist/__tests__/components/responsive-tiers.render.test.js.map +1 -0
- package/dist/__tests__/components/serp-preview.render.test.js +6 -3
- package/dist/__tests__/components/serp-preview.render.test.js.map +1 -1
- package/dist/__tests__/components/shell-primitives.render.test.d.ts +2 -0
- package/dist/__tests__/components/shell-primitives.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/shell-primitives.render.test.js +716 -0
- package/dist/__tests__/components/shell-primitives.render.test.js.map +1 -0
- package/dist/__tests__/components/theme-provider-accent.test.js +49 -7
- package/dist/__tests__/components/theme-provider-accent.test.js.map +1 -1
- package/dist/__tests__/components/toggle.test.js +10 -3
- package/dist/__tests__/components/toggle.test.js.map +1 -1
- package/dist/__tests__/components/ui-primitives.test.js +3 -7
- package/dist/__tests__/components/ui-primitives.test.js.map +1 -1
- package/dist/__tests__/layout/build-nav-items.test.js +1 -1
- package/dist/__tests__/layout/build-nav-items.test.js.map +1 -1
- package/dist/__tests__/layout/shell-nav.render.test.d.ts +2 -0
- package/dist/__tests__/layout/shell-nav.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/shell-nav.render.test.js +736 -0
- package/dist/__tests__/layout/shell-nav.render.test.js.map +1 -0
- package/dist/__tests__/layout/sidebar-forms-submenu.render.test.js +8 -4
- package/dist/__tests__/layout/sidebar-forms-submenu.render.test.js.map +1 -1
- package/dist/__tests__/layout/sidebar-groups.render.test.d.ts +2 -0
- package/dist/__tests__/layout/sidebar-groups.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/sidebar-groups.render.test.js +56 -0
- package/dist/__tests__/layout/sidebar-groups.render.test.js.map +1 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.d.ts +2 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.js +82 -0
- package/dist/__tests__/layout/sidebar-menus.render.test.js.map +1 -0
- package/dist/__tests__/layout/sidebar-plugin-nav.test.js +1 -1
- package/dist/__tests__/layout/sidebar-plugin-nav.test.js.map +1 -1
- package/dist/__tests__/layout/sidebar-posts.test.js +48 -38
- package/dist/__tests__/layout/sidebar-posts.test.js.map +1 -1
- package/dist/__tests__/layout/sidebar-submenu.render.test.js +26 -10
- package/dist/__tests__/layout/sidebar-submenu.render.test.js.map +1 -1
- package/dist/__tests__/layout/topbar.render.test.d.ts +2 -0
- package/dist/__tests__/layout/topbar.render.test.d.ts.map +1 -0
- package/dist/__tests__/layout/topbar.render.test.js +406 -0
- package/dist/__tests__/layout/topbar.render.test.js.map +1 -0
- package/dist/__tests__/lib/api.test.js +2 -0
- package/dist/__tests__/lib/api.test.js.map +1 -1
- package/dist/__tests__/lib/batch-wizard.test.d.ts +2 -0
- package/dist/__tests__/lib/batch-wizard.test.d.ts.map +1 -0
- package/dist/__tests__/lib/batch-wizard.test.js +144 -0
- package/dist/__tests__/lib/batch-wizard.test.js.map +1 -0
- package/dist/__tests__/lib/job-drawer.test.d.ts +2 -0
- package/dist/__tests__/lib/job-drawer.test.d.ts.map +1 -0
- package/dist/__tests__/lib/job-drawer.test.js +395 -0
- package/dist/__tests__/lib/job-drawer.test.js.map +1 -0
- package/dist/__tests__/lib/job-view.test.d.ts +2 -0
- package/dist/__tests__/lib/job-view.test.d.ts.map +1 -0
- package/dist/__tests__/lib/job-view.test.js +484 -0
- package/dist/__tests__/lib/job-view.test.js.map +1 -0
- package/dist/__tests__/lib/jobs-service.test.d.ts +2 -0
- package/dist/__tests__/lib/jobs-service.test.d.ts.map +1 -0
- package/dist/__tests__/lib/jobs-service.test.js +142 -0
- package/dist/__tests__/lib/jobs-service.test.js.map +1 -0
- package/dist/__tests__/router/admin-route-order.test.d.ts +2 -0
- package/dist/__tests__/router/admin-route-order.test.d.ts.map +1 -0
- package/dist/__tests__/router/admin-route-order.test.js +36 -0
- package/dist/__tests__/router/admin-route-order.test.js.map +1 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.d.ts +2 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.d.ts.map +1 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.js +110 -0
- package/dist/__tests__/styles/ai-gradient-contrast.test.js.map +1 -0
- package/dist/__tests__/styles/breakpoint-order.test.d.ts +2 -0
- package/dist/__tests__/styles/breakpoint-order.test.d.ts.map +1 -0
- package/dist/__tests__/styles/breakpoint-order.test.js +52 -0
- package/dist/__tests__/styles/breakpoint-order.test.js.map +1 -0
- package/dist/__tests__/styles/responsive-layer.test.js +303 -12
- package/dist/__tests__/styles/responsive-layer.test.js.map +1 -1
- package/dist/__tests__/styles/tailwind-preset.test.d.ts +2 -0
- package/dist/__tests__/styles/tailwind-preset.test.d.ts.map +1 -0
- package/dist/__tests__/styles/tailwind-preset.test.js +147 -0
- package/dist/__tests__/styles/tailwind-preset.test.js.map +1 -0
- package/dist/__tests__/styles/theme-token-scope.test.js +9 -3
- package/dist/__tests__/styles/theme-token-scope.test.js.map +1 -1
- package/dist/__tests__/styles/tiers.test.d.ts +2 -0
- package/dist/__tests__/styles/tiers.test.d.ts.map +1 -0
- package/dist/__tests__/styles/tiers.test.js +121 -0
- package/dist/__tests__/styles/tiers.test.js.map +1 -0
- package/dist/__tests__/styles/tokens-drift.test.js +57 -6
- package/dist/__tests__/styles/tokens-drift.test.js.map +1 -1
- package/dist/__tests__/views/admin-lazy-route.render.test.js +27 -1
- package/dist/__tests__/views/admin-lazy-route.render.test.js.map +1 -1
- package/dist/__tests__/views/ai-settings.render.test.js +4 -4
- package/dist/__tests__/views/appearance-chrome.render.test.d.ts +2 -0
- package/dist/__tests__/views/appearance-chrome.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/appearance-chrome.render.test.js +688 -0
- package/dist/__tests__/views/appearance-chrome.render.test.js.map +1 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.d.ts +2 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.js +50 -0
- package/dist/__tests__/views/appearance-menus-route.render.test.js.map +1 -0
- package/dist/__tests__/views/appearance-settings.render.test.js +8 -6
- package/dist/__tests__/views/appearance-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/appearance-theme-provider.render.test.d.ts +2 -0
- package/dist/__tests__/views/appearance-theme-provider.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/appearance-theme-provider.render.test.js +286 -0
- package/dist/__tests__/views/appearance-theme-provider.render.test.js.map +1 -0
- package/dist/__tests__/views/dashboard.test.js +37 -0
- package/dist/__tests__/views/dashboard.test.js.map +1 -1
- package/dist/__tests__/views/document-edit-navigation.render.test.d.ts +2 -0
- package/dist/__tests__/views/document-edit-navigation.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/document-edit-navigation.render.test.js +101 -0
- package/dist/__tests__/views/document-edit-navigation.render.test.js.map +1 -0
- package/dist/__tests__/views/document-edit-routes.render.test.d.ts +2 -0
- package/dist/__tests__/views/document-edit-routes.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/document-edit-routes.render.test.js +113 -0
- package/dist/__tests__/views/document-edit-routes.render.test.js.map +1 -0
- package/dist/__tests__/views/email-settings.render.test.js +2 -2
- package/dist/__tests__/views/form-entries.render.test.js +15 -0
- package/dist/__tests__/views/form-entries.render.test.js.map +1 -1
- package/dist/__tests__/views/form-submissions.render.test.js +18 -0
- package/dist/__tests__/views/form-submissions.render.test.js.map +1 -1
- package/dist/__tests__/views/forms-list.render.test.js +12 -0
- package/dist/__tests__/views/forms-list.render.test.js.map +1 -1
- package/dist/__tests__/views/general-settings.render.test.js +26 -10
- package/dist/__tests__/views/general-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/header-footer-form.test.d.ts +2 -0
- package/dist/__tests__/views/header-footer-form.test.d.ts.map +1 -0
- package/dist/__tests__/views/header-footer-form.test.js +266 -0
- package/dist/__tests__/views/header-footer-form.test.js.map +1 -0
- package/dist/__tests__/views/jobs-drawer.render.test.d.ts +2 -0
- package/dist/__tests__/views/jobs-drawer.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/jobs-drawer.render.test.js +1348 -0
- package/dist/__tests__/views/jobs-drawer.render.test.js.map +1 -0
- package/dist/__tests__/views/jobs-list.render.test.d.ts +2 -0
- package/dist/__tests__/views/jobs-list.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/jobs-list.render.test.js +697 -0
- package/dist/__tests__/views/jobs-list.render.test.js.map +1 -0
- package/dist/__tests__/views/jobs-wizard.render.test.d.ts +2 -0
- package/dist/__tests__/views/jobs-wizard.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/jobs-wizard.render.test.js +588 -0
- package/dist/__tests__/views/jobs-wizard.render.test.js.map +1 -0
- package/dist/__tests__/views/kpi-grid.test.d.ts +2 -0
- package/dist/__tests__/views/kpi-grid.test.d.ts.map +1 -0
- package/dist/__tests__/views/kpi-grid.test.js +26 -0
- package/dist/__tests__/views/kpi-grid.test.js.map +1 -0
- package/dist/__tests__/views/post-section-editor.test.js +3 -1
- package/dist/__tests__/views/post-section-editor.test.js.map +1 -1
- package/dist/__tests__/views/script-tags.render.test.js +25 -0
- package/dist/__tests__/views/script-tags.render.test.js.map +1 -1
- package/dist/__tests__/views/security-settings.render.test.js +9 -8
- package/dist/__tests__/views/security-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/seo-settings.render.test.js +7 -7
- package/dist/__tests__/views/seo-settings.render.test.js.map +1 -1
- package/dist/__tests__/views/settings-save-bar.render.test.d.ts +2 -0
- package/dist/__tests__/views/settings-save-bar.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/settings-save-bar.render.test.js +68 -0
- package/dist/__tests__/views/settings-save-bar.render.test.js.map +1 -0
- package/dist/__tests__/views/settings-save-footer.render.test.js +23 -15
- package/dist/__tests__/views/settings-save-footer.render.test.js.map +1 -1
- package/dist/__tests__/views/settings-tabs.render.test.d.ts +2 -0
- package/dist/__tests__/views/settings-tabs.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/settings-tabs.render.test.js +319 -0
- package/dist/__tests__/views/settings-tabs.render.test.js.map +1 -0
- package/dist/__tests__/views/updates-tab.render.test.js +4 -3
- package/dist/__tests__/views/updates-tab.render.test.js.map +1 -1
- package/dist/components/Breadcrumbs.d.ts +8 -1
- package/dist/components/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs.js +6 -0
- package/dist/components/Breadcrumbs.js.map +1 -1
- package/dist/components/CommandPalette.d.ts.map +1 -1
- package/dist/components/CommandPalette.js +40 -4
- package/dist/components/CommandPalette.js.map +1 -1
- package/dist/components/LocaleSwitcher.d.ts.map +1 -1
- package/dist/components/LocaleSwitcher.js +1 -1
- package/dist/components/LocaleSwitcher.js.map +1 -1
- package/dist/components/NotificationBell.d.ts.map +1 -1
- package/dist/components/NotificationBell.js +44 -3
- package/dist/components/NotificationBell.js.map +1 -1
- package/dist/components/OfflineStatus.js +1 -1
- package/dist/components/OfflineStatus.js.map +1 -1
- package/dist/components/PresenceIndicator.d.ts.map +1 -1
- package/dist/components/PresenceIndicator.js +2 -1
- package/dist/components/PresenceIndicator.js.map +1 -1
- package/dist/components/ReflowMeter.js +2 -2
- package/dist/components/ReflowMeter.js.map +1 -1
- package/dist/components/SEOPanel.js +2 -2
- package/dist/components/SEOPanel.js.map +1 -1
- package/dist/components/ThemeProvider.d.ts +24 -4
- package/dist/components/ThemeProvider.d.ts.map +1 -1
- package/dist/components/ThemeProvider.js +80 -22
- package/dist/components/ThemeProvider.js.map +1 -1
- package/dist/components/TipTapEditor.d.ts.map +1 -1
- package/dist/components/TipTapEditor.js +3 -4
- package/dist/components/TipTapEditor.js.map +1 -1
- package/dist/components/forms/EmbedPanel.js +1 -1
- package/dist/components/forms/EmbedPanel.js.map +1 -1
- package/dist/components/forms/FormEntryDetailPane.js +6 -1
- package/dist/components/forms/FormEntryDetailPane.js.map +1 -1
- package/dist/components/forms/ShortcodeGlossary.d.ts.map +1 -1
- package/dist/components/forms/ShortcodeGlossary.js +6 -1
- package/dist/components/forms/ShortcodeGlossary.js.map +1 -1
- package/dist/components/forms/primitives.d.ts +15 -5
- package/dist/components/forms/primitives.d.ts.map +1 -1
- package/dist/components/forms/primitives.js +11 -11
- package/dist/components/forms/primitives.js.map +1 -1
- package/dist/components/pages/tag-badges.d.ts +2 -1
- package/dist/components/pages/tag-badges.d.ts.map +1 -1
- package/dist/components/pages/tag-badges.js +4 -3
- package/dist/components/pages/tag-badges.js.map +1 -1
- package/dist/components/seo/PageAuditPanel.js +2 -2
- package/dist/components/seo/PageAuditPanel.js.map +1 -1
- package/dist/components/seo/SerpPreview.d.ts +4 -4
- package/dist/components/seo/SerpPreview.js +1 -1
- package/dist/components/seo/SerpPreview.js.map +1 -1
- package/dist/components/seo/primitives.js +2 -2
- package/dist/components/seo/primitives.js.map +1 -1
- package/dist/components/ui/AuthorAvatar.d.ts +4 -4
- package/dist/components/ui/AuthorAvatar.d.ts.map +1 -1
- package/dist/components/ui/AuthorAvatar.js +11 -10
- package/dist/components/ui/AuthorAvatar.js.map +1 -1
- package/dist/components/ui/Badge.d.ts +1 -1
- package/dist/components/ui/Badge.js +1 -1
- package/dist/components/ui/Badge.js.map +1 -1
- package/dist/components/ui/Breadcrumb.d.ts +27 -0
- package/dist/components/ui/Breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/Breadcrumb.js +41 -0
- package/dist/components/ui/Breadcrumb.js.map +1 -0
- package/dist/components/ui/Button.d.ts +2 -2
- package/dist/components/ui/Button.d.ts.map +1 -1
- package/dist/components/ui/Button.js +31 -16
- package/dist/components/ui/Button.js.map +1 -1
- package/dist/components/ui/Card.d.ts +8 -4
- package/dist/components/ui/Card.d.ts.map +1 -1
- package/dist/components/ui/Card.js +21 -13
- package/dist/components/ui/Card.js.map +1 -1
- package/dist/components/ui/CardListControls.d.ts +34 -0
- package/dist/components/ui/CardListControls.d.ts.map +1 -0
- package/dist/components/ui/CardListControls.js +25 -0
- package/dist/components/ui/CardListControls.js.map +1 -0
- package/dist/components/ui/CountChip.d.ts +20 -0
- package/dist/components/ui/CountChip.d.ts.map +1 -0
- package/dist/components/ui/CountChip.js +48 -0
- package/dist/components/ui/CountChip.js.map +1 -0
- package/dist/components/ui/FilterPill.d.ts +2 -1
- package/dist/components/ui/FilterPill.d.ts.map +1 -1
- package/dist/components/ui/FilterPill.js +3 -2
- package/dist/components/ui/FilterPill.js.map +1 -1
- package/dist/components/ui/Input.d.ts +1 -1
- package/dist/components/ui/InspectorPane.d.ts +1 -1
- package/dist/components/ui/InspectorPane.d.ts.map +1 -1
- package/dist/components/ui/InspectorPane.js +15 -4
- package/dist/components/ui/InspectorPane.js.map +1 -1
- package/dist/components/ui/Modal.d.ts.map +1 -1
- package/dist/components/ui/Modal.js +10 -2
- package/dist/components/ui/Modal.js.map +1 -1
- package/dist/components/ui/PageHeader.d.ts +28 -0
- package/dist/components/ui/PageHeader.d.ts.map +1 -0
- package/dist/components/ui/PageHeader.js +18 -0
- package/dist/components/ui/PageHeader.js.map +1 -0
- package/dist/components/ui/RowActions.d.ts +5 -0
- package/dist/components/ui/RowActions.d.ts.map +1 -1
- package/dist/components/ui/RowActions.js +7 -2
- package/dist/components/ui/RowActions.js.map +1 -1
- package/dist/components/ui/Segmented.d.ts +21 -0
- package/dist/components/ui/Segmented.d.ts.map +1 -0
- package/dist/components/ui/Segmented.js +41 -0
- package/dist/components/ui/Segmented.js.map +1 -0
- package/dist/components/ui/Toaster.d.ts +12 -0
- package/dist/components/ui/Toaster.d.ts.map +1 -0
- package/dist/components/ui/Toaster.js +103 -0
- package/dist/components/ui/Toaster.js.map +1 -0
- package/dist/components/ui/Toggle.d.ts +4 -3
- package/dist/components/ui/Toggle.d.ts.map +1 -1
- package/dist/components/ui/Toggle.js +16 -12
- package/dist/components/ui/Toggle.js.map +1 -1
- package/dist/components/ui/UnderlineTabs.d.ts +56 -0
- package/dist/components/ui/UnderlineTabs.d.ts.map +1 -0
- package/dist/components/ui/UnderlineTabs.js +205 -0
- package/dist/components/ui/UnderlineTabs.js.map +1 -0
- package/dist/components/ui/UnsavedBar.d.ts +25 -0
- package/dist/components/ui/UnsavedBar.d.ts.map +1 -0
- package/dist/components/ui/UnsavedBar.js +22 -0
- package/dist/components/ui/UnsavedBar.js.map +1 -0
- package/dist/components/ui/admin-links.d.ts +11 -0
- package/dist/components/ui/admin-links.d.ts.map +1 -0
- package/dist/components/ui/admin-links.js +10 -0
- package/dist/components/ui/admin-links.js.map +1 -0
- package/dist/components/ui/card-table.d.ts +43 -0
- package/dist/components/ui/card-table.d.ts.map +1 -0
- package/dist/components/ui/card-table.js +31 -0
- package/dist/components/ui/card-table.js.map +1 -0
- package/dist/components/virtual-window.d.ts +7 -0
- package/dist/components/virtual-window.d.ts.map +1 -1
- package/dist/components/virtual-window.js +5 -2
- package/dist/components/virtual-window.js.map +1 -1
- package/dist/fields/RelationshipField.js +1 -1
- package/dist/fields/RelationshipField.js.map +1 -1
- package/dist/files/dm-mono-latin-400-normal.woff +0 -0
- package/dist/files/dm-mono-latin-400-normal.woff2 +0 -0
- package/dist/files/dm-mono-latin-500-normal.woff +0 -0
- package/dist/files/dm-mono-latin-500-normal.woff2 +0 -0
- package/dist/files/dm-mono-latin-ext-400-normal.woff +0 -0
- package/dist/files/dm-mono-latin-ext-400-normal.woff2 +0 -0
- package/dist/files/dm-mono-latin-ext-500-normal.woff +0 -0
- package/dist/files/dm-mono-latin-ext-500-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-400-normal.woff +0 -0
- package/dist/files/dm-sans-latin-400-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-500-normal.woff +0 -0
- package/dist/files/dm-sans-latin-500-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-600-normal.woff +0 -0
- package/dist/files/dm-sans-latin-600-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-700-normal.woff +0 -0
- package/dist/files/dm-sans-latin-700-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-400-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-500-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-500-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-600-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-600-normal.woff2 +0 -0
- package/dist/files/dm-sans-latin-ext-700-normal.woff +0 -0
- package/dist/files/dm-sans-latin-ext-700-normal.woff2 +0 -0
- package/dist/hooks/useAppearanceBootstrap.d.ts.map +1 -1
- package/dist/hooks/useAppearanceBootstrap.js +9 -3
- package/dist/hooks/useAppearanceBootstrap.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/layout/Header.d.ts +14 -5
- package/dist/layout/Header.d.ts.map +1 -1
- package/dist/layout/Header.js +78 -13
- package/dist/layout/Header.js.map +1 -1
- package/dist/layout/Layout.d.ts +5 -3
- package/dist/layout/Layout.d.ts.map +1 -1
- package/dist/layout/Layout.js +45 -54
- package/dist/layout/Layout.js.map +1 -1
- package/dist/layout/MobileTabBar.d.ts +20 -0
- package/dist/layout/MobileTabBar.d.ts.map +1 -0
- package/dist/layout/MobileTabBar.js +29 -0
- package/dist/layout/MobileTabBar.js.map +1 -0
- package/dist/layout/Sidebar.d.ts +8 -26
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar.js +309 -345
- package/dist/layout/Sidebar.js.map +1 -1
- package/dist/layout/nav-config.d.ts +101 -0
- package/dist/layout/nav-config.d.ts.map +1 -0
- package/dist/layout/nav-config.js +297 -0
- package/dist/layout/nav-config.js.map +1 -0
- package/dist/layout/primitives/AdminShell.d.ts +10 -2
- package/dist/layout/primitives/AdminShell.d.ts.map +1 -1
- package/dist/layout/primitives/AdminShell.js +114 -6
- package/dist/layout/primitives/AdminShell.js.map +1 -1
- package/dist/layout/topbar-classes.d.ts +8 -0
- package/dist/layout/topbar-classes.d.ts.map +1 -0
- package/dist/layout/topbar-classes.js +8 -0
- package/dist/layout/topbar-classes.js.map +1 -0
- package/dist/layout/use-nav-items.d.ts +10 -0
- package/dist/layout/use-nav-items.d.ts.map +1 -0
- package/dist/layout/use-nav-items.js +39 -0
- package/dist/layout/use-nav-items.js.map +1 -0
- package/dist/lib/api.d.ts +8 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +8 -1
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/appearance-api.d.ts +3 -1
- package/dist/lib/appearance-api.d.ts.map +1 -1
- package/dist/lib/appearance-api.js +1 -0
- package/dist/lib/appearance-api.js.map +1 -1
- package/dist/lib/batch-wizard.d.ts +84 -0
- package/dist/lib/batch-wizard.d.ts.map +1 -0
- package/dist/lib/batch-wizard.js +122 -0
- package/dist/lib/batch-wizard.js.map +1 -0
- package/dist/lib/chrome-service.d.ts +69 -0
- package/dist/lib/chrome-service.d.ts.map +1 -0
- package/dist/lib/chrome-service.js +108 -0
- package/dist/lib/chrome-service.js.map +1 -0
- package/dist/lib/job-drawer.d.ts +128 -0
- package/dist/lib/job-drawer.d.ts.map +1 -0
- package/dist/lib/job-drawer.js +351 -0
- package/dist/lib/job-drawer.js.map +1 -0
- package/dist/lib/job-view.d.ts +230 -0
- package/dist/lib/job-view.d.ts.map +1 -0
- package/dist/lib/job-view.js +419 -0
- package/dist/lib/job-view.js.map +1 -0
- package/dist/lib/jobs-service.d.ts +152 -0
- package/dist/lib/jobs-service.d.ts.map +1 -0
- package/dist/lib/jobs-service.js +220 -0
- package/dist/lib/jobs-service.js.map +1 -0
- package/dist/lib/sheet-focus.d.ts +24 -0
- package/dist/lib/sheet-focus.d.ts.map +1 -0
- package/dist/lib/sheet-focus.js +61 -0
- package/dist/lib/sheet-focus.js.map +1 -0
- package/dist/lib/tiers.d.ts +30 -0
- package/dist/lib/tiers.d.ts.map +1 -0
- package/dist/lib/tiers.js +43 -0
- package/dist/lib/tiers.js.map +1 -0
- package/dist/prenta-admin.css +1 -1
- package/dist/router/admin-routes.d.ts.map +1 -1
- package/dist/router/admin-routes.js +8 -0
- package/dist/router/admin-routes.js.map +1 -1
- package/dist/router/index.d.ts +5 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +7 -0
- package/dist/router/index.js.map +1 -1
- package/dist/views/ApiKeys.js +2 -2
- package/dist/views/ApiKeys.js.map +1 -1
- package/dist/views/AppearanceChrome.d.ts +24 -0
- package/dist/views/AppearanceChrome.d.ts.map +1 -0
- package/dist/views/AppearanceChrome.js +461 -0
- package/dist/views/AppearanceChrome.js.map +1 -0
- package/dist/views/CollectionList.d.ts.map +1 -1
- package/dist/views/CollectionList.js +73 -53
- package/dist/views/CollectionList.js.map +1 -1
- package/dist/views/Dashboard.d.ts.map +1 -1
- package/dist/views/Dashboard.js +14 -8
- package/dist/views/Dashboard.js.map +1 -1
- package/dist/views/DocumentEdit.d.ts +6 -1
- package/dist/views/DocumentEdit.d.ts.map +1 -1
- package/dist/views/DocumentEdit.js +44 -8
- package/dist/views/DocumentEdit.js.map +1 -1
- package/dist/views/FormDeliveries.d.ts.map +1 -1
- package/dist/views/FormDeliveries.js +7 -1
- package/dist/views/FormDeliveries.js.map +1 -1
- package/dist/views/FormEntries.d.ts.map +1 -1
- package/dist/views/FormEntries.js +11 -2
- package/dist/views/FormEntries.js.map +1 -1
- package/dist/views/FormSubmissions.d.ts +1 -1
- package/dist/views/FormSubmissions.d.ts.map +1 -1
- package/dist/views/FormSubmissions.js +15 -4
- package/dist/views/FormSubmissions.js.map +1 -1
- package/dist/views/Forms.d.ts.map +1 -1
- package/dist/views/Forms.js +6 -4
- package/dist/views/Forms.js.map +1 -1
- package/dist/views/FormsSettings.d.ts +2 -0
- package/dist/views/FormsSettings.d.ts.map +1 -0
- package/dist/views/FormsSettings.js +37 -0
- package/dist/views/FormsSettings.js.map +1 -0
- package/dist/views/Jobs/BusyButton.d.ts +15 -0
- package/dist/views/Jobs/BusyButton.d.ts.map +1 -0
- package/dist/views/Jobs/BusyButton.js +26 -0
- package/dist/views/Jobs/BusyButton.js.map +1 -0
- package/dist/views/Jobs/CancelJobDialog.d.ts +27 -0
- package/dist/views/Jobs/CancelJobDialog.d.ts.map +1 -0
- package/dist/views/Jobs/CancelJobDialog.js +76 -0
- package/dist/views/Jobs/CancelJobDialog.js.map +1 -0
- package/dist/views/Jobs/DrawerActivity.d.ts +16 -0
- package/dist/views/Jobs/DrawerActivity.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerActivity.js +59 -0
- package/dist/views/Jobs/DrawerActivity.js.map +1 -0
- package/dist/views/Jobs/DrawerOverview.d.ts +28 -0
- package/dist/views/Jobs/DrawerOverview.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerOverview.js +32 -0
- package/dist/views/Jobs/DrawerOverview.js.map +1 -0
- package/dist/views/Jobs/DrawerResults.d.ts +25 -0
- package/dist/views/Jobs/DrawerResults.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerResults.js +50 -0
- package/dist/views/Jobs/DrawerResults.js.map +1 -0
- package/dist/views/Jobs/DrawerReview.d.ts +51 -0
- package/dist/views/Jobs/DrawerReview.d.ts.map +1 -0
- package/dist/views/Jobs/DrawerReview.js +110 -0
- package/dist/views/Jobs/DrawerReview.js.map +1 -0
- package/dist/views/Jobs/JobDrawer.d.ts +51 -0
- package/dist/views/Jobs/JobDrawer.d.ts.map +1 -0
- package/dist/views/Jobs/JobDrawer.js +378 -0
- package/dist/views/Jobs/JobDrawer.js.map +1 -0
- package/dist/views/Jobs/JobsTable.d.ts +21 -0
- package/dist/views/Jobs/JobsTable.d.ts.map +1 -0
- package/dist/views/Jobs/JobsTable.js +81 -0
- package/dist/views/Jobs/JobsTable.js.map +1 -0
- package/dist/views/Jobs/NewBatchJob.d.ts +34 -0
- package/dist/views/Jobs/NewBatchJob.d.ts.map +1 -0
- package/dist/views/Jobs/NewBatchJob.js +282 -0
- package/dist/views/Jobs/NewBatchJob.js.map +1 -0
- package/dist/views/Jobs/WorkerStrip.d.ts +24 -0
- package/dist/views/Jobs/WorkerStrip.d.ts.map +1 -0
- package/dist/views/Jobs/WorkerStrip.js +63 -0
- package/dist/views/Jobs/WorkerStrip.js.map +1 -0
- package/dist/views/Jobs/atoms.d.ts +19 -0
- package/dist/views/Jobs/atoms.d.ts.map +1 -0
- package/dist/views/Jobs/atoms.js +52 -0
- package/dist/views/Jobs/atoms.js.map +1 -0
- package/dist/views/Jobs/focus.d.ts +29 -0
- package/dist/views/Jobs/focus.d.ts.map +1 -0
- package/dist/views/Jobs/focus.js +64 -0
- package/dist/views/Jobs/focus.js.map +1 -0
- package/dist/views/Jobs/icons.d.ts +22 -0
- package/dist/views/Jobs/icons.d.ts.map +1 -0
- package/dist/views/Jobs/icons.js +23 -0
- package/dist/views/Jobs/icons.js.map +1 -0
- package/dist/views/Jobs/useJobDetail.d.ts +21 -0
- package/dist/views/Jobs/useJobDetail.d.ts.map +1 -0
- package/dist/views/Jobs/useJobDetail.js +39 -0
- package/dist/views/Jobs/useJobDetail.js.map +1 -0
- package/dist/views/Jobs/useJobsFeed.d.ts +35 -0
- package/dist/views/Jobs/useJobsFeed.d.ts.map +1 -0
- package/dist/views/Jobs/useJobsFeed.js +231 -0
- package/dist/views/Jobs/useJobsFeed.js.map +1 -0
- package/dist/views/Jobs/useReviewItems.d.ts +39 -0
- package/dist/views/Jobs/useReviewItems.d.ts.map +1 -0
- package/dist/views/Jobs/useReviewItems.js +140 -0
- package/dist/views/Jobs/useReviewItems.js.map +1 -0
- package/dist/views/Jobs.d.ts +19 -1
- package/dist/views/Jobs.d.ts.map +1 -1
- package/dist/views/Jobs.js +204 -35
- package/dist/views/Jobs.js.map +1 -1
- package/dist/views/MediaBrowser.d.ts.map +1 -1
- package/dist/views/MediaBrowser.js +37 -9
- package/dist/views/MediaBrowser.js.map +1 -1
- package/dist/views/Pages/PagesListView.d.ts +1 -1
- package/dist/views/Pages/PagesListView.d.ts.map +1 -1
- package/dist/views/Pages/PagesListView.js +34 -5
- package/dist/views/Pages/PagesListView.js.map +1 -1
- package/dist/views/Posts/NewPostTypeInstructions.d.ts.map +1 -1
- package/dist/views/Posts/NewPostTypeInstructions.js +12 -2
- package/dist/views/Posts/NewPostTypeInstructions.js.map +1 -1
- package/dist/views/Posts/PostTypesView.d.ts.map +1 -1
- package/dist/views/Posts/PostTypesView.js +10 -1
- package/dist/views/Posts/PostTypesView.js.map +1 -1
- package/dist/views/Posts/PostsListView.d.ts +1 -2
- package/dist/views/Posts/PostsListView.d.ts.map +1 -1
- package/dist/views/Posts/PostsListView.js +31 -3
- package/dist/views/Posts/PostsListView.js.map +1 -1
- package/dist/views/SEO.d.ts.map +1 -1
- package/dist/views/SEO.js +3 -3
- package/dist/views/SEO.js.map +1 -1
- package/dist/views/ScriptTags.d.ts.map +1 -1
- package/dist/views/ScriptTags.js +20 -15
- package/dist/views/ScriptTags.js.map +1 -1
- package/dist/views/Settings.d.ts.map +1 -1
- package/dist/views/Settings.js +115 -51
- package/dist/views/Settings.js.map +1 -1
- package/dist/views/SpamFolder.d.ts +2 -0
- package/dist/views/SpamFolder.d.ts.map +1 -0
- package/dist/views/SpamFolder.js +14 -0
- package/dist/views/SpamFolder.js.map +1 -0
- package/dist/views/Trash.d.ts +6 -1
- package/dist/views/Trash.d.ts.map +1 -1
- package/dist/views/Trash.js +7 -2
- package/dist/views/Trash.js.map +1 -1
- package/dist/views/Users.js +2 -2
- package/dist/views/Users.js.map +1 -1
- package/dist/views/WidgetsPlaceholder.d.ts +2 -0
- package/dist/views/WidgetsPlaceholder.d.ts.map +1 -0
- package/dist/views/WidgetsPlaceholder.js +15 -0
- package/dist/views/WidgetsPlaceholder.js.map +1 -0
- package/dist/views/dashboard/kpi-grid.d.ts +18 -0
- package/dist/views/dashboard/kpi-grid.d.ts.map +1 -0
- package/dist/views/dashboard/kpi-grid.js +36 -0
- package/dist/views/dashboard/kpi-grid.js.map +1 -0
- package/dist/views/header-footer/AnnouncementTab.d.ts +15 -0
- package/dist/views/header-footer/AnnouncementTab.d.ts.map +1 -0
- package/dist/views/header-footer/AnnouncementTab.js +43 -0
- package/dist/views/header-footer/AnnouncementTab.js.map +1 -0
- package/dist/views/header-footer/ChromeField.d.ts +25 -0
- package/dist/views/header-footer/ChromeField.d.ts.map +1 -0
- package/dist/views/header-footer/ChromeField.js +99 -0
- package/dist/views/header-footer/ChromeField.js.map +1 -0
- package/dist/views/header-footer/ChromePreview.d.ts +31 -0
- package/dist/views/header-footer/ChromePreview.d.ts.map +1 -0
- package/dist/views/header-footer/ChromePreview.js +195 -0
- package/dist/views/header-footer/ChromePreview.js.map +1 -0
- package/dist/views/header-footer/DeveloperTab.d.ts +17 -0
- package/dist/views/header-footer/DeveloperTab.d.ts.map +1 -0
- package/dist/views/header-footer/DeveloperTab.js +98 -0
- package/dist/views/header-footer/DeveloperTab.js.map +1 -0
- package/dist/views/header-footer/RegionTab.d.ts +27 -0
- package/dist/views/header-footer/RegionTab.d.ts.map +1 -0
- package/dist/views/header-footer/RegionTab.js +80 -0
- package/dist/views/header-footer/RegionTab.js.map +1 -0
- package/dist/views/header-footer/chrome-form.d.ts +137 -0
- package/dist/views/header-footer/chrome-form.d.ts.map +1 -0
- package/dist/views/header-footer/chrome-form.js +518 -0
- package/dist/views/header-footer/chrome-form.js.map +1 -0
- package/dist/views/header-footer/code-samples.d.ts +30 -0
- package/dist/views/header-footer/code-samples.d.ts.map +1 -0
- package/dist/views/header-footer/code-samples.js +127 -0
- package/dist/views/header-footer/code-samples.js.map +1 -0
- package/dist/views/header-footer/controls.d.ts +57 -0
- package/dist/views/header-footer/controls.d.ts.map +1 -0
- package/dist/views/header-footer/controls.js +43 -0
- package/dist/views/header-footer/controls.js.map +1 -0
- package/dist/views/lazy-views.d.ts +4 -0
- package/dist/views/lazy-views.d.ts.map +1 -1
- package/dist/views/lazy-views.js +4 -0
- package/dist/views/lazy-views.js.map +1 -1
- package/dist/views/page-editor/PageTab.js +1 -1
- package/dist/views/page-editor/PageTab.js.map +1 -1
- package/dist/views/page-editor/ReviewBar.js +1 -1
- package/dist/views/page-editor/ReviewBar.js.map +1 -1
- package/dist/views/page-editor/VersionHistoryPanel.js +1 -1
- package/dist/views/page-editor/VersionHistoryPanel.js.map +1 -1
- package/dist/views/seo/AuditTab.js +1 -1
- package/dist/views/seo/AuditTab.js.map +1 -1
- package/dist/views/seo/OverviewTab.d.ts.map +1 -1
- package/dist/views/seo/OverviewTab.js +2 -2
- package/dist/views/seo/OverviewTab.js.map +1 -1
- package/dist/views/seo/ProposalsTab.js +1 -1
- package/dist/views/seo/ProposalsTab.js.map +1 -1
- package/dist/views/settings/AISettingsTab.d.ts.map +1 -1
- package/dist/views/settings/AISettingsTab.js +4 -2
- package/dist/views/settings/AISettingsTab.js.map +1 -1
- package/dist/views/settings/AccessProtectionCard.js +1 -1
- package/dist/views/settings/AccessProtectionCard.js.map +1 -1
- package/dist/views/settings/AdminThemeCard.d.ts.map +1 -1
- package/dist/views/settings/AdminThemeCard.js +63 -15
- package/dist/views/settings/AdminThemeCard.js.map +1 -1
- package/dist/views/settings/AppearanceTab.d.ts.map +1 -1
- package/dist/views/settings/AppearanceTab.js +4 -2
- package/dist/views/settings/AppearanceTab.js.map +1 -1
- package/dist/views/settings/BrandPreviewCard.js +1 -1
- package/dist/views/settings/BrandPreviewCard.js.map +1 -1
- package/dist/views/settings/BrandVoiceCard.js +1 -1
- package/dist/views/settings/BrandVoiceCard.js.map +1 -1
- package/dist/views/settings/EmailSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/EmailSettingsTab.js +5 -3
- package/dist/views/settings/EmailSettingsTab.js.map +1 -1
- package/dist/views/settings/GeneralSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/GeneralSettingsTab.js +4 -2
- package/dist/views/settings/GeneralSettingsTab.js.map +1 -1
- package/dist/views/settings/ProviderConnectionCard.js +1 -1
- package/dist/views/settings/ProviderConnectionCard.js.map +1 -1
- package/dist/views/settings/SearchDataCard.js +1 -1
- package/dist/views/settings/SearchDataCard.js.map +1 -1
- package/dist/views/settings/SecurityStatusCard.js +2 -2
- package/dist/views/settings/SecurityStatusCard.js.map +1 -1
- package/dist/views/settings/SecurityTab.d.ts.map +1 -1
- package/dist/views/settings/SecurityTab.js +4 -2
- package/dist/views/settings/SecurityTab.js.map +1 -1
- package/dist/views/settings/SeoAutopilotCard.js +2 -2
- package/dist/views/settings/SeoAutopilotCard.js.map +1 -1
- package/dist/views/settings/SeoSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/SeoSettingsTab.js +5 -3
- package/dist/views/settings/SeoSettingsTab.js.map +1 -1
- package/dist/views/settings/SiteIndexStatusCard.js +1 -1
- package/dist/views/settings/SiteIndexStatusCard.js.map +1 -1
- package/dist/views/settings/SiteThemeCard.js +1 -1
- package/dist/views/settings/UpdatesTab.d.ts.map +1 -1
- package/dist/views/settings/UpdatesTab.js +6 -5
- package/dist/views/settings/UpdatesTab.js.map +1 -1
- package/dist/views/settings/components.d.ts +7 -11
- package/dist/views/settings/components.d.ts.map +1 -1
- package/dist/views/settings/components.js +18 -12
- package/dist/views/settings/components.js.map +1 -1
- package/dist/views/settings/useAppearanceSettings.d.ts +7 -1
- package/dist/views/settings/useAppearanceSettings.d.ts.map +1 -1
- package/dist/views/settings/useAppearanceSettings.js +89 -22
- package/dist/views/settings/useAppearanceSettings.js.map +1 -1
- package/dist/views/users/UserDetailDrawer.js +1 -1
- package/dist/views/users/UserDetailDrawer.js.map +1 -1
- package/package.json +10 -8
- package/src/AdminRoot.tsx +103 -31
- package/src/LoginRoot.tsx +2 -1
- package/src/__tests__/components/author-avatar.test.tsx +3 -20
- package/src/__tests__/components/notification-bell.test.tsx +146 -14
- package/src/__tests__/components/responsive-tiers.render.test.tsx +461 -0
- package/src/__tests__/components/serp-preview.render.test.tsx +6 -3
- package/src/__tests__/components/shell-primitives.render.test.tsx +951 -0
- package/src/__tests__/components/theme-provider-accent.test.tsx +83 -8
- package/src/__tests__/components/toggle.test.tsx +11 -3
- package/src/__tests__/components/ui-primitives.test.tsx +5 -8
- package/src/__tests__/layout/build-nav-items.test.ts +1 -1
- package/src/__tests__/layout/shell-nav.render.test.tsx +983 -0
- package/src/__tests__/layout/sidebar-forms-submenu.render.test.tsx +8 -4
- package/src/__tests__/layout/sidebar-groups.render.test.tsx +116 -0
- package/src/__tests__/layout/sidebar-menus.render.test.tsx +116 -0
- package/src/__tests__/layout/sidebar-plugin-nav.test.ts +1 -1
- package/src/__tests__/layout/sidebar-posts.test.ts +48 -40
- package/src/__tests__/layout/sidebar-submenu.render.test.tsx +35 -10
- package/src/__tests__/layout/topbar.render.test.tsx +464 -0
- package/src/__tests__/lib/api.test.ts +2 -0
- package/src/__tests__/lib/batch-wizard.test.ts +199 -0
- package/src/__tests__/lib/job-drawer.test.ts +495 -0
- package/src/__tests__/lib/job-view.test.ts +558 -0
- package/src/__tests__/lib/jobs-service.test.ts +167 -0
- package/src/__tests__/router/admin-route-order.test.ts +39 -0
- package/src/__tests__/styles/ai-gradient-contrast.test.ts +135 -0
- package/src/__tests__/styles/breakpoint-order.test.ts +68 -0
- package/src/__tests__/styles/responsive-layer.test.ts +367 -12
- package/src/__tests__/styles/tailwind-preset.test.ts +154 -0
- package/src/__tests__/styles/theme-token-scope.test.ts +10 -3
- package/src/__tests__/styles/tiers.test.ts +136 -0
- package/src/__tests__/styles/tokens-drift.test.ts +67 -6
- package/src/__tests__/views/admin-lazy-route.render.test.tsx +41 -1
- package/src/__tests__/views/ai-settings.render.test.tsx +4 -4
- package/src/__tests__/views/appearance-chrome.render.test.tsx +818 -0
- package/src/__tests__/views/appearance-menus-route.render.test.tsx +58 -0
- package/src/__tests__/views/appearance-settings.render.test.tsx +10 -8
- package/src/__tests__/views/appearance-theme-provider.render.test.tsx +347 -0
- package/src/__tests__/views/dashboard.test.tsx +48 -0
- package/src/__tests__/views/document-edit-navigation.render.test.tsx +130 -0
- package/src/__tests__/views/document-edit-routes.render.test.tsx +130 -0
- package/src/__tests__/views/email-settings.render.test.tsx +2 -2
- package/src/__tests__/views/form-entries.render.test.tsx +22 -0
- package/src/__tests__/views/form-submissions.render.test.tsx +22 -0
- package/src/__tests__/views/forms-list.render.test.tsx +13 -0
- package/src/__tests__/views/general-settings.render.test.tsx +38 -11
- package/src/__tests__/views/header-footer-form.test.ts +333 -0
- package/src/__tests__/views/jobs-drawer.render.test.tsx +1553 -0
- package/src/__tests__/views/jobs-list.render.test.tsx +853 -0
- package/src/__tests__/views/jobs-wizard.render.test.tsx +707 -0
- package/src/__tests__/views/kpi-grid.test.ts +29 -0
- package/src/__tests__/views/post-section-editor.test.tsx +5 -1
- package/src/__tests__/views/script-tags.render.test.tsx +29 -0
- package/src/__tests__/views/security-settings.render.test.tsx +9 -10
- package/src/__tests__/views/seo-settings.render.test.tsx +7 -9
- package/src/__tests__/views/settings-save-bar.render.test.tsx +91 -0
- package/src/__tests__/views/settings-save-footer.render.test.tsx +25 -15
- package/src/__tests__/views/settings-tabs.render.test.tsx +371 -0
- package/src/__tests__/views/updates-tab.render.test.tsx +4 -3
- package/src/components/Breadcrumbs.tsx +7 -1
- package/src/components/CommandPalette.tsx +51 -3
- package/src/components/LocaleSwitcher.tsx +5 -6
- package/src/components/NotificationBell.tsx +74 -18
- package/src/components/OfflineStatus.tsx +1 -1
- package/src/components/PresenceIndicator.tsx +2 -1
- package/src/components/ReflowMeter.tsx +3 -3
- package/src/components/SEOPanel.tsx +2 -2
- package/src/components/ThemeProvider.tsx +122 -42
- package/src/components/TipTapEditor.tsx +3 -4
- package/src/components/forms/EmbedPanel.tsx +1 -1
- package/src/components/forms/FormEntryDetailPane.tsx +7 -1
- package/src/components/forms/ShortcodeGlossary.tsx +7 -1
- package/src/components/forms/primitives.tsx +37 -21
- package/src/components/pages/tag-badges.tsx +4 -3
- package/src/components/seo/PageAuditPanel.tsx +2 -2
- package/src/components/seo/SerpPreview.tsx +5 -5
- package/src/components/seo/primitives.tsx +2 -2
- package/src/components/ui/AuthorAvatar.tsx +11 -10
- package/src/components/ui/Badge.tsx +1 -1
- package/src/components/ui/Breadcrumb.tsx +109 -0
- package/src/components/ui/Button.tsx +40 -15
- package/src/components/ui/Card.tsx +35 -32
- package/src/components/ui/CardListControls.tsx +90 -0
- package/src/components/ui/CountChip.tsx +90 -0
- package/src/components/ui/FilterPill.tsx +5 -3
- package/src/components/ui/InspectorPane.tsx +21 -7
- package/src/components/ui/Modal.tsx +20 -6
- package/src/components/ui/PageHeader.tsx +63 -0
- package/src/components/ui/RowActions.tsx +7 -2
- package/src/components/ui/Segmented.tsx +97 -0
- package/src/components/ui/Toaster.tsx +139 -0
- package/src/components/ui/Toggle.tsx +18 -14
- package/src/components/ui/UnderlineTabs.tsx +373 -0
- package/src/components/ui/UnsavedBar.tsx +119 -0
- package/src/components/ui/admin-links.tsx +20 -0
- package/src/components/ui/card-table.ts +34 -0
- package/src/components/virtual-window.tsx +13 -2
- package/src/fields/RelationshipField.tsx +1 -1
- package/src/hooks/useAppearanceBootstrap.ts +9 -3
- package/src/index.ts +19 -0
- package/src/layout/Header.tsx +210 -135
- package/src/layout/Layout.tsx +61 -108
- package/src/layout/MobileTabBar.tsx +92 -0
- package/src/layout/Sidebar.tsx +555 -593
- package/src/layout/nav-config.tsx +425 -0
- package/src/layout/primitives/AdminShell.tsx +154 -6
- package/src/layout/topbar-classes.ts +8 -0
- package/src/layout/use-nav-items.ts +40 -0
- package/src/lib/api.ts +18 -1
- package/src/lib/appearance-api.ts +4 -0
- package/src/lib/batch-wizard.ts +188 -0
- package/src/lib/chrome-service.ts +200 -0
- package/src/lib/job-drawer.ts +424 -0
- package/src/lib/job-view.ts +550 -0
- package/src/lib/jobs-service.ts +345 -0
- package/src/lib/sheet-focus.ts +71 -0
- package/src/lib/tiers.ts +43 -0
- package/src/router/admin-routes.ts +8 -0
- package/src/router/index.ts +9 -1
- package/src/styles/prenta-tokens.css +280 -82
- package/src/styles/responsive.css +460 -22
- package/src/styles/theme.css +192 -28
- package/src/views/ApiKeys.tsx +2 -2
- package/src/views/AppearanceChrome.tsx +732 -0
- package/src/views/CollectionList.tsx +264 -205
- package/src/views/Dashboard.tsx +26 -13
- package/src/views/DocumentEdit.tsx +111 -56
- package/src/views/FormDeliveries.tsx +30 -17
- package/src/views/FormEntries.tsx +28 -20
- package/src/views/FormSubmissions.tsx +32 -34
- package/src/views/Forms.tsx +55 -34
- package/src/views/FormsSettings.tsx +94 -0
- package/src/views/Jobs/BusyButton.tsx +56 -0
- package/src/views/Jobs/CancelJobDialog.tsx +145 -0
- package/src/views/Jobs/DrawerActivity.tsx +142 -0
- package/src/views/Jobs/DrawerOverview.tsx +139 -0
- package/src/views/Jobs/DrawerResults.tsx +155 -0
- package/src/views/Jobs/DrawerReview.tsx +464 -0
- package/src/views/Jobs/JobDrawer.tsx +636 -0
- package/src/views/Jobs/JobsTable.tsx +267 -0
- package/src/views/Jobs/NewBatchJob.tsx +857 -0
- package/src/views/Jobs/WorkerStrip.tsx +149 -0
- package/src/views/Jobs/atoms.tsx +93 -0
- package/src/views/Jobs/focus.ts +67 -0
- package/src/views/Jobs/icons.tsx +111 -0
- package/src/views/Jobs/useJobDetail.ts +64 -0
- package/src/views/Jobs/useJobsFeed.ts +249 -0
- package/src/views/Jobs/useReviewItems.ts +187 -0
- package/src/views/Jobs.tsx +396 -105
- package/src/views/MediaBrowser.tsx +71 -21
- package/src/views/Pages/PagesListView.tsx +115 -39
- package/src/views/Posts/NewPostTypeInstructions.tsx +15 -10
- package/src/views/Posts/PostTypesView.tsx +28 -6
- package/src/views/Posts/PostsListView.tsx +130 -40
- package/src/views/SEO.tsx +23 -8
- package/src/views/ScriptTags.tsx +233 -153
- package/src/views/Settings.tsx +215 -256
- package/src/views/SpamFolder.tsx +32 -0
- package/src/views/Trash.tsx +12 -1
- package/src/views/Users.tsx +2 -2
- package/src/views/WidgetsPlaceholder.tsx +33 -0
- package/src/views/dashboard/kpi-grid.ts +38 -0
- package/src/views/header-footer/AnnouncementTab.tsx +231 -0
- package/src/views/header-footer/ChromeField.tsx +358 -0
- package/src/views/header-footer/ChromePreview.tsx +497 -0
- package/src/views/header-footer/DeveloperTab.tsx +331 -0
- package/src/views/header-footer/RegionTab.tsx +398 -0
- package/src/views/header-footer/chrome-form.ts +603 -0
- package/src/views/header-footer/code-samples.ts +146 -0
- package/src/views/header-footer/controls.tsx +166 -0
- package/src/views/lazy-views.tsx +12 -0
- package/src/views/page-editor/PageTab.tsx +2 -2
- package/src/views/page-editor/ReviewBar.tsx +1 -1
- package/src/views/page-editor/VersionHistoryPanel.tsx +1 -1
- package/src/views/seo/AuditTab.tsx +1 -1
- package/src/views/seo/OverviewTab.tsx +6 -5
- package/src/views/seo/ProposalsTab.tsx +1 -1
- package/src/views/settings/AISettingsTab.tsx +10 -6
- package/src/views/settings/AccessProtectionCard.tsx +1 -1
- package/src/views/settings/AdminThemeCard.tsx +228 -35
- package/src/views/settings/AppearanceTab.tsx +10 -6
- package/src/views/settings/BrandPreviewCard.tsx +1 -1
- package/src/views/settings/BrandVoiceCard.tsx +1 -1
- package/src/views/settings/EmailSettingsTab.tsx +11 -7
- package/src/views/settings/GeneralSettingsTab.tsx +10 -6
- package/src/views/settings/ProviderConnectionCard.tsx +1 -1
- package/src/views/settings/SearchDataCard.tsx +1 -1
- package/src/views/settings/SecurityStatusCard.tsx +2 -2
- package/src/views/settings/SecurityTab.tsx +10 -6
- package/src/views/settings/SeoAutopilotCard.tsx +2 -2
- package/src/views/settings/SeoSettingsTab.tsx +13 -9
- package/src/views/settings/SiteIndexStatusCard.tsx +1 -1
- package/src/views/settings/SiteThemeCard.tsx +1 -1
- package/src/views/settings/UpdatesTab.tsx +107 -101
- package/src/views/settings/components.tsx +26 -62
- package/src/views/settings/useAppearanceSettings.ts +116 -25
- package/src/views/users/UserDetailDrawer.tsx +1 -1
- package/dist/components/ui/StatPill.d.ts +0 -18
- package/dist/components/ui/StatPill.d.ts.map +0 -1
- package/dist/components/ui/StatPill.js +0 -5
- package/dist/components/ui/StatPill.js.map +0 -1
- package/src/components/ui/StatPill.tsx +0 -37
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// PrentaCMS — SCSS Design Tokens v2.
|
|
1
|
+
// PrentaCMS — SCSS Design Tokens v2.1.0
|
|
2
2
|
// GENERATED FILE — DO NOT EDIT. Source: design-system/tokens.json.
|
|
3
3
|
// Regenerate: pnpm --filter @prenta/admin generate
|
|
4
4
|
//
|
|
@@ -9,26 +9,30 @@
|
|
|
9
9
|
// runtime theming.
|
|
10
10
|
|
|
11
11
|
$prenta-light: (
|
|
12
|
-
'bg': #
|
|
12
|
+
'bg': #f4f5f7,
|
|
13
13
|
'sb': #ffffff,
|
|
14
14
|
'card': #ffffff,
|
|
15
|
-
'bdr': #
|
|
16
|
-
'txt': #
|
|
17
|
-
'sub': #
|
|
18
|
-
'muted': #
|
|
19
|
-
'acc': #
|
|
20
|
-
'acc
|
|
21
|
-
'acc-
|
|
15
|
+
'bdr': #e3e5ea,
|
|
16
|
+
'txt': #16181d,
|
|
17
|
+
'sub': #50555f,
|
|
18
|
+
'muted': #676c76,
|
|
19
|
+
'acc-base': #2f5bea,
|
|
20
|
+
'acc': var(--acc-lt, var(--acc-base)),
|
|
21
|
+
'acc-l': color-mix(in oklch, var(--acc) 11%, var(--card)),
|
|
22
|
+
'acc-m': color-mix(in oklch, var(--acc) 38%, var(--card)),
|
|
23
|
+
'on-acc': #ffffff,
|
|
22
24
|
'suc': #047857,
|
|
23
25
|
'suc-l': #ecfdf5,
|
|
24
|
-
'warn': #
|
|
26
|
+
'warn': #b45309,
|
|
25
27
|
'warn-l': #fffbeb,
|
|
26
28
|
'err': #b91c1c,
|
|
27
29
|
'err-l': #fef2f2,
|
|
28
30
|
'info': #0e7490,
|
|
29
31
|
'info-l': #e0f7fa,
|
|
30
|
-
'
|
|
31
|
-
'
|
|
32
|
+
'orange': #c2410c,
|
|
33
|
+
'notify-dot': #e11d48,
|
|
34
|
+
'tag-purple': #4f46e5,
|
|
35
|
+
'tag-purple-soft': #eef2ff,
|
|
32
36
|
'tag-green': #0f766e,
|
|
33
37
|
'tag-green-soft': #ccfbf1,
|
|
34
38
|
'tag-orange': #c2410c,
|
|
@@ -41,11 +45,49 @@ $prenta-light: (
|
|
|
41
45
|
'tag-pink-soft': #fce7f3,
|
|
42
46
|
'tag-gray': #475569,
|
|
43
47
|
'tag-gray-soft': #f1f5f9,
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
48
|
+
'avatar-1': #2f5bea,
|
|
49
|
+
'avatar-2': #0e7490,
|
|
50
|
+
'avatar-3': #047857,
|
|
51
|
+
'avatar-4': #b45309,
|
|
52
|
+
'avatar-5': #e11d48,
|
|
53
|
+
'avatar-6': #4f46e5,
|
|
54
|
+
'avatar-7': #db2777,
|
|
55
|
+
'avatar-8': #0f766e,
|
|
56
|
+
'ai1': var(--acc),
|
|
57
|
+
'ai2': oklch(from var(--acc) calc(l - 0.07) c calc(h - 50)),
|
|
58
|
+
'ai-soft': linear-gradient(
|
|
59
|
+
135deg,
|
|
60
|
+
color-mix(in oklch, var(--ai1) 9%, transparent),
|
|
61
|
+
color-mix(in oklch, var(--ai2) 7%, transparent)
|
|
62
|
+
),
|
|
63
|
+
'scrim': rgba(10, 12, 20, 0.38),
|
|
64
|
+
'scrim-drawer': rgba(10, 12, 20, 0.28),
|
|
65
|
+
'code-bg': #0f1115,
|
|
66
|
+
'code-txt': #d6dae1,
|
|
67
|
+
'code-cmt': #6b7280,
|
|
68
|
+
'code-str': #9fd39b,
|
|
69
|
+
'code-kw': #c4a7ff,
|
|
70
|
+
'code-err': #f2b8b5,
|
|
71
|
+
'code-btn-bg': #171a20,
|
|
72
|
+
'code-btn-bdr': #2a2e36,
|
|
73
|
+
'code-btn-txt': #c9cdd4,
|
|
74
|
+
'code-file': #8a8f99,
|
|
75
|
+
'site-bg': #ffffff,
|
|
76
|
+
'site-txt': #16181d,
|
|
77
|
+
'site-sub': #50555f,
|
|
78
|
+
'site-muted': #8a8f99,
|
|
79
|
+
'site-bdr': #e3e5ea,
|
|
80
|
+
'site-alt': #f4f5f7,
|
|
81
|
+
'site-alt2': #eef0f3,
|
|
82
|
+
'site-chip': #d9dce1,
|
|
83
|
+
'site-foot-txt': #c9cdd4,
|
|
84
|
+
'site-alert': #b45309,
|
|
85
|
+
'site-thumb': #2a2d33,
|
|
86
|
+
'site-thumb-bar': #555555,
|
|
87
|
+
'serp-link': #1a0dab,
|
|
47
88
|
'toggle-thumb': #ffffff,
|
|
48
|
-
'font-sans':
|
|
89
|
+
'font-sans': 'DM Sans',
|
|
90
|
+
system-ui,
|
|
49
91
|
-apple-system,
|
|
50
92
|
'Segoe UI',
|
|
51
93
|
Roboto,
|
|
@@ -59,18 +101,38 @@ $prenta-light: (
|
|
|
59
101
|
'fw-semi': 600,
|
|
60
102
|
'fw-bold': 700,
|
|
61
103
|
'fs-page': 21px,
|
|
62
|
-
'fs-
|
|
104
|
+
'fs-drawer': 16px,
|
|
105
|
+
'fs-stat': 20px,
|
|
106
|
+
'fs-figure': 14px,
|
|
107
|
+
'fs-card': 13.5px,
|
|
63
108
|
'fs-body': 13px,
|
|
109
|
+
'fs-sm': 12.5px,
|
|
64
110
|
'fs-sub': 12px,
|
|
65
111
|
'fs-hint': 11.5px,
|
|
112
|
+
'fs-badge': 9.5px,
|
|
113
|
+
'fs-tab': 9px,
|
|
114
|
+
'fs-count': 10.5px,
|
|
115
|
+
'fs-micro': 11px,
|
|
66
116
|
'fs-label': 10px,
|
|
67
117
|
'sbw': 224px,
|
|
68
118
|
'sbw-col': 60px,
|
|
69
119
|
'tbh': 56px,
|
|
70
|
-
'
|
|
120
|
+
'gut': 28px,
|
|
121
|
+
'drawer-w': 440px,
|
|
122
|
+
'jobs-drawer-w': 620px,
|
|
123
|
+
'tabbar-h': 56px,
|
|
124
|
+
'r-xs': 4px,
|
|
125
|
+
'r-sm': 5px,
|
|
126
|
+
'r-6': 6px,
|
|
127
|
+
'r-7': 7px,
|
|
128
|
+
'r-8': 8px,
|
|
129
|
+
'r-9': 9px,
|
|
130
|
+
'r-10': 10px,
|
|
131
|
+
'r-12': 12px,
|
|
132
|
+
'r-14': 14px,
|
|
71
133
|
'r-field': 7px,
|
|
72
134
|
'r-ctl': 8px,
|
|
73
|
-
'r':
|
|
135
|
+
'r': 12px,
|
|
74
136
|
'r-fig': 12px,
|
|
75
137
|
'r-pill': 99px,
|
|
76
138
|
'sp-2': 2px,
|
|
@@ -94,32 +156,56 @@ $prenta-light: (
|
|
|
94
156
|
'bw-ctl': 1.5px,
|
|
95
157
|
'bw-focus': 2px,
|
|
96
158
|
'ring': 0 0 0 3px var(--acc-m),
|
|
97
|
-
'shd': 0 1px 2px rgba(
|
|
98
|
-
0 1px 4px rgba(
|
|
99
|
-
'shd2': 0 4px 16px rgba(
|
|
159
|
+
'shd': 0 1px 2px rgba(16, 18, 24, 0.05),
|
|
160
|
+
0 1px 4px rgba(16, 18, 24, 0.04),
|
|
161
|
+
'shd2': 0 4px 16px rgba(16, 18, 24, 0.1),
|
|
162
|
+
'shd-bar': 0 10px 30px rgba(0, 0, 0, 0.22),
|
|
163
|
+
'shd-knob': 0 1px 2px rgba(0, 0, 0, 0.25),
|
|
164
|
+
'shd-save': 0 -3px 16px rgba(0, 0, 0, 0.06),
|
|
165
|
+
'shd-tabbar': 0 -2px 12px rgba(0, 0, 0, 0.08),
|
|
100
166
|
'mo-fast': 0.12s,
|
|
101
|
-
'mo-base': 0.
|
|
167
|
+
'mo-base': 0.15s,
|
|
102
168
|
'mo-slow': 0.22s,
|
|
103
169
|
'ease': cubic-bezier(0.4, 0, 0.2, 1),
|
|
104
170
|
'motion-layout': 0.22s cubic-bezier(0.4, 0, 0.2, 1),
|
|
105
171
|
'z-raise': 2,
|
|
172
|
+
'z-bar': 20,
|
|
106
173
|
'z-resizer': 30,
|
|
107
174
|
'z-overlay': 45,
|
|
175
|
+
'z-tabbar': 30,
|
|
108
176
|
'z-menu': 120,
|
|
109
|
-
'z-
|
|
177
|
+
'z-drawer-scrim': 150,
|
|
178
|
+
'z-drawer': 160,
|
|
179
|
+
'z-modal': 200,
|
|
180
|
+
'z-toast': 260,
|
|
181
|
+
'z-toast-jobs': 300,
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
$prenta-linen: (
|
|
185
|
+
'bg': #f5f2ec,
|
|
186
|
+
'sb': #fbfaf7,
|
|
187
|
+
'card': #ffffff,
|
|
188
|
+
'bdr': #e6e0d6,
|
|
189
|
+
'txt': #1e1a15,
|
|
190
|
+
'sub': #5c554a,
|
|
191
|
+
'muted': #6d665a,
|
|
192
|
+
'shd': 0 1px 2px rgba(40, 30, 15, 0.06),
|
|
193
|
+
0 1px 4px rgba(40, 30, 15, 0.04),
|
|
194
|
+
'shd2': 0 4px 16px rgba(40, 30, 15, 0.1),
|
|
110
195
|
);
|
|
111
196
|
|
|
112
197
|
$prenta-dark: (
|
|
113
|
-
'bg': #
|
|
114
|
-
'sb': #
|
|
115
|
-
'card': #
|
|
116
|
-
'bdr': #
|
|
117
|
-
'txt': #
|
|
118
|
-
'sub': #
|
|
119
|
-
'muted': #
|
|
120
|
-
'acc': #
|
|
121
|
-
'acc-l':
|
|
122
|
-
'acc-m':
|
|
198
|
+
'bg': #0e0f11,
|
|
199
|
+
'sb': #15161a,
|
|
200
|
+
'card': #1b1d21,
|
|
201
|
+
'bdr': #2a2d33,
|
|
202
|
+
'txt': #ecedef,
|
|
203
|
+
'sub': #adb1ba,
|
|
204
|
+
'muted': #9499a3,
|
|
205
|
+
'acc': var(--acc-dk, color-mix(in oklch, var(--acc-base) 70%, #ffffff)),
|
|
206
|
+
'acc-l': color-mix(in oklch, var(--acc-base) 20%, var(--card)),
|
|
207
|
+
'acc-m': color-mix(in oklch, var(--acc-base) 50%, var(--card)),
|
|
208
|
+
'on-acc': #0e0f11,
|
|
123
209
|
'suc': #10b981,
|
|
124
210
|
'suc-l': #022c22,
|
|
125
211
|
'warn': #fbbf24,
|
|
@@ -128,8 +214,9 @@ $prenta-dark: (
|
|
|
128
214
|
'err-l': #200808,
|
|
129
215
|
'info': #38bdf8,
|
|
130
216
|
'info-l': #0a2838,
|
|
131
|
-
'
|
|
132
|
-
'tag-purple
|
|
217
|
+
'orange': #fb923c,
|
|
218
|
+
'tag-purple': #818cf8,
|
|
219
|
+
'tag-purple-soft': #1e1b4b,
|
|
133
220
|
'tag-green': #2dd4bf,
|
|
134
221
|
'tag-green-soft': #042f2e,
|
|
135
222
|
'tag-orange': #fb923c,
|
|
@@ -142,9 +229,13 @@ $prenta-dark: (
|
|
|
142
229
|
'tag-pink-soft': #500724,
|
|
143
230
|
'tag-gray': #94a3b8,
|
|
144
231
|
'tag-gray-soft': #1e293b,
|
|
145
|
-
'
|
|
146
|
-
'
|
|
147
|
-
|
|
232
|
+
'ai2': oklch(from var(--acc) calc(l + 0.1) c calc(h - 50)),
|
|
233
|
+
'ai-soft': linear-gradient(
|
|
234
|
+
135deg,
|
|
235
|
+
color-mix(in oklch, var(--ai1) 16%, transparent),
|
|
236
|
+
color-mix(in oklch, var(--ai2) 12%, transparent)
|
|
237
|
+
),
|
|
238
|
+
'serp-link': #8ab4f8,
|
|
148
239
|
'shd': 0 1px 2px rgba(0, 0, 0, 0.3),
|
|
149
240
|
0 1px 4px rgba(0, 0, 0, 0.2),
|
|
150
241
|
'shd2': 0 4px 20px rgba(0, 0, 0, 0.45),
|
|
@@ -153,10 +244,22 @@ $prenta-dark: (
|
|
|
153
244
|
$prenta-sbw: 224px;
|
|
154
245
|
$prenta-sbw-col: 60px;
|
|
155
246
|
$prenta-tbh: 56px;
|
|
156
|
-
$prenta-
|
|
247
|
+
$prenta-gut: 28px;
|
|
248
|
+
$prenta-drawer-w: 440px;
|
|
249
|
+
$prenta-jobs-drawer-w: 620px;
|
|
250
|
+
$prenta-tabbar-h: 56px;
|
|
251
|
+
$prenta-r-xs: 4px;
|
|
252
|
+
$prenta-r-sm: 5px;
|
|
253
|
+
$prenta-r-6: 6px;
|
|
254
|
+
$prenta-r-7: 7px;
|
|
255
|
+
$prenta-r-8: 8px;
|
|
256
|
+
$prenta-r-9: 9px;
|
|
257
|
+
$prenta-r-10: 10px;
|
|
258
|
+
$prenta-r-12: 12px;
|
|
259
|
+
$prenta-r-14: 14px;
|
|
157
260
|
$prenta-r-field: 7px;
|
|
158
261
|
$prenta-r-ctl: 8px;
|
|
159
|
-
$prenta-r:
|
|
262
|
+
$prenta-r: 12px;
|
|
160
263
|
$prenta-r-fig: 12px;
|
|
161
264
|
$prenta-r-pill: 99px;
|
|
162
265
|
$prenta-sp-2: 2px;
|
|
@@ -181,6 +284,7 @@ $prenta-bw-ctl: 1.5px;
|
|
|
181
284
|
$prenta-bw-focus: 2px;
|
|
182
285
|
$prenta-ring: 0 0 0 3px var(--acc-m);
|
|
183
286
|
$prenta-font-sans:
|
|
287
|
+
'DM Sans',
|
|
184
288
|
system-ui,
|
|
185
289
|
-apple-system,
|
|
186
290
|
'Segoe UI',
|
|
@@ -192,19 +296,34 @@ $prenta-fw-med: 500;
|
|
|
192
296
|
$prenta-fw-semi: 600;
|
|
193
297
|
$prenta-fw-bold: 700;
|
|
194
298
|
$prenta-fs-page: 21px;
|
|
195
|
-
$prenta-fs-
|
|
299
|
+
$prenta-fs-drawer: 16px;
|
|
300
|
+
$prenta-fs-stat: 20px;
|
|
301
|
+
$prenta-fs-figure: 14px;
|
|
302
|
+
$prenta-fs-card: 13.5px;
|
|
196
303
|
$prenta-fs-body: 13px;
|
|
304
|
+
$prenta-fs-sm: 12.5px;
|
|
197
305
|
$prenta-fs-sub: 12px;
|
|
198
306
|
$prenta-fs-hint: 11.5px;
|
|
307
|
+
$prenta-fs-badge: 9.5px;
|
|
308
|
+
$prenta-fs-tab: 9px;
|
|
309
|
+
$prenta-fs-count: 10.5px;
|
|
310
|
+
$prenta-fs-micro: 11px;
|
|
199
311
|
$prenta-fs-label: 10px;
|
|
200
312
|
$prenta-z-raise: 2;
|
|
313
|
+
$prenta-z-bar: 20;
|
|
201
314
|
$prenta-z-resizer: 30;
|
|
202
315
|
$prenta-z-overlay: 45;
|
|
316
|
+
$prenta-z-tabbar: 30;
|
|
203
317
|
$prenta-z-menu: 120;
|
|
204
|
-
$prenta-z-
|
|
318
|
+
$prenta-z-drawer-scrim: 150;
|
|
319
|
+
$prenta-z-drawer: 160;
|
|
320
|
+
$prenta-z-modal: 200;
|
|
321
|
+
$prenta-z-toast: 260;
|
|
322
|
+
$prenta-z-toast-jobs: 300;
|
|
205
323
|
|
|
324
|
+
/// $theme: 'light' (Porcelain), 'linen' (overrides only) or 'dark'.
|
|
206
325
|
@mixin prenta-css-vars($theme: 'light') {
|
|
207
|
-
$map: if($theme == 'dark', $prenta-dark, $prenta-light);
|
|
326
|
+
$map: if($theme == 'dark', $prenta-dark, if($theme == 'linen', $prenta-linen, $prenta-light));
|
|
208
327
|
@each $name, $value in $map {
|
|
209
328
|
--#{$name}: #{$value};
|
|
210
329
|
}
|
|
@@ -30,9 +30,11 @@ module.exports = {
|
|
|
30
30
|
txt: v('--txt'),
|
|
31
31
|
sub: v('--sub'),
|
|
32
32
|
muted: v('--muted'),
|
|
33
|
+
'acc-base': v('--acc-base'),
|
|
33
34
|
acc: v('--acc'),
|
|
34
35
|
'acc-l': v('--acc-l'),
|
|
35
36
|
'acc-m': v('--acc-m'),
|
|
37
|
+
'on-acc': v('--on-acc'),
|
|
36
38
|
suc: v('--suc'),
|
|
37
39
|
'suc-l': v('--suc-l'),
|
|
38
40
|
warn: v('--warn'),
|
|
@@ -41,6 +43,7 @@ module.exports = {
|
|
|
41
43
|
'err-l': v('--err-l'),
|
|
42
44
|
info: v('--info'),
|
|
43
45
|
'info-l': v('--info-l'),
|
|
46
|
+
'notify-dot': v('--notify-dot'),
|
|
44
47
|
'tag-purple': v('--tag-purple'),
|
|
45
48
|
'tag-purple-soft': v('--tag-purple-soft'),
|
|
46
49
|
'tag-green': v('--tag-green'),
|
|
@@ -55,16 +58,58 @@ module.exports = {
|
|
|
55
58
|
'tag-pink-soft': v('--tag-pink-soft'),
|
|
56
59
|
'tag-gray': v('--tag-gray'),
|
|
57
60
|
'tag-gray-soft': v('--tag-gray-soft'),
|
|
61
|
+
'avatar-1': v('--avatar-1'),
|
|
62
|
+
'avatar-2': v('--avatar-2'),
|
|
63
|
+
'avatar-3': v('--avatar-3'),
|
|
64
|
+
'avatar-4': v('--avatar-4'),
|
|
65
|
+
'avatar-5': v('--avatar-5'),
|
|
66
|
+
'avatar-6': v('--avatar-6'),
|
|
67
|
+
'avatar-7': v('--avatar-7'),
|
|
68
|
+
'avatar-8': v('--avatar-8'),
|
|
58
69
|
ai1: v('--ai1'),
|
|
59
70
|
ai2: v('--ai2'),
|
|
71
|
+
scrim: v('--scrim'),
|
|
72
|
+
'scrim-drawer': v('--scrim-drawer'),
|
|
73
|
+
'code-bg': v('--code-bg'),
|
|
74
|
+
'code-txt': v('--code-txt'),
|
|
75
|
+
'code-cmt': v('--code-cmt'),
|
|
76
|
+
'code-str': v('--code-str'),
|
|
77
|
+
'code-kw': v('--code-kw'),
|
|
78
|
+
'code-err': v('--code-err'),
|
|
79
|
+
'code-btn-bg': v('--code-btn-bg'),
|
|
80
|
+
'code-btn-bdr': v('--code-btn-bdr'),
|
|
81
|
+
'code-btn-txt': v('--code-btn-txt'),
|
|
82
|
+
'code-file': v('--code-file'),
|
|
83
|
+
'site-bg': v('--site-bg'),
|
|
84
|
+
'site-txt': v('--site-txt'),
|
|
85
|
+
'site-sub': v('--site-sub'),
|
|
86
|
+
'site-muted': v('--site-muted'),
|
|
87
|
+
'site-bdr': v('--site-bdr'),
|
|
88
|
+
'site-alt': v('--site-alt'),
|
|
89
|
+
'site-alt2': v('--site-alt2'),
|
|
90
|
+
'site-chip': v('--site-chip'),
|
|
91
|
+
'site-foot-txt': v('--site-foot-txt'),
|
|
92
|
+
'site-alert': v('--site-alert'),
|
|
93
|
+
'site-thumb': v('--site-thumb'),
|
|
94
|
+
'site-thumb-bar': v('--site-thumb-bar'),
|
|
60
95
|
},
|
|
61
96
|
borderRadius: {
|
|
62
|
-
|
|
97
|
+
4: 'var(--r-xs)',
|
|
98
|
+
5: 'var(--r-sm)',
|
|
99
|
+
6: 'var(--r-6)',
|
|
100
|
+
7: 'var(--r-7)',
|
|
101
|
+
8: 'var(--r-8)',
|
|
102
|
+
9: 'var(--r-9)',
|
|
103
|
+
10: 'var(--r-10)',
|
|
104
|
+
12: 'var(--r-12)',
|
|
105
|
+
14: 'var(--r-14)',
|
|
63
106
|
field: 'var(--r-field)',
|
|
64
107
|
ctl: 'var(--r-ctl)',
|
|
65
108
|
base: 'var(--r)',
|
|
66
109
|
fig: 'var(--r-fig)',
|
|
67
110
|
pill: 'var(--r-pill)',
|
|
111
|
+
// Kept from 2.0: rounded-sm is the 6px chip radius, as in theme.css.
|
|
112
|
+
sm: 'var(--r-6)',
|
|
68
113
|
},
|
|
69
114
|
spacing: {
|
|
70
115
|
2: 'var(--sp-2)',
|
|
@@ -95,14 +140,24 @@ module.exports = {
|
|
|
95
140
|
boxShadow: {
|
|
96
141
|
shd: 'var(--shd)',
|
|
97
142
|
shd2: 'var(--shd2)',
|
|
143
|
+
bar: 'var(--shd-bar)',
|
|
144
|
+
knob: 'var(--shd-knob)',
|
|
145
|
+
save: 'var(--shd-save)',
|
|
146
|
+
tabbar: 'var(--shd-tabbar)',
|
|
98
147
|
ring: 'var(--ring)',
|
|
99
148
|
},
|
|
100
149
|
zIndex: {
|
|
101
150
|
raise: 'var(--z-raise)',
|
|
151
|
+
bar: 'var(--z-bar)',
|
|
102
152
|
resizer: 'var(--z-resizer)',
|
|
103
153
|
overlay: 'var(--z-overlay)',
|
|
154
|
+
tabbar: 'var(--z-tabbar)',
|
|
104
155
|
menu: 'var(--z-menu)',
|
|
156
|
+
'drawer-scrim': 'var(--z-drawer-scrim)',
|
|
157
|
+
drawer: 'var(--z-drawer)',
|
|
158
|
+
modal: 'var(--z-modal)',
|
|
105
159
|
toast: 'var(--z-toast)',
|
|
160
|
+
'toast-jobs': 'var(--z-toast-jobs)',
|
|
106
161
|
},
|
|
107
162
|
fontFamily: {
|
|
108
163
|
sans: 'var(--font-sans)',
|
|
@@ -110,10 +165,18 @@ module.exports = {
|
|
|
110
165
|
},
|
|
111
166
|
fontSize: {
|
|
112
167
|
page: 'var(--fs-page)',
|
|
168
|
+
drawer: 'var(--fs-drawer)',
|
|
169
|
+
stat: 'var(--fs-stat)',
|
|
170
|
+
figure: 'var(--fs-figure)',
|
|
113
171
|
card: 'var(--fs-card)',
|
|
114
172
|
body: 'var(--fs-body)',
|
|
173
|
+
sm2: 'var(--fs-sm)',
|
|
115
174
|
sub: 'var(--fs-sub)',
|
|
116
175
|
hint: 'var(--fs-hint)',
|
|
176
|
+
badge: 'var(--fs-badge)',
|
|
177
|
+
tab: 'var(--fs-tab)',
|
|
178
|
+
count: 'var(--fs-count)',
|
|
179
|
+
micro: 'var(--fs-micro)',
|
|
117
180
|
label: 'var(--fs-label)',
|
|
118
181
|
},
|
|
119
182
|
fontWeight: {
|
package/dist/AdminRoot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../src/AdminRoot.tsx"],"names":[],"mappings":"AAqEA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uCAAuC,CAAA;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC;QACX,OAAO,EAAE,OAAO,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC,CAAA;IACF,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CACb,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA+wBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAuB9C"}
|
package/dist/AdminRoot.js
CHANGED
|
@@ -5,7 +5,7 @@ import * as Dialog from '@radix-ui/react-dialog';
|
|
|
5
5
|
import { toast } from 'sonner';
|
|
6
6
|
import { Layout } from './layout/Layout.js';
|
|
7
7
|
import { adminPortalContainer } from './lib/portal-container.js';
|
|
8
|
-
import { ADMIN_ROOT_ATTR
|
|
8
|
+
import { ADMIN_ROOT_ATTR } from './lib/admin-root-element.js';
|
|
9
9
|
import { useAdminRouter, parseRouteQuery } from './router/index.js';
|
|
10
10
|
import { ADMIN_KEYBOARD_SHORTCUTS } from './lib/admin-shortcuts.js';
|
|
11
11
|
import { cmsApi, ensureCsrfToken } from './lib/api.js';
|
|
@@ -14,7 +14,7 @@ import { registerSectionTypes, resetCustomSectionTypes, resolveCustomSectionType
|
|
|
14
14
|
import { Dashboard } from './views/Dashboard.js';
|
|
15
15
|
import { McpConsent } from './views/McpConsent.js';
|
|
16
16
|
import { SEO_DEEP_PATHS, seoTabForPath } from './views/seo/seo-routes.js';
|
|
17
|
-
import { CollectionList, DocumentEdit, FormDeliveries, FormEditor, FormEntries, FormSubmissions, Forms, MediaBrowser, NewPostPicker, NewPostTypeInstructions, PageSectionEditor, PageTagManager, PagesListView, PostSectionEditor, PostTemplateEditor, PostTypeEditor, PostTypesView, PostsListView, Jobs, Profile, SEO, ScriptTags, Settings, Trash, ViewFallback, } from './views/lazy-views.js';
|
|
17
|
+
import { CollectionList, DocumentEdit, FormDeliveries, FormEditor, FormEntries, FormSubmissions, Forms, MediaBrowser, NewPostPicker, NewPostTypeInstructions, PageSectionEditor, PageTagManager, PagesListView, PostSectionEditor, PostTemplateEditor, PostTypeEditor, PostTypesView, PostsListView, Jobs, AppearanceChrome, WidgetsPlaceholder, FormsSettings, SpamFolder, Profile, SEO, ScriptTags, Settings, Trash, ViewFallback, } from './views/lazy-views.js';
|
|
18
18
|
import { SetupWizard } from './views/SetupWizard.js';
|
|
19
19
|
import { Login } from './views/Login.js';
|
|
20
20
|
import { HiddenLoginNotFound } from './views/HiddenLoginNotFound.js';
|
|
@@ -31,6 +31,7 @@ import { useIdleLogout } from './hooks/useIdleLogout.js';
|
|
|
31
31
|
import { resolveLogoutRedirect } from './lib/logout-redirect.js';
|
|
32
32
|
import { AdminSectionRenderersProvider, } from './views/page-editor/sections/index.js';
|
|
33
33
|
import { ThemeChromeProvider } from './views/page-editor/theme-chrome/index.js';
|
|
34
|
+
import { AdminLinksProvider } from './components/ui/admin-links.js';
|
|
34
35
|
/** Client-side alias so retired canvas URLs land on the section editor. */
|
|
35
36
|
function Redirect({ to, navigate }) {
|
|
36
37
|
useEffect(() => {
|
|
@@ -40,6 +41,8 @@ function Redirect({ to, navigate }) {
|
|
|
40
41
|
}
|
|
41
42
|
function AdminShell({ config, session, basePath = '/admin', initialPath = '/', loginPath, setupRequired, onSetupComplete, onLogin, onVerifyTotp, onLogout, captchaConfig, }) {
|
|
42
43
|
const { currentPath, navigate, matchRoute, buildHref } = useAdminRouter(basePath, initialPath);
|
|
44
|
+
// Real hrefs for admin links (breadcrumbs), with in-app navigation on click.
|
|
45
|
+
const adminLinks = useMemo(() => ({ href: buildHref, navigate }), [buildHref, navigate]);
|
|
43
46
|
const [shortcutHelpOpen, setShortcutHelpOpen] = useState(false);
|
|
44
47
|
// Sign out: revoke the server-side session (and clear the cookie) first, then
|
|
45
48
|
// send the user to a "logged out successfully" login screen. Split-login
|
|
@@ -285,6 +288,10 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
|
|
|
285
288
|
const newPageQuery = parseRouteQuery(currentPath);
|
|
286
289
|
return (_jsx(PageSectionEditor, { initialParentId: newPageQuery.get('parent'), config: config, session: session, onNavigate: navigate }));
|
|
287
290
|
}
|
|
291
|
+
// Before `/pages/:id`, or "trash" would be read as a page id.
|
|
292
|
+
if (matchRoute('/pages/trash')) {
|
|
293
|
+
return (_jsx(Trash, { onNavigate: navigate, config: config, parent: { label: 'Pages', path: '/pages' } }));
|
|
294
|
+
}
|
|
288
295
|
const pageEdit = matchRoute('/pages/:id/edit');
|
|
289
296
|
if (pageEdit?.id) {
|
|
290
297
|
return (_jsx(PageSectionEditor, { documentId: pageEdit.id, config: config, session: session, onNavigate: navigate }));
|
|
@@ -334,9 +341,29 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
|
|
|
334
341
|
if (matchRoute('/script-tags')) {
|
|
335
342
|
return _jsx(ScriptTags, { onNavigate: navigate });
|
|
336
343
|
}
|
|
337
|
-
if (matchRoute('/saved-sections') || matchRoute('/page-templates')
|
|
344
|
+
if (matchRoute('/saved-sections') || matchRoute('/page-templates')) {
|
|
338
345
|
return _jsx(Redirect, { to: "/pages", navigate: navigate });
|
|
339
346
|
}
|
|
347
|
+
if (matchRoute('/widgets') || matchRoute('/appearance/widgets')) {
|
|
348
|
+
return _jsx(WidgetsPlaceholder, {});
|
|
349
|
+
}
|
|
350
|
+
// Menus are edited in the navigation plugin's collection (the sidebar's
|
|
351
|
+
// Appearance → Menus item). Without the plugin this falls through to 404.
|
|
352
|
+
if (matchRoute('/appearance/menus') && collectionMap.has('navigations')) {
|
|
353
|
+
return _jsx(Redirect, { to: "/navigations", navigate: navigate });
|
|
354
|
+
}
|
|
355
|
+
if (matchRoute('/appearance/header')) {
|
|
356
|
+
return (_jsx(AppearanceChrome, { onNavigate: navigate, session: session, collections: collectionMap, currentPath: currentPath }));
|
|
357
|
+
}
|
|
358
|
+
if (matchRoute('/forms/settings')) {
|
|
359
|
+
return _jsx(FormsSettings, {});
|
|
360
|
+
}
|
|
361
|
+
if (matchRoute('/forms/spam')) {
|
|
362
|
+
return _jsx(SpamFolder, {});
|
|
363
|
+
}
|
|
364
|
+
if (matchRoute('/posts/trash')) {
|
|
365
|
+
return (_jsx(Trash, { onNavigate: navigate, config: config, parent: { label: 'Posts', path: '/posts' } }));
|
|
366
|
+
}
|
|
340
367
|
if (matchRoute('/trash')) {
|
|
341
368
|
return _jsx(Trash, { onNavigate: navigate, config: config });
|
|
342
369
|
}
|
|
@@ -344,7 +371,7 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
|
|
|
344
371
|
return _jsx(McpConsent, { currentPath: currentPath });
|
|
345
372
|
}
|
|
346
373
|
if (matchRoute('/jobs')) {
|
|
347
|
-
return _jsx(Jobs, { onNavigate: navigate });
|
|
374
|
+
return (_jsx(Jobs, { onNavigate: navigate, role: session?.user?.role, userId: session?.user?.id, config: config }));
|
|
348
375
|
}
|
|
349
376
|
// Users + API Keys moved into the Settings view as tabs. The legacy
|
|
350
377
|
// top-level routes still resolve — they just land on the matching tab.
|
|
@@ -395,16 +422,19 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
|
|
|
395
422
|
// `/collections/posts`.
|
|
396
423
|
'posts',
|
|
397
424
|
]);
|
|
425
|
+
// DocumentEdit is keyed by collection and document ('new' for create) so
|
|
426
|
+
// each URL gets its own editor: opening a created or duplicated document,
|
|
427
|
+
// or going Back to /new, must not reuse the previous one's loaded state.
|
|
398
428
|
for (const [slug] of collectionMap) {
|
|
399
429
|
if (RESERVED_SLUGS.has(slug))
|
|
400
430
|
continue;
|
|
401
431
|
const newMatch = matchRoute(`/${slug}/new`);
|
|
402
432
|
if (newMatch) {
|
|
403
|
-
return _jsx(DocumentEdit, { collectionSlug: slug, config: config });
|
|
433
|
+
return (_jsx(DocumentEdit, { collectionSlug: slug, config: config, onNavigate: navigate }, `${slug}:new`));
|
|
404
434
|
}
|
|
405
435
|
const editMatch = matchRoute(`/${slug}/:id`);
|
|
406
436
|
if (editMatch?.id) {
|
|
407
|
-
return _jsx(DocumentEdit, { collectionSlug: slug, documentId: editMatch.id, config: config });
|
|
437
|
+
return (_jsx(DocumentEdit, { collectionSlug: slug, documentId: editMatch.id, config: config, onNavigate: navigate }, `${slug}:${editMatch.id}`));
|
|
408
438
|
}
|
|
409
439
|
if (matchRoute(`/${slug}`)) {
|
|
410
440
|
return _jsx(CollectionList, { collectionSlug: slug, config: config, onNavigate: navigate });
|
|
@@ -412,11 +442,11 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
|
|
|
412
442
|
}
|
|
413
443
|
const newCollMatch = matchRoute('/collections/:slug/new');
|
|
414
444
|
if (newCollMatch?.slug) {
|
|
415
|
-
return _jsx(DocumentEdit, { collectionSlug: newCollMatch.slug, config: config });
|
|
445
|
+
return (_jsx(DocumentEdit, { collectionSlug: newCollMatch.slug, config: config, onNavigate: navigate, listPath: `/collections/${newCollMatch.slug}` }, `${newCollMatch.slug}:new`));
|
|
416
446
|
}
|
|
417
447
|
const editCollMatch = matchRoute('/collections/:slug/:id');
|
|
418
448
|
if (editCollMatch?.slug && editCollMatch.id) {
|
|
419
|
-
return (_jsx(DocumentEdit, { collectionSlug: editCollMatch.slug, documentId: editCollMatch.id, config: config }));
|
|
449
|
+
return (_jsx(DocumentEdit, { collectionSlug: editCollMatch.slug, documentId: editCollMatch.id, config: config, onNavigate: navigate, listPath: `/collections/${editCollMatch.slug}` }, `${editCollMatch.slug}:${editCollMatch.id}`));
|
|
420
450
|
}
|
|
421
451
|
const collectionMatch = matchRoute('/collections/:slug');
|
|
422
452
|
if (collectionMatch?.slug) {
|
|
@@ -424,7 +454,7 @@ function AdminShell({ config, session, basePath = '/admin', initialPath = '/', l
|
|
|
424
454
|
}
|
|
425
455
|
return (_jsxs("div", { className: "flex min-h-[400px] flex-col items-center justify-center p-6 text-center", children: [_jsx("h1", { className: "text-foreground mb-2 text-4xl font-medium", children: "404" }), _jsx("p", { className: "text-muted-foreground mb-4", children: "The page you are looking for does not exist." }), _jsx("button", { onClick: () => navigate('/'), className: "text-primary-foreground bg-primary rounded-md px-4 py-2 text-sm font-medium hover:opacity-90", children: "Back to Dashboard" })] }));
|
|
426
456
|
}
|
|
427
|
-
return (_jsxs(Layout, { config: config, session: session, currentPath: currentPath, onNavigate: navigate, onLogout: handleLogout, children: [_jsx(ErrorBoundary, { children: _jsx(Suspense, { fallback: _jsx(ViewFallback, {}), children: renderView() }) }), _jsx(ShortcutHelp, { open: shortcutHelpOpen, onClose: () => setShortcutHelpOpen(false) })] }));
|
|
457
|
+
return (_jsx(AdminLinksProvider, { value: adminLinks, children: _jsxs(Layout, { config: config, session: session, currentPath: currentPath, onNavigate: navigate, onLogout: handleLogout, children: [_jsx(ErrorBoundary, { children: _jsx(Suspense, { fallback: _jsx(ViewFallback, {}), children: renderView() }) }), _jsx(ShortcutHelp, { open: shortcutHelpOpen, onClose: () => setShortcutHelpOpen(false) })] }) }));
|
|
428
458
|
}
|
|
429
459
|
function ShortcutHelp({ open, onClose }) {
|
|
430
460
|
return (_jsx(Dialog.Root, { open: open, onOpenChange: (next) => !next && onClose(), children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-100 bg-black/50" }), _jsxs(Dialog.Content, { "aria-describedby": undefined, className: "bg-card text-card-foreground border-border fixed top-1/2 left-1/2 z-100 mx-4 w-[calc(100%-2rem)] max-w-sm -translate-x-1/2 -translate-y-1/2 rounded-xl border p-6 shadow-2xl focus:outline-none", children: [_jsx(Dialog.Title, { className: "mb-4 text-lg font-medium", children: "Keyboard Shortcuts" }), _jsx("div", { className: "space-y-3 text-sm", children: ADMIN_KEYBOARD_SHORTCUTS.map((row) => (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsx("span", { className: "text-muted-foreground", children: row.label }), _jsx("kbd", { className: "bg-muted rounded px-2 py-1 font-mono text-xs", children: row.keys })] }, row.keys))) }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", className: "bg-primary text-primary-foreground focus-visible:ring-ring mt-4 w-full rounded-lg py-2 text-sm hover:opacity-90 focus-visible:ring-2 focus-visible:outline-none", children: "Close" }) })] })] }) }));
|
|
@@ -457,12 +487,8 @@ function useBranding(config) {
|
|
|
457
487
|
else if (branding?.name) {
|
|
458
488
|
document.title = `${branding.name} Admin`;
|
|
459
489
|
}
|
|
460
|
-
//
|
|
461
|
-
|
|
462
|
-
if (branding?.primaryColor && adminEl) {
|
|
463
|
-
adminEl.style.setProperty('--primary', branding.primaryColor);
|
|
464
|
-
adminEl.style.setProperty('--sidebar-primary', branding.primaryColor);
|
|
465
|
-
}
|
|
490
|
+
// `branding.primaryColor` is not applied here: ThemeProvider takes it as
|
|
491
|
+
// `accentOverride` and tunes it like any accent (see AdminRoot below).
|
|
466
492
|
// --- DB favicon (Settings → Appearance) ---
|
|
467
493
|
// The uploaded favicon is the source of truth for the browser tab. Fetch it
|
|
468
494
|
// on mount and re-apply whenever the brand is saved, so the tab icon tracks
|
|
@@ -499,11 +525,6 @@ function useBranding(config) {
|
|
|
499
525
|
if (originalTitleRef.current !== null) {
|
|
500
526
|
document.title = originalTitleRef.current;
|
|
501
527
|
}
|
|
502
|
-
// Remove primary color override
|
|
503
|
-
if (branding?.primaryColor && adminEl) {
|
|
504
|
-
adminEl.style.removeProperty('--primary');
|
|
505
|
-
adminEl.style.removeProperty('--sidebar-primary');
|
|
506
|
-
}
|
|
507
528
|
};
|
|
508
529
|
}, [config]);
|
|
509
530
|
}
|
|
@@ -525,10 +546,11 @@ function useAdminPageTitle(config, currentPath) {
|
|
|
525
546
|
const EMPTY_RENDERERS = {};
|
|
526
547
|
export function AdminRoot(props) {
|
|
527
548
|
const defaultDarkMode = props.config?.admin?.branding?.darkMode;
|
|
549
|
+
const primaryColor = props.config?.admin?.branding?.primaryColor;
|
|
528
550
|
useRobotsNoIndex();
|
|
529
551
|
useEffect(() => {
|
|
530
552
|
initAdminSentry(props.sentryDsn);
|
|
531
553
|
}, [props.sentryDsn]);
|
|
532
|
-
return (_jsx("div", { style: ISOLATION_STYLE, className: "prenta-admin", [ADMIN_ROOT_ATTR]: '', children: _jsx(ThemeProvider, { defaultDarkMode: defaultDarkMode, children: _jsx(LocaleProvider, { config: props.config, children: _jsx(AdminSectionRenderersProvider, { value: props.sectionRenderers ?? EMPTY_RENDERERS, children: _jsx(ThemeChromeProvider, { value: props.themeChrome ?? null, children: _jsx(AdminShell, { ...props }) }) }) }) }) }));
|
|
554
|
+
return (_jsx("div", { style: ISOLATION_STYLE, className: "prenta-admin", [ADMIN_ROOT_ATTR]: '', children: _jsx(ThemeProvider, { defaultDarkMode: defaultDarkMode, accentOverride: primaryColor, children: _jsx(LocaleProvider, { config: props.config, children: _jsx(AdminSectionRenderersProvider, { value: props.sectionRenderers ?? EMPTY_RENDERERS, children: _jsx(ThemeChromeProvider, { value: props.themeChrome ?? null, children: _jsx(AdminShell, { ...props }) }) }) }) }) }));
|
|
533
555
|
}
|
|
534
556
|
//# sourceMappingURL=AdminRoot.js.map
|