@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
package/dist/views/Forms.js
CHANGED
|
@@ -16,8 +16,10 @@ import { sortByRelevance } from '../lib/search.js';
|
|
|
16
16
|
import { fetchForms, fetchFormStats, setNotifyEnabled, } from '../lib/forms-service.js';
|
|
17
17
|
import { emitFormsChanged, onFormsChanged } from '../lib/forms-events.js';
|
|
18
18
|
import { InspectorPane, SplitPaneLayout, SplitPaneList } from '../components/ui/InspectorPane.js';
|
|
19
|
+
import { cardCell, cardColumnHeader, cardRow, cardRowGroup, cardTable, } from '../components/ui/card-table.js';
|
|
19
20
|
import { FormSchemaPane } from '../components/forms/FormSchemaPane.js';
|
|
20
|
-
import { FieldTypeBadge, FormStatusBadge, FormsEmptyState, FormsErrorState, FormsLoading, FormsPagination,
|
|
21
|
+
import { FieldTypeBadge, FormStatusBadge, FormsEmptyState, FormsErrorState, FormsLoading, FormsPagination, UnreadBadge, btnPrimary, } from '../components/forms/primitives.js';
|
|
22
|
+
import { CountChip } from '../components/ui/CountChip.js';
|
|
21
23
|
const PAGE_SIZE = 10;
|
|
22
24
|
const FILTERS = [
|
|
23
25
|
{ id: 'all', label: 'All' },
|
|
@@ -121,7 +123,7 @@ export function Forms({ onNavigate }) {
|
|
|
121
123
|
}
|
|
122
124
|
emitFormsChanged();
|
|
123
125
|
}, []);
|
|
124
|
-
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [_jsxs("div", { className: "space-y-5 p-6 pb-4", children: [_jsxs("header", { className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-[var(--txt)]", children: "Forms" }), _jsx("p", { className: "mt-1 text-sm text-[var(--sub)]", children: "Manage forms and view incoming submissions" })] }), _jsxs("button", { className: btnPrimary, onClick: () => onNavigate?.('/forms/new'), children: [_jsx(Plus, { className: "h-4 w-4", "aria-hidden": true }), "New Form"] })] }), stats && (_jsxs("div", { className: "flex flex-wrap gap-
|
|
126
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [_jsxs("div", { className: "space-y-5 p-6 pb-4", children: [_jsxs("header", { className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-[var(--txt)]", children: "Forms" }), _jsx("p", { className: "mt-1 text-sm text-[var(--sub)]", children: "Manage forms and view incoming submissions" })] }), _jsx("div", { "data-header-actions": "", className: "flex items-center gap-2", children: _jsxs("button", { type: "button", className: btnPrimary, onClick: () => onNavigate?.('/forms/new'), "data-variant": "primary", "data-fab": "", children: [_jsx(Plus, { className: "h-4 w-4", "aria-hidden": true }), "New Form"] }) })] }), stats && (_jsxs("div", { className: "flex flex-wrap gap-1.5", children: [_jsx(CountChip, { n: stats.totalForms, label: stats.totalForms === 1 ? 'form' : 'forms' }), _jsx(CountChip, { n: stats.activeForms, label: "active", tone: "ok" }), _jsx(CountChip, { n: stats.totalEntries, label: "total entries" }), _jsx(CountChip, { n: stats.unreadEntries, label: "unread", tone: stats.unreadEntries > 0 ? 'bad' : undefined })] })), _jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { className: "relative w-full sm:max-w-xs", children: [_jsx(Search, { className: "absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-[var(--sub)]", "aria-hidden": true }), _jsx("input", { type: "search", placeholder: "Search forms\u2026", value: search, onChange: (e) => {
|
|
125
127
|
setSearch(e.target.value);
|
|
126
128
|
setPage(1);
|
|
127
129
|
}, "aria-label": "Search forms", className: "bg-input-background w-full rounded-lg border border-[var(--bdr)] py-2 pr-3 pl-9 text-sm text-[var(--txt)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none" })] }), _jsx("div", { className: "flex gap-1", role: "group", "aria-label": "Filter by status", children: FILTERS.map((f) => (_jsx("button", { type: "button", onClick: () => {
|
|
@@ -136,12 +138,12 @@ export function Forms({ onNavigate }) {
|
|
|
136
138
|
}, className: "text-primary text-sm font-medium hover:underline", children: "Clear filters" }) })) : (_jsx(FormsTable, { forms: paged, selectedId: schemaFormId, onOpenForm: (id) => onNavigate?.(`/forms/${id}/edit`), onOpenEntries: (id) => onNavigate?.(`/forms/${id}/submissions`), onOpenSchema: toggleSchema, onNotifyToggle: handleNotifyToggle, footer: _jsx(FormsPagination, { page: page, pageSize: PAGE_SIZE, total: filtered.length, onPageChange: setPage, noun: "form", label: "Forms pagination" }) })) }), _jsx(InspectorPane, { open: schemaForm !== null, width: 390, "aria-label": "Form schema", children: schemaForm && (_jsx(FormSchemaPane, { form: schemaForm, onClose: () => setSchemaFormId(null), onSaved: load }, schemaForm.id)) })] })] }));
|
|
137
139
|
}
|
|
138
140
|
function FormsTable({ forms, selectedId, onOpenForm, onOpenEntries, onOpenSchema, onNotifyToggle, footer, }) {
|
|
139
|
-
return (_jsxs("div", { className: "flex min-h-0 flex-col overflow-hidden rounded-lg border border-[var(--bdr)] bg-[var(--card)]", children: [_jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: _jsxs("table", { className: "w-full min-w-[760px] text-sm", "aria-label": "Forms", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-[var(--bdr)] text-left text-xs text-[var(--sub)]", children: [_jsx("th", { scope: "col", className: "px-4 py-2.5 font-medium", children: "Form" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 font-medium", children: "Fields" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 font-medium", children: "Status" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 font-medium", children: "Entries" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 font-medium", children: "Last Entry" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 text-center font-medium", children: "Notify" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 text-right font-medium", children: _jsx("span", { className: "sr-only", children: "Schema" }) })] }) }), _jsx("tbody", { children: forms.map((form) => {
|
|
141
|
+
return (_jsxs("div", { className: "mobile:rounded-none mobile:border-0 mobile:bg-transparent flex min-h-0 flex-col overflow-hidden rounded-lg border border-[var(--bdr)] bg-[var(--card)]", children: [_jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: _jsxs("table", { ...cardTable, className: "w-full min-w-[760px] text-sm", "aria-label": "Forms", children: [_jsx("thead", { ...cardRowGroup, children: _jsxs("tr", { ...cardRow, className: "border-b border-[var(--bdr)] text-left text-xs text-[var(--sub)]", children: [_jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 font-medium", children: "Form" }), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 font-medium", children: "Fields" }), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 font-medium", children: "Status" }), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 font-medium", children: "Entries" }), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 font-medium", children: "Last Entry" }), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 text-center font-medium", children: "Notify" }), _jsx("th", { ...cardColumnHeader, scope: "col", className: "px-4 py-2.5 text-right font-medium", children: _jsx("span", { className: "sr-only", children: "Schema" }) })] }) }), _jsx("tbody", { ...cardRowGroup, children: forms.map((form) => {
|
|
140
142
|
const fieldCount = form.fieldCount ?? form.fields.length;
|
|
141
143
|
const unread = form.unreadEntries ?? 0;
|
|
142
144
|
const muted = form.status === 'archived';
|
|
143
145
|
const isSelected = form.id === selectedId;
|
|
144
|
-
return (_jsxs("tr", { className: `border-b border-[var(--bdr)] transition-colors last:border-b-0 ${isSelected ? 'bg-[var(--acc-l)]' : 'hover:bg-[var(--acc-l)]'} ${muted ? 'opacity-60' : ''}`, children: [_jsx("td", { className: "px-4 py-3", children: _jsxs("button", { type: "button", onClick: () => onOpenForm(form.id), className: "block max-w-xs text-left", children: [_jsx("span", { className: "block truncate font-medium text-[var(--txt)] hover:underline", children: form.name }), _jsxs("span", { className: "block truncate text-xs text-[var(--sub)]", children: ["/", form.slug, form.description ? ` · ${form.description}` : ''] })] }) }), _jsx("td", { className: "px-4 py-3", children: _jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [form.fields.slice(0, 4).map((field) => (_jsx(FieldTypeBadge, { type: field.type }, field.id))), _jsxs("span", { className: "text-xs text-[var(--sub)]", children: [fieldCount, " fields"] })] }) }), _jsx("td", { className: "px-4 py-3", children: _jsx(FormStatusBadge, { status: form.status }) }), _jsx("td", { className: "px-4 py-3", children: _jsxs("button", { type: "button", onClick: () => onOpenEntries(form.id), className: "inline-flex items-center gap-1.5 rounded font-medium text-[var(--txt)] tabular-nums hover:text-[var(--acc)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none", "aria-label": `View ${form.totalEntries ?? 0} entries for ${form.name}`, children: [form.totalEntries ?? 0, _jsx(UnreadBadge, { count: unread }), _jsx(ChevronRight, { className: "h-3.5 w-3.5 text-[var(--sub)]", "aria-hidden": true })] }) }), _jsx("td", { className: "px-4 py-3 whitespace-nowrap text-[var(--sub)]", children: formatRelative(form.lastEntryAt) }), _jsx("td", { className: "px-4 py-3 text-center", children: _jsx(Toggle, { checked: form.notifyEnabled ?? false, onCheckedChange: (v) => onNotifyToggle(form, v), "aria-label": `Notifications for ${form.name}`, variant: "enabled" }) }), _jsx("td", { className: "px-4 py-3 text-right", children: _jsxs("button", { type: "button", onClick: () => onOpenSchema(form), "aria-expanded": isSelected, className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--bdr)] px-2.5 py-1.5 text-xs font-medium text-[var(--txt)] transition-colors hover:bg-[var(--acc-l)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none", children: [_jsx(Settings2, { className: "h-3.5 w-3.5", "aria-hidden": true }), "Schema"] }) })] }, form.id));
|
|
146
|
+
return (_jsxs("tr", { ...cardRow, "data-state": isSelected ? 'selected' : undefined, className: `border-b border-[var(--bdr)] transition-colors last:border-b-0 ${isSelected ? 'bg-[var(--acc-l)]' : 'hover:bg-[var(--acc-l)]'} ${muted ? 'opacity-60' : ''}`, children: [_jsx("td", { ...cardCell({ role: 'title' }), className: "px-4 py-3", children: _jsxs("button", { type: "button", onClick: () => onOpenForm(form.id), className: "block max-w-xs text-left", children: [_jsx("span", { className: "block truncate font-medium text-[var(--txt)] hover:underline", children: form.name }), _jsxs("span", { className: "block truncate text-xs text-[var(--sub)]", children: ["/", form.slug, form.description ? ` · ${form.description}` : ''] })] }) }), _jsx("td", { ...cardCell({ label: 'Fields' }), className: "px-4 py-3", children: _jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [form.fields.slice(0, 4).map((field) => (_jsx(FieldTypeBadge, { type: field.type }, field.id))), _jsxs("span", { className: "text-xs text-[var(--sub)]", children: [fieldCount, " fields"] })] }) }), _jsx("td", { ...cardCell({ label: 'Status' }), className: "px-4 py-3", children: _jsx(FormStatusBadge, { status: form.status }) }), _jsx("td", { ...cardCell({ label: 'Entries' }), className: "px-4 py-3", children: _jsxs("button", { type: "button", onClick: () => onOpenEntries(form.id), className: "inline-flex items-center gap-1.5 rounded font-medium text-[var(--txt)] tabular-nums hover:text-[var(--acc)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none", "aria-label": `View ${form.totalEntries ?? 0} entries for ${form.name}`, children: [form.totalEntries ?? 0, _jsx(UnreadBadge, { count: unread }), _jsx(ChevronRight, { className: "h-3.5 w-3.5 text-[var(--sub)]", "aria-hidden": true })] }) }), _jsx("td", { ...cardCell({ label: 'Last Entry' }), className: "px-4 py-3 whitespace-nowrap text-[var(--sub)]", children: formatRelative(form.lastEntryAt) }), _jsx("td", { ...cardCell({ label: 'Notify' }), className: "px-4 py-3 text-center", children: _jsx(Toggle, { checked: form.notifyEnabled ?? false, onCheckedChange: (v) => onNotifyToggle(form, v), "aria-label": `Notifications for ${form.name}`, variant: "enabled" }) }), _jsx("td", { ...cardCell({ role: 'actions' }), className: "px-4 py-3 text-right", children: _jsxs("button", { type: "button", onClick: () => onOpenSchema(form), "aria-expanded": isSelected, className: "inline-flex items-center gap-1.5 rounded-md border border-[var(--bdr)] px-2.5 py-1.5 text-xs font-medium text-[var(--txt)] transition-colors hover:bg-[var(--acc-l)] focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:outline-none", children: [_jsx(Settings2, { className: "h-3.5 w-3.5", "aria-hidden": true }), "Schema"] }) })] }, form.id));
|
|
145
147
|
}) })] }) }), footer ? _jsx("div", { className: "shrink-0", children: footer }) : null] }));
|
|
146
148
|
}
|
|
147
149
|
//# sourceMappingURL=Forms.js.map
|
package/dist/views/Forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Forms.js","sourceRoot":"","sources":["../../src/views/Forms.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Forms.js","sourceRoot":"","sources":["../../src/views/Forms.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormsSettings.d.ts","sourceRoot":"","sources":["../../src/views/FormsSettings.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,aAAa,4CAwE5B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { DEFAULT_ATTRIBUTION_WINDOWS, validateAttributionWindows, } from '@prenta/core/forms/attribution-settings';
|
|
5
|
+
import { Breadcrumb } from '../components/ui/Breadcrumb.js';
|
|
6
|
+
import { PageHeader } from '../components/ui/PageHeader.js';
|
|
7
|
+
import { UnderlineTabs } from '../components/ui/UnderlineTabs.js';
|
|
8
|
+
import { UnsavedBar } from '../components/ui/UnsavedBar.js';
|
|
9
|
+
const TABS = [
|
|
10
|
+
{ id: 'spam', label: 'Spam protection' },
|
|
11
|
+
{ id: 'defaults', label: 'Defaults' },
|
|
12
|
+
{ id: 'retention', label: 'Retention' },
|
|
13
|
+
{ id: 'attribution', label: 'Attribution' },
|
|
14
|
+
{ id: 'email', label: 'Email delivery' },
|
|
15
|
+
];
|
|
16
|
+
export function FormsSettings() {
|
|
17
|
+
const [tab, setTab] = useState('attribution');
|
|
18
|
+
const [saved, setSaved] = useState(DEFAULT_ATTRIBUTION_WINDOWS);
|
|
19
|
+
const [draft, setDraft] = useState(DEFAULT_ATTRIBUTION_WINDOWS);
|
|
20
|
+
const [message, setMessage] = useState(null);
|
|
21
|
+
const dirty = JSON.stringify(draft) !== JSON.stringify(saved);
|
|
22
|
+
const validation = validateAttributionWindows(draft);
|
|
23
|
+
function save() {
|
|
24
|
+
if (!validation.ok) {
|
|
25
|
+
setMessage(validation.message);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
setSaved(draft);
|
|
29
|
+
setMessage('Saved');
|
|
30
|
+
}
|
|
31
|
+
return (_jsxs("div", { className: "flex flex-col gap-4 p-6", children: [_jsx(PageHeader, { flush: true, title: "Form Settings", subtitle: "Site-wide defaults for every form.", breadcrumb: _jsx(Breadcrumb, { items: [
|
|
32
|
+
{ label: 'Dashboard', path: '/' },
|
|
33
|
+
{ label: 'Forms', path: '/forms' },
|
|
34
|
+
{ label: 'Form Settings' },
|
|
35
|
+
] }) }), _jsx(UnderlineTabs, { tabs: TABS, value: tab, onChange: setTab, label: "Form settings" }), tab === 'attribution' ? (_jsxs("div", { className: "flex max-w-md flex-col gap-4", children: [_jsxs("label", { className: "flex flex-col gap-1 text-base", children: ["First touch (days)", _jsx("input", { type: "number", value: draft.firstTouchDays, onChange: (event) => setDraft({ ...draft, firstTouchDays: Number(event.target.value) }), className: "border-border rounded-md border px-3 py-2" })] }), _jsxs("label", { className: "flex flex-col gap-1 text-base", children: ["Last touch (hours)", _jsx("input", { type: "number", value: draft.lastTouchHours, onChange: (event) => setDraft({ ...draft, lastTouchHours: Number(event.target.value) }), className: "border-border rounded-md border px-3 py-2" })] }), !validation.ok ? _jsx("p", { className: "text-destructive text-sm", children: validation.message }) : null, message ? _jsx("p", { className: "text-muted-foreground text-sm", children: message }) : null] })) : (_jsxs("p", { className: "text-muted-foreground text-base", children: ["Settings for ", tab, "."] })), _jsx(UnsavedBar, { dirty: dirty, onDiscard: () => setDraft(saved), onSave: save, label: "Unsaved changes" })] }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=FormsSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormsSettings.js","sourceRoot":"","sources":["../../src/views/FormsSettings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ButtonProps } from '../../components/ui/Button.js';
|
|
2
|
+
export interface BusyButtonProps extends Omit<ButtonProps, 'loading'> {
|
|
3
|
+
/** A request this button started is out. */
|
|
4
|
+
busy?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* A Button that stays focusable while its request runs. `Button`'s `loading`
|
|
8
|
+
* sets `disabled`, and Chromium moves focus from a focused button to the
|
|
9
|
+
* body the moment it's disabled, and doesn't put it back. So while busy this
|
|
10
|
+
* one is `aria-disabled` and `aria-busy`, ignores clicks, and shows the
|
|
11
|
+
* spinner in place of its icon (an icon-only button keeps one icon). It
|
|
12
|
+
* forwards its ref, so it can be a menu's trigger.
|
|
13
|
+
*/
|
|
14
|
+
export declare const BusyButton: import("react").ForwardRefExoticComponent<BusyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
//# sourceMappingURL=BusyButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BusyButton.d.ts","sourceRoot":"","sources":["../../../src/views/Jobs/BusyButton.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAExE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IACnE,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,+GAqBrB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Button } from '../../components/ui/Button.js';
|
|
5
|
+
/**
|
|
6
|
+
* A Button that stays focusable while its request runs. `Button`'s `loading`
|
|
7
|
+
* sets `disabled`, and Chromium moves focus from a focused button to the
|
|
8
|
+
* body the moment it's disabled, and doesn't put it back. So while busy this
|
|
9
|
+
* one is `aria-disabled` and `aria-busy`, ignores clicks, and shows the
|
|
10
|
+
* spinner in place of its icon (an icon-only button keeps one icon). It
|
|
11
|
+
* forwards its ref, so it can be a menu's trigger.
|
|
12
|
+
*/
|
|
13
|
+
export const BusyButton = forwardRef(function BusyButton({ busy = false, leftIcon, onClick, className = '', ...rest }, ref) {
|
|
14
|
+
return (_jsx(Button, { ...rest, ref: ref, "aria-disabled": busy || rest['aria-disabled'] || undefined, "aria-busy": busy || undefined, leftIcon: busy ? _jsx(Spinner, {}) : leftIcon, onClick: (event) => {
|
|
15
|
+
if (busy) {
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
onClick?.(event);
|
|
20
|
+
}, className: `aria-disabled:pointer-events-none aria-disabled:opacity-50 ${className}` }));
|
|
21
|
+
});
|
|
22
|
+
/** The spinner `Button` shows while loading. */
|
|
23
|
+
function Spinner() {
|
|
24
|
+
return (_jsxs("svg", { className: "h-3.5 w-3.5 shrink-0 motion-safe:animate-spin", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", "data-testid": "busy-spinner", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z" })] }));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=BusyButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BusyButton.js","sourceRoot":"","sources":["../../../src/views/Jobs/BusyButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAmB,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,MAAM,EAAoB,MAAM,+BAA+B,CAAA;AAOxE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAqC,SAAS,UAAU,CAC1F,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAC5D,GAAG;IAEH,OAAO,CACL,KAAC,MAAM,OACD,IAAI,EACR,GAAG,EAAE,GAAG,mBACO,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,SAAS,eAC9C,IAAI,IAAI,SAAS,EAC5B,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,OAAO,KAAG,CAAC,CAAC,CAAC,QAAQ,EACvC,OAAO,EAAE,CAAC,KAAoC,EAAE,EAAE;YAChD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,OAAM;YACR,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,EACD,SAAS,EAAE,8DAA8D,SAAS,EAAE,GACpF,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,gDAAgD;AAChD,SAAS,OAAO;IACd,OAAO,CACL,eACE,SAAS,EAAC,+CAA+C,EACzD,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,iBACC,MAAM,iBACN,cAAc,aAE1B,iBAAQ,SAAS,EAAC,YAAY,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,GAAG,EAC9F,eAAM,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,qCAAqC,GAAG,IACvF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type JobRow } from '../../lib/job-view.js';
|
|
2
|
+
/** A running job whose worker stopped mid-slice: the next tick, not this slice, ends it. */
|
|
3
|
+
export declare function staleRunning(j: JobRow): boolean;
|
|
4
|
+
export interface CancelJobDialogProps {
|
|
5
|
+
/** The job to cancel; null keeps the dialog closed. */
|
|
6
|
+
job: JobRow | null;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
/** Resolves once the request is answered; the dialog then closes. */
|
|
9
|
+
onConfirm: (job: JobRow) => Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Where focus goes on close when the button that opened the dialog is gone,
|
|
12
|
+
* as it is once a cancel goes through, or never had focus.
|
|
13
|
+
*/
|
|
14
|
+
onFocusFallback: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* The dialog has gone and focus is back. A cancel's outcome is reported
|
|
17
|
+
* from here: while the dialog is open, screen readers are kept inside it.
|
|
18
|
+
*/
|
|
19
|
+
onClosed?: () => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The cancel confirmation (jobs-view.jsx `CancelDlg`, JOBS.md "Cancel
|
|
23
|
+
* dialog"): 460px, radius 14, padding 20. Radix traps focus and closes on Esc.
|
|
24
|
+
* It opens from a row or over the drawer; Esc and the backdrop close only it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function CancelJobDialog({ job, onClose, onConfirm, onFocusFallback, onClosed, }: CancelJobDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=CancelJobDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CancelJobDialog.d.ts","sourceRoot":"","sources":["../../../src/views/Jobs/CancelJobDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAM5D,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AA4BD,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,qEAAqE;IACrE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC;;;OAGG;IACH,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EACP,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,oBAAoB,2CAyEtB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useRef, useState } from 'react';
|
|
4
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
5
|
+
import { Button } from '../../components/ui/Button.js';
|
|
6
|
+
import { jobType } from '../../lib/job-view.js';
|
|
7
|
+
import { adminPortalContainer } from '../../lib/portal-container.js';
|
|
8
|
+
import { BusyButton } from './BusyButton.js';
|
|
9
|
+
import { useReturnFocus } from './focus.js';
|
|
10
|
+
import { JobIcons } from './icons.js';
|
|
11
|
+
/** A running job whose worker stopped mid-slice: the next tick, not this slice, ends it. */
|
|
12
|
+
export function staleRunning(j) {
|
|
13
|
+
return j.status === 'running' && j.state !== 'running';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* jobs-view.jsx `CancelDlg` copy: what stops, and what happens to the work
|
|
17
|
+
* done so far. A stale lock gets its own first sentence: the server only flags
|
|
18
|
+
* a running job, and the next worker run finishes the cancel.
|
|
19
|
+
*/
|
|
20
|
+
function cancelCopy(j) {
|
|
21
|
+
let first;
|
|
22
|
+
if (j.state === 'running')
|
|
23
|
+
first =
|
|
24
|
+
'It’s in the middle of a slice. It will stop when that slice finishes, usually within 20 seconds.';
|
|
25
|
+
else if (staleRunning(j))
|
|
26
|
+
first =
|
|
27
|
+
'Its last slice stopped without finishing. It stops on the next worker run, within a minute.';
|
|
28
|
+
else
|
|
29
|
+
first = 'It hasn’t started its next slice, so it stops right away.';
|
|
30
|
+
let second;
|
|
31
|
+
if (j.type === 'batch-ai') {
|
|
32
|
+
second =
|
|
33
|
+
j.review === 'review'
|
|
34
|
+
? `The ${j.done} changes already made stay in review. Nothing is applied unless you approve it.`
|
|
35
|
+
: `The ${j.done} documents already changed keep their changes. You can undo them from each document’s history.`;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
second = `Progress so far is kept. The next ${jobType(j.type).who.toLowerCase()} run starts fresh.`;
|
|
39
|
+
}
|
|
40
|
+
return `${first} ${second}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The cancel confirmation (jobs-view.jsx `CancelDlg`, JOBS.md "Cancel
|
|
44
|
+
* dialog"): 460px, radius 14, padding 20. Radix traps focus and closes on Esc.
|
|
45
|
+
* It opens from a row or over the drawer; Esc and the backdrop close only it.
|
|
46
|
+
*/
|
|
47
|
+
export function CancelJobDialog({ job, onClose, onConfirm, onFocusFallback, onClosed, }) {
|
|
48
|
+
const [busy, setBusy] = useState(false);
|
|
49
|
+
/** Set before the first await, so a second click can't post a second cancel. */
|
|
50
|
+
const sending = useRef(false);
|
|
51
|
+
const returnFocus = useReturnFocus(onFocusFallback);
|
|
52
|
+
return (_jsx(Dialog.Root, { open: job !== null, onOpenChange: (open) => {
|
|
53
|
+
if (!open && !busy)
|
|
54
|
+
onClose();
|
|
55
|
+
}, children: _jsxs(Dialog.Portal, { container: adminPortalContainer(), children: [_jsx(Dialog.Overlay, { className: "bg-scrim fixed inset-0 z-[var(--z-modal)]" }), _jsx(Dialog.Content, { ...returnFocus, onCloseAutoFocus: (event) => {
|
|
56
|
+
returnFocus.onCloseAutoFocus(event);
|
|
57
|
+
onClosed?.();
|
|
58
|
+
}, "aria-modal": "true", className: "bg-card border-bdr rounded-14 shadow-shd2 fixed top-1/2 left-1/2 z-[var(--z-modal)] flex w-[min(460px,calc(100%-32px))] -translate-x-1/2 -translate-y-1/2 flex-col gap-3 border p-5 leading-[normal]", children: job ? (_jsxs(_Fragment, { children: [_jsxs(Dialog.Title, { className: "text-txt m-0 text-[length:var(--fs-drawer)] leading-[normal] font-bold", children: ["Cancel \u201C", job.title, "\u201D?"] }), _jsx(Dialog.Description, { className: "text-body text-sub m-0 leading-[1.55] text-pretty", children: cancelCopy(job) }), _jsxs("div", { className: "mt-1 flex justify-end gap-2", children: [_jsx(Dialog.Close, { asChild: true, children: _jsx(Button, { variant: "secondary", "aria-disabled": busy || undefined, className: "aria-disabled:pointer-events-none aria-disabled:opacity-50", onClick: (event) => {
|
|
59
|
+
if (busy)
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
}, children: "Keep running" }) }), _jsx(BusyButton, { variant: "danger", busy: busy, leftIcon: _jsx(JobIcons.stop, { size: 12 }), onClick: async () => {
|
|
62
|
+
if (sending.current)
|
|
63
|
+
return;
|
|
64
|
+
sending.current = true;
|
|
65
|
+
setBusy(true);
|
|
66
|
+
try {
|
|
67
|
+
await onConfirm(job);
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
sending.current = false;
|
|
71
|
+
setBusy(false);
|
|
72
|
+
}
|
|
73
|
+
onClose();
|
|
74
|
+
}, children: "Cancel job" })] })] })) : null })] }) }));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=CancelJobDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CancelJobDialog.js","sourceRoot":"","sources":["../../../src/views/Jobs/CancelJobDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Job } from '@prenta/core';
|
|
2
|
+
import type { JobRow } from '../../lib/job-view.js';
|
|
3
|
+
import type { JobEventsState } from './useJobDetail.js';
|
|
4
|
+
export interface DrawerActivityProps {
|
|
5
|
+
events: JobEventsState;
|
|
6
|
+
job: Job;
|
|
7
|
+
row: JobRow;
|
|
8
|
+
now: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* jobs-drawer.jsx Activity: a timeline, newest first, of slices, yields,
|
|
12
|
+
* failures, retry waits and who queued the job. Older finished slices
|
|
13
|
+
* collapse into a row that opens them.
|
|
14
|
+
*/
|
|
15
|
+
export declare function DrawerActivity({ events, job, row, now }: DrawerActivityProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=DrawerActivity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerActivity.d.ts","sourceRoot":"","sources":["../../../src/views/Jobs/DrawerActivity.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AASvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAoDvD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,mBAAmB,2CAgE5E"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Fragment, useRef, useState } from 'react';
|
|
4
|
+
import { foldIds, formatEventTime, timeline, } from '../../lib/job-drawer.js';
|
|
5
|
+
/** The events endpoint returns at most this many. */
|
|
6
|
+
const EVENTS_SHOWN = 50;
|
|
7
|
+
/** `.jd-tl i` per tone. */
|
|
8
|
+
const NODE_CLASS = {
|
|
9
|
+
ok: 'border-suc bg-suc-l',
|
|
10
|
+
err: 'border-err bg-err-l',
|
|
11
|
+
warn: 'border-warn bg-warn-l',
|
|
12
|
+
run: 'border-acc bg-acc',
|
|
13
|
+
none: 'border-bdr bg-card',
|
|
14
|
+
};
|
|
15
|
+
const ITEM_CLASS = 'relative grid grid-cols-[14px_minmax(0,1fr)_auto] gap-2.5 pb-3.5 before:absolute before:top-[14px] before:bottom-0 before:left-1.5 before:w-0.5 before:bg-bdr last:before:hidden';
|
|
16
|
+
function Node({ tone }) {
|
|
17
|
+
return (_jsx("i", { "aria-hidden": "true", className: `mt-0.5 block size-3.5 rounded-full border-2 ${NODE_CLASS[tone]}` }));
|
|
18
|
+
}
|
|
19
|
+
function Entry({ entry, now }) {
|
|
20
|
+
return (_jsxs("li", { className: ITEM_CLASS, children: [_jsx(Node, { tone: entry.tone }), _jsxs("div", { className: "min-w-0", children: [_jsx("b", { className: "text-body text-txt block leading-[1.6] font-semibold", children: entry.title }), entry.detail ? (_jsx("small", { className: "text-meta text-sub mt-px block break-words", children: entry.detail })) : null] }), entry.at ? (_jsx("time", { dateTime: entry.at, title: new Date(entry.at).toLocaleString(), className: "text-hint text-faint whitespace-nowrap", children: formatEventTime(entry.at, now) })) : (_jsx("span", {}))] }));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* jobs-drawer.jsx Activity: a timeline, newest first, of slices, yields,
|
|
24
|
+
* failures, retry waits and who queued the job. Older finished slices
|
|
25
|
+
* collapse into a row that opens them.
|
|
26
|
+
*/
|
|
27
|
+
export function DrawerActivity({ events, job, row, now }) {
|
|
28
|
+
/** Open folds, by the lasting id `foldIds` gives them. */
|
|
29
|
+
const [open, setOpen] = useState(() => new Set());
|
|
30
|
+
const folds = useRef({ entries: new Map(), next: 0 });
|
|
31
|
+
if (events.status !== 'ready') {
|
|
32
|
+
return (_jsx("p", { role: "status", className: "text-body text-sub m-0 px-4 py-10 text-center", children: events.status === 'error'
|
|
33
|
+
? `Couldn’t load the activity: ${events.error}.`
|
|
34
|
+
: 'Loading activity…' }));
|
|
35
|
+
}
|
|
36
|
+
const rows = timeline(events.events, job, row);
|
|
37
|
+
// The same fold keeps its id (so its React key, and whether it's open) as
|
|
38
|
+
// the events refresh. Assigning is idempotent, so a repeated render agrees.
|
|
39
|
+
const ids = foldIds(rows, folds.current, open);
|
|
40
|
+
let fold = 0;
|
|
41
|
+
return (_jsxs(_Fragment, { children: [_jsx("ol", { className: "m-0 flex list-none flex-col p-0", children: rows.map((item) => {
|
|
42
|
+
if (item.kind === 'entry')
|
|
43
|
+
return _jsx(Entry, { entry: item.entry, now: now }, item.entry.key);
|
|
44
|
+
const id = ids[fold++];
|
|
45
|
+
const expanded = open.has(id);
|
|
46
|
+
const count = item.entries.length;
|
|
47
|
+
return (_jsxs(Fragment, { children: [_jsxs("li", { className: ITEM_CLASS, children: [_jsx(Node, { tone: "none" }), _jsx("div", { className: "min-w-0", children: _jsxs("button", { type: "button", "aria-expanded": expanded, onClick: () => setOpen((prev) => {
|
|
48
|
+
const next = new Set(prev);
|
|
49
|
+
if (expanded)
|
|
50
|
+
next.delete(id);
|
|
51
|
+
else
|
|
52
|
+
next.add(id);
|
|
53
|
+
return next;
|
|
54
|
+
}), className: "text-body text-txt cursor-pointer border-0 bg-transparent p-0 text-left leading-[1.6] font-semibold", children: [count, " earlier slice", count === 1 ? '' : 's'] }) }), _jsx("span", { "aria-hidden": "true", className: "text-hint text-faint", children: "\u2026" })] }), expanded
|
|
55
|
+
? item.entries.map((entry) => _jsx(Entry, { entry: entry, now: now }, entry.key))
|
|
56
|
+
: null] }, id));
|
|
57
|
+
}) }), events.events.length >= EVENTS_SHOWN ? (_jsxs("p", { className: "text-meta text-faint m-0", children: ["Showing the newest ", EVENTS_SHOWN, " events."] })) : null] }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=DrawerActivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerActivity.js","sourceRoot":"","sources":["../../../src/views/Jobs/DrawerActivity.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { Job, JobWorkerStatus } from '@prenta/core';
|
|
3
|
+
import { type JobRow } from '../../lib/job-view.js';
|
|
4
|
+
/** `.jd-sec`: an 11px uppercase section label. */
|
|
5
|
+
export declare function DrawerSection({ children }: {
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
/** `.jd-ai`: an AI note ("What happened", "AI summary") on the accent tint. */
|
|
9
|
+
export declare function AiNote({ label, children }: {
|
|
10
|
+
label: string;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export interface DrawerOverviewProps {
|
|
14
|
+
row: JobRow;
|
|
15
|
+
job: Job;
|
|
16
|
+
/** The error to show: the full text with its stack when the detail has it. */
|
|
17
|
+
error: string | null;
|
|
18
|
+
now: number;
|
|
19
|
+
worker: JobWorkerStatus | null;
|
|
20
|
+
onCopyError: (text: string) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* jobs-drawer.jsx Overview: the status sentence, progress, the last error
|
|
24
|
+
* (with Copy), the AI "What happened" or summary, the facts grid and the
|
|
25
|
+
* instruction.
|
|
26
|
+
*/
|
|
27
|
+
export declare function DrawerOverview({ row, job, error, now, worker, onCopyError }: DrawerOverviewProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=DrawerOverview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerOverview.d.ts","sourceRoot":"","sources":["../../../src/views/Jobs/DrawerOverview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAyC,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAI1F,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAMlE;AAED,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAYjF;AAgBD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,GAAG,CAAA;IACR,8EAA8E;IAC9E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,mBAAmB,2CA4EhG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { operationLabel, overviewSentence, shownAttempts } from '../../lib/job-drawer.js';
|
|
4
|
+
import { formatCreated, jobType, scheduleLabel } from '../../lib/job-view.js';
|
|
5
|
+
import { Bar } from './atoms.js';
|
|
6
|
+
import { JobIcons } from './icons.js';
|
|
7
|
+
/** `.jd-sec`: an 11px uppercase section label. */
|
|
8
|
+
export function DrawerSection({ children }) {
|
|
9
|
+
return (_jsx("h3", { className: "text-micro text-faint m-0 leading-[normal] font-bold tracking-[.4px] uppercase", children: children }));
|
|
10
|
+
}
|
|
11
|
+
/** `.jd-ai`: an AI note ("What happened", "AI summary") on the accent tint. */
|
|
12
|
+
export function AiNote({ label, children }) {
|
|
13
|
+
return (_jsxs("div", { className: "rounded-10 bg-acc-l text-body text-txt flex gap-2.5 px-3.5 py-3 leading-[1.55]", children: [_jsx("span", { className: "text-acc mt-0.5 flex shrink-0", children: _jsx(JobIcons.spark, { size: 15 }) }), _jsxs("div", { className: "min-w-0", children: [_jsx("b", { className: "text-acc text-hint mb-0.5 block font-bold", children: label }), children] })] }));
|
|
14
|
+
}
|
|
15
|
+
function Fact({ label, children, wrap }) {
|
|
16
|
+
return (_jsxs("div", { className: "bg-card text-meta text-faint min-w-0 px-3 py-[9px]", children: [_jsx("dt", { children: label }), _jsx("dd", { className: `text-body text-txt m-0 mt-px font-semibold ${wrap ? '' : 'truncate'}`, title: wrap ? undefined : typeof children === 'string' ? children : undefined, children: children })] }));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* jobs-drawer.jsx Overview: the status sentence, progress, the last error
|
|
20
|
+
* (with Copy), the AI "What happened" or summary, the facts grid and the
|
|
21
|
+
* instruction.
|
|
22
|
+
*/
|
|
23
|
+
export function DrawerOverview({ row, job, error, now, worker, onCopyError }) {
|
|
24
|
+
const type = jobType(job.type);
|
|
25
|
+
const batch = job.type === 'batch-ai';
|
|
26
|
+
const payload = job.payload;
|
|
27
|
+
const instruction = typeof payload.instruction === 'string' ? payload.instruction.trim() : '';
|
|
28
|
+
const schedule = worker?.schedules.find((entry) => entry.type === job.type);
|
|
29
|
+
const tokens = job.usage.tokensIn + job.usage.tokensOut;
|
|
30
|
+
return (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-body text-txt m-0 leading-[1.55] text-pretty", children: overviewSentence(row, job, now) }), _jsx(Bar, { j: row }), error ? (_jsxs(_Fragment, { children: [_jsx(DrawerSection, { children: "Last error" }), _jsxs("div", { className: "relative", children: [_jsx("pre", { className: "bg-code-bg text-code-err rounded-10 text-hint m-0 py-3 pr-16 pl-3.5 font-mono leading-[1.6] break-words whitespace-pre-wrap", children: error }), _jsx("button", { type: "button", onClick: () => onCopyError(error), className: "border-code-btn-bdr bg-code-btn-bg text-code-btn-txt rounded-6 text-micro absolute top-2 right-2 cursor-pointer border px-2 py-[3px] font-mono leading-[1.6] font-semibold whitespace-nowrap", children: "Copy" })] })] })) : null, job.explain ? _jsx(AiNote, { label: "What happened", children: job.explain }) : null, job.summary ? _jsx(AiNote, { label: "AI summary", children: job.summary }) : null, _jsxs("dl", { className: "bg-bdr border-bdr rounded-10 m-0 grid grid-cols-2 gap-px overflow-hidden border max-[560px]:grid-cols-1", children: [_jsx(Fact, { label: "Type", children: _jsx("span", { className: "text-hint font-mono", children: job.type }) }), _jsx(Fact, { label: "Started by", children: row.by }), _jsx(Fact, { label: "Created", children: row.created }), _jsx(Fact, { label: "Last update", children: formatCreated(job.updatedAt, now) }), _jsxs(Fact, { label: "Attempts", children: [shownAttempts(row), " of ", row.maxAttempts] }), batch ? (_jsx(Fact, { label: "Operation", children: operationLabel(payload.operation) ?? '—' })) : (_jsx(Fact, { label: "Schedule", children: schedule ? scheduleLabel(schedule.cron) : type.when || '—' })), batch ? (_jsxs(_Fragment, { children: [_jsx(Fact, { label: "Approval", children: payload.review === 'review' ? 'Review each change' : 'Applied automatically' }), _jsx(Fact, { label: "When approved", children: payload.onApprove === 'publish' ? 'Publish' : 'Save as draft' })] })) : null, _jsx(Fact, { label: "AI usage", children: tokens ? `${tokens.toLocaleString()} tokens` : 'None' }), _jsx(Fact, { label: "Slice", wrap: true, children: type.slice || '—' })] }), instruction ? (_jsxs(_Fragment, { children: [_jsx(DrawerSection, { children: "Instruction" }), _jsxs("p", { className: "text-body text-sub m-0 leading-[1.55] text-pretty", children: ["\u201C", instruction, "\u201D"] })] })) : null] }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=DrawerOverview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerOverview.js","sourceRoot":"","sources":["../../../src/views/Jobs/DrawerOverview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAe,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,kDAAkD;AAClD,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAA2B;IACjE,OAAO,CACL,aAAI,SAAS,EAAC,gFAAgF,YAC3F,QAAQ,GACN,CACN,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAA0C;IAChF,OAAO,CACL,eAAK,SAAS,EAAC,gFAAgF,aAC7F,eAAM,SAAS,EAAC,+BAA+B,YAC7C,KAAC,QAAQ,CAAC,KAAK,IAAC,IAAI,EAAE,EAAE,GAAI,GACvB,EACP,eAAK,SAAS,EAAC,SAAS,aACtB,YAAG,SAAS,EAAC,2CAA2C,YAAE,KAAK,GAAK,EACnE,QAAQ,IACL,IACF,CACP,CAAA;AACH,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAA0D;IAC7F,OAAO,CACL,eAAK,SAAS,EAAC,oDAAoD,aACjE,uBAAK,KAAK,GAAM,EAChB,aACE,SAAS,EAAE,8CAA8C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,EACjF,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,YAE5E,QAAQ,GACN,IACD,CACP,CAAA;AACH,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAuB;IAC/F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,UAAU,CAAA;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,OAKnB,CAAA;IACD,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7F,MAAM,QAAQ,GAAG,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAA;IAEvD,OAAO,CACL,8BACE,YAAG,SAAS,EAAC,mDAAmD,YAC7D,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC9B,EACJ,KAAC,GAAG,IAAC,CAAC,EAAE,GAAG,GAAI,EACd,KAAK,CAAC,CAAC,CAAC,CACP,8BACE,KAAC,aAAa,6BAA2B,EACzC,eAAK,SAAS,EAAC,UAAU,aACvB,cAAK,SAAS,EAAC,6HAA6H,YACzI,KAAK,GACF,EACN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,SAAS,EAAC,8LAA8L,qBAGjM,IACL,IACL,CACJ,CAAC,CAAC,CAAC,IAAI,EACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,KAAK,EAAC,eAAe,YAAE,GAAG,CAAC,OAAO,GAAU,CAAC,CAAC,CAAC,IAAI,EACzE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,KAAK,EAAC,YAAY,YAAE,GAAG,CAAC,OAAO,GAAU,CAAC,CAAC,CAAC,IAAI,EACvE,cAAI,SAAS,EAAC,yGAAyG,aACrH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAChB,eAAM,SAAS,EAAC,qBAAqB,YAAE,GAAG,CAAC,IAAI,GAAQ,GAClD,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,YAAY,YAAE,GAAG,CAAC,EAAE,GAAQ,EACxC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,GAAG,CAAC,OAAO,GAAQ,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,aAAa,YAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAQ,EACpE,MAAC,IAAI,IAAC,KAAK,EAAC,UAAU,aACnB,aAAa,CAAC,GAAG,CAAC,UAAM,GAAG,CAAC,WAAW,IACnC,EACN,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,GAAQ,CAC1E,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,UAAU,YAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,GAAQ,CAC3F,EACA,KAAK,CAAC,CAAC,CAAC,CACP,8BACE,KAAC,IAAI,IAAC,KAAK,EAAC,UAAU,YACnB,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,GACxE,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,eAAe,YACxB,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,GACzD,IACN,CACJ,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,IAAI,IAAC,KAAK,EAAC,UAAU,YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,GAAQ,EACrF,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBACrB,IAAI,CAAC,KAAK,IAAI,GAAG,GACb,IACJ,EACJ,WAAW,CAAC,CAAC,CAAC,CACb,8BACE,KAAC,aAAa,8BAA4B,EAC1C,aAAG,SAAS,EAAC,mDAAmD,uBAAG,WAAW,cAAM,IACnF,CACJ,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ScanResults } from '@prenta/core';
|
|
3
|
+
/** `.jb-empty`. */
|
|
4
|
+
export declare function DrawerEmpty({ children }: {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export interface DrawerResultsProps {
|
|
8
|
+
type: string;
|
|
9
|
+
results: ScanResults | undefined;
|
|
10
|
+
/** `GET /jobs/:id` has answered; until then results may still be on their way. */
|
|
11
|
+
loaded: boolean;
|
|
12
|
+
error: string | null;
|
|
13
|
+
summary: string | null;
|
|
14
|
+
/** Documents the content health check scanned. */
|
|
15
|
+
scanned: number;
|
|
16
|
+
now: number;
|
|
17
|
+
onNavigate: (path: string) => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* jobs-drawer.jsx Results, for SEO scans and content health checks: three
|
|
21
|
+
* key numbers, the AI summary, the open issues by kind (each linking to the
|
|
22
|
+
* screen that fixes it) and whether the SEO digest went out.
|
|
23
|
+
*/
|
|
24
|
+
export declare function DrawerResults({ type, results, loaded, error, summary, scanned, now, onNavigate, }: DrawerResultsProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=DrawerResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerResults.d.ts","sourceRoot":"","sources":["../../../src/views/Jobs/DrawerResults.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAM/C,mBAAmB;AACnB,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAEhE;AAoBD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,GAAG,EACH,UAAU,GACX,EAAE,kBAAkB,2CA+FpB"}
|