@anthusai/papyrus 1.3.0 → 1.4.0-next.10
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/amplify/data/resource.js +134 -3
- package/amplify/data/resource.ts +145 -3
- package/amplify/data/schema.js +131 -0
- package/amplify/data/schema.ts +142 -0
- package/amplify/functions/category-action/handler.ts +272 -20
- package/amplify/functions/console-chat-responder/src/main.rs +1 -1
- package/amplify/functions/content-actions/handler.py +23 -0
- package/amplify/functions/content-actions/requirements.txt +1 -1
- package/amplify/functions/content-actions/resource.js +1 -1
- package/amplify/functions/content-actions/resource.ts +1 -1
- package/amplify/functions/model-attachment-upload/handler.ts +1 -0
- package/amplify/functions/renditions/requirements.txt +1 -1
- package/amplify/functions/shared/curation-delegation-flow.ts +147 -0
- package/amplify/functions/shared/curation-delegation.ts +115 -0
- package/amplify/functions/shared/python-bundle.js +3 -3
- package/amplify/functions/shared/python-bundle.ts +3 -3
- package/amplify/functions/shared/reference-curation-metadata.ts +51 -0
- package/amplify/functions/shared/slack-events.ts +2 -2
- package/amplify/publication/renditions-function.js +1 -1
- package/amplify/publication/renditions-function.ts +1 -1
- package/app/[year]/[month]/[day]/[articleSlug]/page.tsx +2 -1
- package/app/[year]/[month]/[day]/edition-route-page.tsx +2 -1
- package/app/[year]/[month]/[day]/page/[pageNumber]/page.tsx +2 -1
- package/app/[year]/[month]/[day]/page.tsx +3 -0
- package/app/[year]/[month]/[day]/section/[sectionKey]/page.tsx +2 -0
- package/app/api/archive/editions/route.ts +2 -0
- package/app/api/auth/prospectus/accounts/route.ts +9 -0
- package/app/api/local-preview/derive/route.ts +28 -0
- package/app/api/local-preview/media/route.ts +25 -0
- package/app/archive/page.tsx +3 -0
- package/app/globals.css +28 -28
- package/app/layout.tsx +8 -5
- package/app/newsroom/[section]/[...selection]/page.tsx +0 -1
- package/app/newsroom/[section]/page.tsx +8 -1
- package/app/newsroom/articles/page.tsx +10 -0
- package/app/newsroom/insights/[threadId]/page.tsx +5 -16
- package/app/newsroom/insights/page.tsx +4 -12
- package/app/newsroom/sections/[sectionId]/page.tsx +3 -0
- package/app/page.tsx +30 -1
- package/components/administration-delegations-panel.tsx +156 -0
- package/components/curation-delegation-client.ts +104 -0
- package/components/item-stream-view.tsx +63 -0
- package/components/markus-ir-preview.tsx +47 -2
- package/components/news-desk-client-provider.tsx +17 -2
- package/components/news-desk-page.tsx +0 -1
- package/components/news-desk-taxonomy-client.ts +154 -240
- package/components/newspaper.tsx +4 -4
- package/components/newsroom-article-editor.tsx +138 -40
- package/components/newsroom-assignment-detail.tsx +79 -0
- package/components/newsroom-assignments-view.tsx +1 -1
- package/components/newsroom-board-view.tsx +153 -43
- package/components/newsroom-client-shell.tsx +8 -1
- package/components/newsroom-newsprint-board.css +5 -46
- package/components/newsroom-ops-overview.tsx +27 -5
- package/components/newsroom-organizer-shell.tsx +36 -13
- package/components/newsroom-organizer.css +269 -13
- package/components/newsroom-references-view.tsx +118 -23
- package/components/newsroom-topics-view.tsx +1 -1
- package/components/priming-proof-page.tsx +17 -8
- package/components/prospectus-account-chooser.tsx +131 -0
- package/components/reference-cyclotron-priming.tsx +85 -0
- package/components/reference-cyclotron-status.tsx +5 -5
- package/components/reference-cyclotron-suggestion.tsx +143 -0
- package/components/reference-live-agreement.tsx +62 -0
- package/components/reference-section-suggestion.tsx +104 -0
- package/components/story-reporting-trail-client.ts +91 -0
- package/components/story-reporting-trail.tsx +115 -0
- package/components/topic-steering-workspace.tsx +280 -679
- package/components/ui/sheet.tsx +10 -4
- package/components/use-paged-content-item-versions.ts +151 -0
- package/components/wiki-concepts-view.tsx +153 -0
- package/components/wiki-index-client.ts +51 -0
- package/infra/amplify-app-shell.js +17 -3
- package/infra/amplify-app-shell.ts +18 -3
- package/infra/site-config.js +6 -1
- package/infra/site-config.ts +7 -1
- package/lib/approved-priming-proof-reports.ts +6 -3
- package/lib/approved-priming-proofs/papyrus.json +90 -0
- package/lib/article-flow.ts +95 -0
- package/lib/article-frame-solver.ts +519 -0
- package/lib/blog-feature-solver.ts +1 -109
- package/lib/category-repository.ts +1 -1
- package/lib/chrome-text.ts +504 -0
- package/lib/content-actions-client.ts +3 -0
- package/lib/content-actions-demo.ts +55 -0
- package/lib/content-item-lifecycle.ts +34 -5
- package/lib/content-source-context.ts +9 -1
- package/lib/curation-delegation-helpers.ts +69 -0
- package/lib/cyclotron-suggestions.ts +263 -0
- package/lib/front-matter-fields.ts +42 -0
- package/lib/front-mosaic.ts +1133 -0
- package/lib/furniture.ts +385 -0
- package/lib/graphql-content-repository.ts +42 -7
- package/lib/item-stream.ts +47 -0
- package/lib/labels.ts +37 -0
- package/lib/layout-config.ts +237 -0
- package/lib/layout-plan.ts +40 -11
- package/lib/layout-scenarios.ts +21 -11
- package/lib/layout-types.ts +457 -0
- package/lib/layout-warnings.ts +8 -0
- package/lib/local-preview-section-fixtures.ts +72 -0
- package/lib/local-preview-seed.ts +286 -0
- package/lib/local-preview-tenant.ts +27 -0
- package/lib/local-preview.ts +3 -0
- package/lib/newspaper-layout.ts +17 -3410
- package/lib/newsroom-articles.ts +2 -0
- package/lib/newsroom-assignments.ts +14 -1
- package/lib/newsroom-board.ts +99 -47
- package/lib/newsroom-demo-dashboard.ts +1 -1
- package/lib/newsroom-forum-routes.ts +2 -43
- package/lib/newsroom-index-filters.ts +3 -40
- package/lib/newsroom-media-backend.ts +5 -0
- package/lib/newsroom-nav.ts +1 -3
- package/lib/newsroom-organizer-nav.ts +9 -16
- package/lib/newsroom-section-routing.ts +1 -1
- package/lib/newsroom-sections.ts +12 -0
- package/lib/papyrus-web-locations.ts +3 -24
- package/lib/pretext-layout.ts +22 -0
- package/lib/priming-proof-report.ts +1 -0
- package/lib/prospectus-account-client.ts +90 -0
- package/lib/prospectus-sign-in-routes.ts +45 -0
- package/lib/prospectus-site-identity.ts +13 -1
- package/lib/prospectus-tenant.ts +22 -0
- package/lib/reader-static-params.ts +2 -1
- package/lib/relevance-decisions.ts +29 -0
- package/lib/relevance-status.ts +73 -0
- package/lib/reporting-story-budget.ts +2 -2
- package/lib/semantic-graph.ts +5 -5
- package/lib/site-brand.ts +28 -1
- package/lib/site-env.ts +5 -0
- package/lib/site-section-suggestions.ts +120 -0
- package/lib/site-stack.ts +1 -1
- package/lib/story-reporting-trail.ts +106 -0
- package/lib/tenant-keys.ts +32 -0
- package/lib/text-columns.ts +251 -0
- package/lib/wiki.ts +56 -0
- package/package.json +46 -3
- package/renderers/pretext/presentation-shell.tsx +1 -1
- package/renderers/pretext/rhythm-article-page.tsx +1 -18
- package/routes.manifest.json +34 -15
- package/app/newsroom/work/page.tsx +0 -10
|
@@ -15,15 +15,16 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
15
15
|
.organizer-brand small{display:block;font:400 10px Newsroom UI,system-ui;letter-spacing:.3em;text-transform:uppercase;margin-top:12px}
|
|
16
16
|
.organizer-destinations{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding-right:1px}
|
|
17
17
|
.organizer-destinations section+section{margin-top:24px}.organizer-destinations h3{font:600 10px Newsroom UI,system-ui;letter-spacing:.07em;text-transform:uppercase;color:var(--org-muted);margin:16px 0 8px}
|
|
18
|
-
.organizer-destinations a{display:flex;flex-direction:column;align-items:start;gap:6px;padding:14px 8px;border-bottom:1px solid var(--org-line);color:var(--org-
|
|
19
|
-
.organizer-destinations a strong{font:700 16px Newsroom Display,Georgia,serif}.organizer-destinations a small{font:400 11px/1.5 Newsroom UI,system-ui;white-space:normal;overflow-wrap:anywhere}
|
|
20
|
-
.organizer-destinations a[aria-current=page]{border-bottom:
|
|
18
|
+
.organizer-destinations a{display:flex;flex-direction:column;align-items:start;gap:6px;padding:14px 8px;border-bottom:1px solid var(--org-line);color:var(--org-ink);text-decoration:none;min-height:44px}
|
|
19
|
+
.organizer-destinations a strong{font:700 16px Newsroom Display,Georgia,serif}.organizer-destinations a small{font:400 11px/1.5 Newsroom UI,system-ui;white-space:normal;overflow-wrap:anywhere;color:var(--org-muted)}
|
|
20
|
+
.organizer-destinations a[aria-current=page]{border-bottom:3px double var(--org-ink);color:var(--org-ink);box-shadow:inset 3px 0 0 var(--org-ink)}
|
|
21
21
|
.newsroom-organizer :is(a,button):focus-visible,.organizer-menu :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:-3px}
|
|
22
22
|
.organizer-workspace{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;padding:0 16px}
|
|
23
|
-
.organizer-topbar{height:
|
|
23
|
+
.organizer-topbar{height:48px;min-height:48px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--org-ink)}
|
|
24
24
|
.organizer-masthead{font:900 28px Newsroom Display,Georgia,serif;white-space:nowrap;max-width:30vw;overflow:hidden;text-overflow:ellipsis}
|
|
25
25
|
.organizer-topbar h1{font:400 12px Newsroom UI,system-ui;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
|
|
26
|
-
.organizer-toggle{display:flex;align-items:center;
|
|
26
|
+
.organizer-toggle{display:flex;align-items:center;justify-content:center;width:36px;min-height:36px;padding:0;border:1px solid var(--org-line);flex-shrink:0}
|
|
27
|
+
.organizer-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.organizer-sidebar-head .organizer-brand{flex:1;min-width:0}
|
|
27
28
|
.organizer-header-actions{display:flex;align-items:center;gap:8px;min-width:0;max-width:45%;overflow-x:auto}
|
|
28
29
|
.organizer-main{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding:16px 0}
|
|
29
30
|
.organizer-main>[data-category-steering]{min-height:0}.organizer-demo-notice{font-size:11px;color:var(--org-muted);margin-bottom:12px}
|
|
@@ -35,21 +36,22 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
35
36
|
.organizer-account-popup [role=menuitem]{min-height:40px;font-size:12px}.organizer-account-popup .reader-auth{display:contents}.organizer-account-popup .reader-auth__error{display:block;white-space:normal;font-size:11px;padding:8px}
|
|
36
37
|
.organizer-bottom-nav{display:none}
|
|
37
38
|
.organizer-main:has(.organizer-native-board){display:flex;overflow:hidden}
|
|
38
|
-
.organizer-native-board{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:
|
|
39
|
-
.organizer-board-
|
|
40
|
-
.organizer-
|
|
41
|
-
.organizer-
|
|
42
|
-
.organizer-board-
|
|
43
|
-
.organizer-
|
|
39
|
+
.organizer-native-board{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:8px}
|
|
40
|
+
.organizer-board-view-toggle{display:flex;gap:4px;flex-shrink:0}
|
|
41
|
+
.organizer-header-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;border:1px solid var(--org-line);font:inherit;color:inherit;background:transparent;text-decoration:none;white-space:nowrap;cursor:pointer}
|
|
42
|
+
.organizer-header-button[aria-pressed=true]{background:transparent;color:var(--org-ink);font-weight:700;box-shadow:inset 0 -3px 0 var(--org-ink)}
|
|
43
|
+
.organizer-board-note{font-size:11px;line-height:1.5;margin:0;color:var(--org-muted);white-space:nowrap}
|
|
44
|
+
@media(min-width:901px){.newsroom-organizer[data-sidebar-collapsed=false] .organizer-masthead{display:none}}
|
|
44
45
|
.organizer-board-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-width:0;min-height:0;gap:16px}
|
|
45
|
-
.organizer-board-body[data-detail-open=true]{grid-template-columns:minmax(0,1fr)
|
|
46
|
+
.organizer-board-body[data-detail-open=true]{grid-template-columns:minmax(0,1fr) clamp(320px,34vw,1000px)}
|
|
46
47
|
.organizer-board-body>.kb-issue-collection{height:100%;min-height:0;overflow:auto}
|
|
47
48
|
.organizer-board-body>.kb-issue-detail{overflow:auto;min-height:0}
|
|
48
|
-
.organizer-board-body .kb-issue-detail a{display:block;min-height:44px;text-decoration:underline;padding:12px 0}
|
|
49
|
+
.organizer-board-body .kb-issue-detail a:not(.organizer-header-button){display:block;min-height:44px;text-decoration:underline;padding:12px 0}
|
|
49
50
|
.organizer-menu{height:min(85dvh,760px);max-height:85dvh;display:flex;flex-direction:column;padding:16px;border-radius:24px 24px 0 0;gap:20px}
|
|
50
51
|
.organizer-menu .organizer-destinations{overflow-y:auto}.organizer-menu .organizer-destinations section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.organizer-menu .organizer-destinations h3{grid-column:1/-1;font-size:12px;text-transform:none;margin:0 0 4px}
|
|
51
52
|
.organizer-menu .organizer-destinations a{border:1px solid var(--org-line);padding:12px;color:var(--org-ink)}
|
|
52
53
|
@media(max-width:900px){
|
|
54
|
+
.organizer-board-note{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
|
|
53
55
|
.newsroom-organizer,.newsroom-organizer[data-sidebar-collapsed=true]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
|
|
54
56
|
.organizer-sidebar,.organizer-toggle{display:none}.organizer-workspace{padding:0 16px}.organizer-topbar{gap:8px;height:55px;min-height:55px}
|
|
55
57
|
.organizer-masthead{font-size:24px;max-width:36vw}.organizer-topbar h1{font-size:10px}.organizer-account-header{display:flex}.organizer-header-actions{gap:4px;max-width:35%}
|
|
@@ -61,3 +63,257 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
61
63
|
.organizer-board-body>.kb-issue-detail{position:absolute;inset:0;z-index:2;overflow:auto}
|
|
62
64
|
}
|
|
63
65
|
@media(prefers-reduced-motion:reduce){.newsroom-organizer,.newsroom-organizer *,.organizer-menu,.organizer-menu *,.organizer-account-popup,.organizer-account-popup *{scroll-behavior:auto;animation:none!important;transition:none!important}}
|
|
66
|
+
.newsroom-organizer :is(button,input,select,textarea,[role=button],[role=tab],[role=combobox],[role=option],[role=menuitem],a[class]),.organizer-menu :is(button,a),.organizer-account-popup :is(button,a){border-radius:0 !important}
|
|
67
|
+
.newsroom-assignment-detail,.newsroom-embedded-article{container-type:inline-size;min-width:0}
|
|
68
|
+
.newsroom-assignment-detail{display:grid;gap:16px;padding:12px}
|
|
69
|
+
.newsroom-assignment-detail-title{margin:0;font-size:1.25rem;line-height:1.25;overflow-wrap:anywhere}
|
|
70
|
+
.newsroom-assignment-detail-facts{display:grid;gap:8px 16px;grid-template-columns:minmax(0,1fr);margin:0}
|
|
71
|
+
.newsroom-assignment-detail-facts>div{display:grid;grid-template-columns:minmax(80px,max-content) minmax(0,1fr);gap:8px;border-top:1px solid var(--org-line);padding-top:6px}
|
|
72
|
+
.newsroom-assignment-detail-facts dt{color:var(--org-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
|
|
73
|
+
.newsroom-assignment-detail-facts dd{margin:0;overflow-wrap:anywhere}
|
|
74
|
+
.newsroom-assignment-detail-prose{display:grid;gap:12px}
|
|
75
|
+
.newsroom-assignment-detail-prose h3{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--org-muted)}
|
|
76
|
+
.newsroom-assignment-detail-prose p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
|
|
77
|
+
@container (min-width:560px){.newsroom-assignment-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
|
78
|
+
@container (min-width:900px){.newsroom-assignment-detail{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;column-gap:32px}.newsroom-assignment-detail-title{grid-column:1/-1}.newsroom-assignment-detail-facts{grid-template-columns:minmax(0,1fr)}}
|
|
79
|
+
@container (min-width:1500px){.newsroom-assignment-detail-prose{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
|
80
|
+
.newsroom-embedded-article{padding:0 8px 12px}
|
|
81
|
+
.newsroom-embedded-article :is(textarea,input,select){max-width:100%}
|
|
82
|
+
.newsroom-embedded-article [class*="grid-cols-2"],.newsroom-embedded-article [class*="lg:grid"]{grid-template-columns:minmax(0,1fr) !important}
|
|
83
|
+
@container (min-width:1100px){.newsroom-embedded-article [class*="lg:grid"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
|
|
84
|
+
.newsroom-organizer [class*="rounded"]:not([data-slot=avatar]):not([class*="animate-spin"]):not([role=progressbar]),.organizer-menu,.organizer-account-popup,[data-slot=dialog-content],[data-slot=popover-content],[data-slot=dropdown-menu-content],[data-slot=select-content],[data-slot=tooltip-content]{border-radius:0 !important}
|
|
85
|
+
|
|
86
|
+
:root.light-theme .newsroom-organizer,:root.light-theme .organizer-menu,:root.light-theme .organizer-account-popup{--org-ink:var(--foreground-strong);--org-muted:var(--foreground)}
|
|
87
|
+
.newsroom-organizer [class~="bg-primary"],.newsroom-organizer [class~="bg-secondary"],.newsroom-organizer [data-slot=button][class*="bg-primary"]{background:transparent !important;color:var(--org-ink) !important;border:1px solid var(--org-ink) !important;font-weight:700}
|
|
88
|
+
.newsroom-organizer [class~="text-primary-foreground"],.newsroom-organizer [class~="text-secondary-foreground"]{color:var(--org-ink) !important}
|
|
89
|
+
.newsroom-organizer [data-selected=true],.newsroom-organizer [aria-current=true]{background:transparent !important;color:var(--org-ink) !important;box-shadow:inset 3px 0 0 var(--org-ink);font-weight:600}
|
|
90
|
+
.newsroom-organizer .news-desk-columns--administration{--administration-gap:16px;--administration-quiet:color-mix(in srgb,rgb(var(--ink-solid-rgb)) 64%,var(--org-paper));--administration-strong:rgb(var(--ink-solid-rgb));container-type:inline-size;font-family:Newsroom UI,system-ui,sans-serif;font-size:14px;line-height:1.5;max-width:1280px}
|
|
91
|
+
.news-desk-columns--administration :is(h2,h3,strong){font-family:Newsroom Display,Georgia,serif;color:var(--administration-strong)}
|
|
92
|
+
.news-desk-columns--administration .category-steering-section--lead>.category-steering-section__header{display:none}
|
|
93
|
+
.news-desk-columns--administration .news-desk-settings-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
|
|
94
|
+
.news-desk-columns--administration .news-desk-settings-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-right:0;padding-right:0}
|
|
95
|
+
.news-desk-columns--administration .news-desk-settings-nav a{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--org-line);background:transparent;color:inherit;text-decoration:none;min-height:44px;min-width:0}
|
|
96
|
+
.news-desk-columns--administration .news-desk-settings-nav a[data-active=true]{border-color:var(--administration-strong);box-shadow:inset 0 -2px 0 var(--administration-strong);background:transparent}
|
|
97
|
+
.news-desk-columns--administration .news-desk-settings-nav a strong{font-size:16px;font-weight:700;line-height:1.2}
|
|
98
|
+
.news-desk-columns--administration .news-desk-settings-nav a span{display:none;font:400 12px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
99
|
+
.news-desk-columns--administration .news-desk-settings-panel{display:grid;gap:24px;min-width:0}
|
|
100
|
+
.news-desk-columns--administration .category-steering-section__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--administration-strong)}
|
|
101
|
+
.news-desk-columns--administration .category-steering-section__header h2{margin:0;font-size:22px;font-weight:700;line-height:1.2}
|
|
102
|
+
.news-desk-columns--administration .category-steering-section__header span{font:400 12px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
103
|
+
.news-desk-columns--administration .story-label{margin:0;font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
104
|
+
.news-desk-columns--administration .news-desk-doctrine-list{display:grid;gap:24px;min-width:0;max-width:none;width:100%}
|
|
105
|
+
.news-desk-columns--administration .news-desk-doctrine-card{display:grid;gap:16px;min-width:0;padding:0;border:0}
|
|
106
|
+
.news-desk-columns--administration .news-desk-doctrine-card+.news-desk-doctrine-card{padding-top:24px;border-top:1px solid var(--org-line)}
|
|
107
|
+
.news-desk-columns--administration .news-desk-doctrine-card__header,.news-desk-columns--administration .news-desk-doctrine-card__footer,.news-desk-columns--administration .news-desk-doctrine-card__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
|
|
108
|
+
.news-desk-columns--administration .news-desk-doctrine-card__header>div{display:grid;gap:2px}
|
|
109
|
+
.news-desk-columns--administration .news-desk-doctrine-card h3{margin:0;font-size:20px;font-weight:700;line-height:1.2}
|
|
110
|
+
.news-desk-columns--administration .news-desk-doctrine-card__header>span,.news-desk-columns--administration .news-desk-doctrine-card__footer>span,.news-desk-columns--administration .news-desk-doctrine-card__actions>span{font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
111
|
+
.news-desk-columns--administration .news-desk-doctrine-card__footer{padding-top:0;border-top:0}
|
|
112
|
+
.news-desk-columns--administration .news-desk-doctrine-card__actions{justify-content:flex-end}
|
|
113
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field{display:grid;gap:6px;min-width:0}
|
|
114
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field>span{font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
115
|
+
.news-desk-columns--administration :is(.news-desk-doctrine-card__field,.news-desk-merge-panel) :is(input:not([type=checkbox]),select,textarea){width:100%;max-width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--org-line);background:transparent;color:var(--administration-strong);font:400 14px/1.5 Newsroom UI,system-ui,sans-serif;letter-spacing:0}
|
|
116
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field textarea{min-height:96px;max-height:360px;field-sizing:content;resize:vertical}
|
|
117
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field :is(input,select,textarea):focus-visible{outline:2px solid var(--administration-strong);outline-offset:-1px}
|
|
118
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field:has(input[type=checkbox]){grid-auto-flow:column;justify-content:start;align-items:center;gap:12px}
|
|
119
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--administration-strong)}
|
|
120
|
+
.news-desk-columns--administration details{border-top:1px solid var(--org-line);padding-top:12px}
|
|
121
|
+
.news-desk-columns--administration details[open]{display:grid;gap:16px}
|
|
122
|
+
.news-desk-columns--administration [data-news-desk-admin-panel]{display:grid;gap:24px;align-content:start}
|
|
123
|
+
.news-desk-columns--administration [data-news-desk-admin-panel]>.news-desk-doctrine-card{padding-top:24px;border-top:1px solid var(--org-line)}
|
|
124
|
+
.news-desk-columns--administration summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font:600 12px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
125
|
+
.news-desk-columns--administration details[open] summary{margin-bottom:0}
|
|
126
|
+
.news-desk-columns--administration :is(.news-desk-doctrine-card__actions button,.news-desk-user-row__actions button,.news-desk-primary-action-button,.news-desk-merge-panel button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:4px 12px;border:1px solid var(--org-line);background:transparent;color:var(--administration-strong);font:600 12px/1.2 Newsroom UI,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
|
|
127
|
+
.news-desk-columns--administration .news-desk-doctrine-card__actions button:last-child:not(:only-child),.news-desk-columns--administration .news-desk-doctrine-card__actions button:only-child,.news-desk-columns--administration .news-desk-primary-action-button,.news-desk-columns--administration [data-news-desk-merge-confirm]{background:transparent;border:2px solid var(--org-ink);color:var(--org-ink);font-weight:700}
|
|
128
|
+
.news-desk-columns--administration :is(.news-desk-doctrine-card__actions,.news-desk-user-row__actions) button:disabled,.news-desk-columns--administration .news-desk-primary-action-button:disabled{background:transparent;border-color:var(--org-line);color:var(--administration-quiet);opacity:.6;cursor:default}
|
|
129
|
+
.news-desk-columns--administration .news-desk-administration-category-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
|
|
130
|
+
.news-desk-columns--administration .news-desk-administration-category-list{display:grid;gap:0;min-width:0;max-height:min(46dvh,420px);overflow:auto;padding:0;border:1px solid var(--org-line)}
|
|
131
|
+
.news-desk-columns--administration .news-desk-administration-category-list>.story-label{padding:12px 12px 6px;border-top:1px solid var(--org-line)}
|
|
132
|
+
.news-desk-columns--administration .news-desk-administration-category-list>.story-label:first-child{border-top:0}
|
|
133
|
+
.news-desk-columns--administration .news-desk-administration-category-list>.news-desk-primary-action-button{margin:12px}
|
|
134
|
+
.news-desk-columns--administration .news-desk-administration-category-list>.category-steering-empty{padding:12px;border:0}
|
|
135
|
+
.news-desk-columns--administration .news-desk-administration-category-button{display:grid;gap:2px;width:100%;padding:10px 12px;border:0;border-left:3px solid transparent;border-top:1px solid var(--org-line);background:transparent;text-align:left;color:inherit;cursor:pointer;min-height:44px}
|
|
136
|
+
.news-desk-columns--administration .news-desk-administration-category-list>.story-label+.news-desk-administration-category-button{border-top:0}
|
|
137
|
+
.news-desk-columns--administration .news-desk-administration-category-button[data-selected=true]{border-left-color:var(--administration-strong);background:color-mix(in srgb,var(--administration-strong) 7%,transparent)}
|
|
138
|
+
.news-desk-columns--administration .news-desk-administration-category-button span{font:700 15px/1.25 Newsroom Display,Georgia,serif;color:var(--administration-strong)}
|
|
139
|
+
.news-desk-columns--administration .news-desk-administration-category-button small{font:400 12px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
140
|
+
.news-desk-columns--administration .news-desk-administration-category-doctrine{display:grid;gap:0;margin-top:16px;padding-top:24px;border-top:1px solid var(--org-line)}
|
|
141
|
+
.news-desk-columns--administration .news-desk-user-list{display:grid;gap:0;max-width:960px}
|
|
142
|
+
.news-desk-columns--administration .news-desk-user-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;padding:16px 0;border-top:1px solid var(--org-line)}
|
|
143
|
+
.news-desk-columns--administration .news-desk-user-row:first-child{padding-top:0;border-top:0}
|
|
144
|
+
.news-desk-columns--administration .news-desk-user-row>div:first-child{display:grid;gap:6px;min-width:0}
|
|
145
|
+
.news-desk-columns--administration .news-desk-user-row header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;justify-content:flex-start}
|
|
146
|
+
.news-desk-columns--administration .news-desk-user-row strong{font-size:18px;font-weight:700;line-height:1.2}
|
|
147
|
+
.news-desk-columns--administration .news-desk-user-row header span{font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
148
|
+
.news-desk-columns--administration .news-desk-user-row p{margin:0;font:400 13px/1.5 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--administration-quiet);overflow-wrap:anywhere}
|
|
149
|
+
.news-desk-columns--administration .news-desk-user-row__actions{display:flex;flex-wrap:wrap;gap:8px}
|
|
150
|
+
.news-desk-columns--administration .news-desk-chip-row{display:flex;flex-wrap:wrap;gap:6px}
|
|
151
|
+
.news-desk-columns--administration .news-desk-chip-row span{padding:2px 8px;border:1px solid var(--org-line);font:400 12px/1.5 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--administration-quiet);overflow-wrap:anywhere}
|
|
152
|
+
.news-desk-columns--administration .news-desk-merge-panel{display:grid;gap:16px;margin-top:24px;padding:16px;border:1px solid var(--org-line)}
|
|
153
|
+
.news-desk-columns--administration .category-steering-alert{padding:10px 12px;border:1px solid var(--org-line);border-left:3px solid var(--administration-strong);font-size:13px;line-height:1.5;color:var(--administration-strong)}
|
|
154
|
+
.news-desk-columns--administration .category-steering-empty{padding:16px;border:1px dashed var(--org-line);font:400 14px/1.5 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
155
|
+
@container (min-width:600px){
|
|
156
|
+
.news-desk-columns--administration .news-desk-settings-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
|
|
157
|
+
.news-desk-columns--administration .news-desk-settings-nav a span{display:block}
|
|
158
|
+
.news-desk-columns--administration .news-desk-user-row{grid-template-columns:minmax(0,1fr) auto}
|
|
159
|
+
.news-desk-columns--administration .news-desk-user-row__actions{justify-content:flex-end;max-width:260px}
|
|
160
|
+
}
|
|
161
|
+
@container (min-width:900px){
|
|
162
|
+
.news-desk-columns--administration .news-desk-settings-shell{grid-template-columns:240px minmax(0,1fr);gap:32px}
|
|
163
|
+
.news-desk-columns--administration .news-desk-settings-nav{grid-template-columns:minmax(0,1fr);gap:0;position:sticky;top:0}
|
|
164
|
+
.news-desk-columns--administration .news-desk-settings-nav a{border-width:0 0 1px;padding:12px 8px}
|
|
165
|
+
.news-desk-columns--administration .news-desk-settings-nav a[data-active=true]{box-shadow:inset 3px 0 0 var(--administration-strong);border-bottom-color:var(--org-line)}
|
|
166
|
+
.news-desk-columns--administration .news-desk-administration-category-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
|
|
167
|
+
.news-desk-columns--administration .news-desk-administration-category-list{max-height:none}
|
|
168
|
+
}
|
|
169
|
+
.newsroom-assignment-detail-desk{display:grid;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--org-muted)}
|
|
170
|
+
.newsroom-assignment-detail-error{margin:0;text-transform:none;letter-spacing:0;color:var(--org-ink);font-weight:700}
|
|
171
|
+
[data-slot=select-content],[data-slot=select-item],[data-slot=dropdown-menu-item],[data-slot=dropdown-menu-content],[role=option],[role=menuitem],[role=listbox],[role=menu]{border-radius:0 !important}
|
|
172
|
+
.newsroom-desk-group-heading{margin:16px 0 8px;font:700 12px Newsroom Display,Georgia,serif;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--org-ink);padding-bottom:4px}
|
|
173
|
+
.newsroom-desk-group-heading small{font:400 11px Newsroom UI,system-ui;text-transform:none;letter-spacing:0;color:var(--org-muted);margin-left:8px}
|
|
174
|
+
.newsroom-desk-legacy-value{display:block;font-size:11px;color:var(--org-muted);overflow-wrap:anywhere}
|
|
175
|
+
.newsroom-article-view-toggle{display:inline-flex}
|
|
176
|
+
.newsroom-article-front-matter>summary{cursor:pointer;font-size:14px;font-weight:600;padding:6px 0;list-style-position:inside}
|
|
177
|
+
.newsroom-article-front-matter[open]>summary{margin-bottom:6px}
|
|
178
|
+
.story-trail{container-type:inline-size;display:grid;gap:20px}
|
|
179
|
+
.story-trail-section h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--org-ink);padding-bottom:4px}
|
|
180
|
+
.story-trail-section h3 small{font-weight:400;color:var(--org-muted);margin-left:6px}
|
|
181
|
+
.story-trail-list,.story-trail-events{list-style:none;margin:0;padding:0;display:grid;gap:12px}
|
|
182
|
+
.story-trail-list>li{border-bottom:1px solid var(--org-line);padding-bottom:12px;display:grid;gap:4px}
|
|
183
|
+
.story-trail-list>li:last-child{border-bottom:0}
|
|
184
|
+
.story-trail-events{gap:2px;padding-left:12px;border-left:2px solid var(--org-line);font-size:13px}
|
|
185
|
+
.story-trail-row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
|
|
186
|
+
.story-trail-meta,.story-trail-empty{font-size:12px;color:var(--org-muted);margin:0}
|
|
187
|
+
.story-trail-chip{font-size:11px;border:1px solid var(--org-ink);padding:0 6px;text-transform:uppercase;letter-spacing:.04em}
|
|
188
|
+
.story-trail-message pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;max-height:320px;overflow:auto}
|
|
189
|
+
.story-trail-message summary{cursor:pointer;font-size:13px}
|
|
190
|
+
@container (min-width:900px){.story-trail{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;align-items:start}}
|
|
191
|
+
.newsroom-article-older-version{margin:0 0 12px;padding:8px 12px;border:1px solid var(--org-ink);border-left-width:5px;font-weight:600}
|
|
192
|
+
.newsroom-article-link-button{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer;color:inherit}
|
|
193
|
+
.story-trail-list>li[data-story-reference-focused]{border-left:3px solid var(--org-ink);padding-left:10px}
|
|
194
|
+
.story-trail-list>li[data-story-trail-feed-reference]{border-left:1px solid var(--org-line);padding-left:10px}
|
|
195
|
+
.wiki{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:24px;align-items:start}
|
|
196
|
+
.wiki-sidebar{display:grid;gap:8px;position:sticky;top:0;max-height:100vh;overflow:auto;border-right:1px solid var(--org-line);padding-right:16px}
|
|
197
|
+
.wiki-home{text-align:left;background:none;border:0;border-bottom:1px solid var(--org-ink);padding:4px 0;font:inherit;font-weight:600;cursor:pointer;color:var(--org-ink)}
|
|
198
|
+
.wiki-home[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
|
|
199
|
+
.wiki-search,.wiki-kind{font:inherit;border:1px solid var(--org-ink);border-radius:0;padding:4px 8px;background:transparent;color:var(--org-ink)}
|
|
200
|
+
.wiki-sidebar-list,.wiki-concept-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
|
|
201
|
+
.wiki-sidebar-list a{color:var(--org-ink);text-decoration:none}
|
|
202
|
+
.wiki-sidebar-list a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:4px}
|
|
203
|
+
.wiki-main{min-width:0;max-width:820px}
|
|
204
|
+
.wiki-page h1{margin:0 0 6px}
|
|
205
|
+
.wiki-page h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--org-ink);padding-bottom:4px;margin:24px 0 8px}
|
|
206
|
+
.wiki-page h3{font-size:13px;margin:12px 0 4px}
|
|
207
|
+
.wiki-page-tools{display:flex;justify-content:flex-end;margin-bottom:8px}
|
|
208
|
+
.wiki-tool-link{background:none;border:0;padding:0;font:inherit;color:var(--org-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
|
|
209
|
+
.wiki-link,.wiki-concept-list a{color:var(--org-ink);text-decoration:underline;text-underline-offset:3px}
|
|
210
|
+
.wiki-concept-list li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
|
|
211
|
+
.wiki-chip{font-size:11px;border:1px solid var(--org-ink);padding:0 6px;text-transform:uppercase;letter-spacing:.04em}
|
|
212
|
+
.wiki-meta,.wiki-empty{font-size:12px;color:var(--org-muted);margin:0}
|
|
213
|
+
@media (max-width:760px){.wiki{grid-template-columns:minmax(0,1fr)}.wiki-sidebar{position:static;max-height:240px;border-right:0;padding-right:0}}
|
|
214
|
+
.organizer-board-body .kb-issue-detail [data-markus-preview] a,.organizer-board-body .kb-issue-detail .wiki-link{display:inline;min-height:0;padding:0}
|
|
215
|
+
.newsroom-article-front-matter-fields{display:grid;gap:10px;max-width:640px}
|
|
216
|
+
.newsroom-article-front-matter-fields label{display:grid;gap:4px;font-size:13px;font-weight:600}
|
|
217
|
+
.newsroom-article-summary{border-bottom:1px solid var(--org-line);margin-bottom:12px;padding-bottom:10px}
|
|
218
|
+
.newsroom-article-subtitle{margin:0 0 4px;font-size:18px;font-weight:600;line-height:1.3}
|
|
219
|
+
.newsroom-article-blurb{margin:0;font-size:14px;line-height:1.45}
|
|
220
|
+
.organizer-search{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--org-ink);padding:2px 0;min-width:140px;max-width:240px}
|
|
221
|
+
.organizer-search input{font:inherit;font-size:13px;border:0;background:transparent;color:var(--org-ink);outline:0;width:100%;padding:2px 0}
|
|
222
|
+
.organizer-search input:focus-visible{text-decoration:underline;text-underline-offset:4px}
|
|
223
|
+
@media (max-width:900px){.organizer-search{min-width:0;max-width:120px}}
|
|
224
|
+
.taxonomy-view-switch{display:flex;gap:20px;border-bottom:1px solid var(--org-line);margin-bottom:12px}
|
|
225
|
+
.taxonomy-view-switch a{color:var(--org-ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
|
|
226
|
+
.taxonomy-view-switch a[aria-current="page"]{font-weight:700;border-bottom-color:var(--org-ink)}
|
|
227
|
+
.news-desk-settings-shell[data-settings-nav="hidden"]{display:block}
|
|
228
|
+
.news-desk-columns--taxonomy{display:block;margin:0;--administration-quiet:var(--org-muted);--administration-strong:var(--org-ink)}
|
|
229
|
+
.news-desk-columns--taxonomy .category-steering-section--lead>.category-steering-section__header{display:flex}
|
|
230
|
+
.news-desk-columns--taxonomy .news-desk-main-column{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:0 40px;align-items:start;grid-column:auto;container-type:inline-size}
|
|
231
|
+
.news-desk-columns--taxonomy .news-desk-desk-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
|
|
232
|
+
.news-desk-columns--taxonomy .news-desk-desk-card{border-top:0;border-bottom:1px solid var(--org-line);border-left:3px solid transparent;padding:12px 0 12px 12px;gap:2px;background:none}
|
|
233
|
+
.news-desk-columns--taxonomy .news-desk-desk-card[data-selected="true"]{border-left-color:var(--org-ink);background:none;padding:12px 0 12px 12px}
|
|
234
|
+
.news-desk-columns--taxonomy .news-desk-desk-card[data-selected="true"] strong{text-decoration:underline;text-underline-offset:4px}
|
|
235
|
+
.news-desk-columns--taxonomy .news-desk-desk-card>span{font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;color:var(--org-muted)}
|
|
236
|
+
.news-desk-columns--taxonomy .news-desk-desk-card strong{font:700 18px/1.2 Newsroom Display,Georgia,serif;color:var(--org-ink)}
|
|
237
|
+
.news-desk-columns--taxonomy .news-desk-desk-card p{font:400 13px/1.4 Newsroom UI,system-ui,sans-serif;color:var(--org-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
|
|
238
|
+
.news-desk-columns--taxonomy .news-desk-desk-card small{font:400 12px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--org-muted)}
|
|
239
|
+
.news-desk-columns--taxonomy .news-desk-desk-detail{margin:0;display:grid;gap:24px;min-width:0}
|
|
240
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header{display:grid;gap:12px;border-bottom:3px double var(--org-ink);padding-bottom:16px}
|
|
241
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header h3{margin:0;font:700 30px/1.15 Newsroom Display,Georgia,serif}
|
|
242
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header>div>span{font:400 13px/1.4 Newsroom UI,system-ui,sans-serif;color:var(--org-muted)}
|
|
243
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dl{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0}
|
|
244
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dl>div{display:flex;flex-direction:column-reverse;gap:2px}
|
|
245
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dt{font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--org-muted)}
|
|
246
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dd{margin:0;font:700 22px/1.1 Newsroom Display,Georgia,serif}
|
|
247
|
+
.news-desk-columns--taxonomy .news-desk-desk-detail__grid{grid-template-columns:minmax(0,1fr);gap:32px}
|
|
248
|
+
@container (min-width:900px){.news-desk-columns--taxonomy .news-desk-desk-detail__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
|
|
249
|
+
.news-desk-columns--taxonomy .category-steering-category-card{display:grid;gap:14px;border:0;padding:0;background:none}
|
|
250
|
+
.news-desk-columns--taxonomy .category-steering-category-card>header,.news-desk-columns--taxonomy .category-steering-category-card>footer{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 12px}
|
|
251
|
+
.news-desk-columns--taxonomy .category-steering-category-card label{display:grid;gap:6px}
|
|
252
|
+
.news-desk-columns--taxonomy .category-steering-category-card label>span{font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--org-muted)}
|
|
253
|
+
.news-desk-columns--taxonomy .category-steering-category-card :is(input,textarea){width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--org-line);border-radius:0;background:transparent;color:var(--org-ink);font:400 14px/1.5 Newsroom UI,system-ui,sans-serif}
|
|
254
|
+
.news-desk-columns--taxonomy .news-desk-desk-subtopics{border-top:1px solid var(--org-line);padding-top:16px}
|
|
255
|
+
.news-desk-columns--taxonomy .news-desk-chip-row{display:flex;flex-wrap:wrap;gap:8px}
|
|
256
|
+
.news-desk-columns--taxonomy .news-desk-chip-row span{border:1px solid var(--org-ink);padding:2px 8px;font:400 13px/1.4 Newsroom UI,system-ui,sans-serif;border-radius:0}
|
|
257
|
+
.news-desk-columns--taxonomy .news-desk-rail-column{grid-column:auto;padding:0;margin-top:32px;border-top:1px solid var(--org-ink);padding-top:16px}
|
|
258
|
+
.news-desk-columns--taxonomy .news-desk-ledger-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
|
|
259
|
+
.news-desk-columns--taxonomy .news-desk-ledger-item{display:grid;gap:4px;border:0;padding:0}
|
|
260
|
+
.news-desk-columns--taxonomy .news-desk-ledger-item header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px}
|
|
261
|
+
.news-desk-columns--taxonomy .news-desk-ledger-item p{margin:0;font:400 13px/1.45 Newsroom UI,system-ui,sans-serif}
|
|
262
|
+
@media (max-width:900px){.news-desk-columns--taxonomy .news-desk-main-column{grid-template-columns:minmax(0,1fr);gap:24px}}
|
|
263
|
+
.news-desk-columns--taxonomy :is(.category-steering-category-card>header span,.category-steering-category-card>footer span,.news-desk-desk-detail__grid span,.category-steering-subcategory-list__label,.news-desk-ledger-item header span){color:var(--org-ink);opacity:1;font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
|
|
264
|
+
.news-desk-columns--taxonomy .category-steering-category-card>header strong{font:700 12px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--org-ink)}
|
|
265
|
+
.news-desk-columns--taxonomy .category-steering-category-card button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:4px 12px;border:2px solid var(--org-ink);border-radius:0;background:transparent;color:var(--org-ink);font:700 12px/1.2 Newsroom UI,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
|
|
266
|
+
.news-desk-columns--taxonomy .category-steering-category-card button:disabled{border-color:var(--org-line);opacity:.6;cursor:default}
|
|
267
|
+
.news-desk-columns--taxonomy .news-desk-rail-column .category-steering-section__header{border-bottom:0;padding-bottom:4px}
|
|
268
|
+
.organizer-account-chooser{padding:8px 12px;border-bottom:1px solid var(--org-line);display:grid;gap:6px}
|
|
269
|
+
.organizer-account-chooser ul{list-style:none;margin:0;padding:0;display:grid}
|
|
270
|
+
.organizer-account-chooser li button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:0;border-left:3px solid transparent;padding:6px 8px;font:inherit;color:var(--org-ink);cursor:pointer}
|
|
271
|
+
.organizer-account-chooser li button[data-selected]{border-left-color:var(--org-ink);font-weight:700}
|
|
272
|
+
.organizer-account-chooser li button:disabled{opacity:.6;cursor:default}
|
|
273
|
+
.organizer-account-chooser li button span{display:grid;gap:1px}
|
|
274
|
+
.organizer-account-chooser li button small,.organizer-account-chooser-note{font-size:12px;color:var(--org-ink);margin:0}
|
|
275
|
+
.organizer-account-chooser-heading{margin:0;font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
|
|
276
|
+
.organizer-account-chooser-link{color:var(--org-ink);text-decoration:underline;text-underline-offset:3px}
|
|
277
|
+
.organizer-account-create-start,.organizer-account-create button{background:none;border:1px solid var(--org-ink);border-radius:0;color:var(--org-ink);font:600 12px/1.4 Newsroom UI,system-ui,sans-serif;padding:4px 10px;cursor:pointer;text-underline-offset:3px}
|
|
278
|
+
.organizer-account-create-start:hover,.organizer-account-create button:hover{text-decoration:underline}
|
|
279
|
+
.organizer-account-create-start:focus-visible,.organizer-account-create button:focus-visible,.organizer-account-create input:focus-visible{outline:2px solid var(--org-ink);outline-offset:1px}
|
|
280
|
+
.organizer-account-create button:disabled{cursor:default;text-decoration:line-through}
|
|
281
|
+
.organizer-account-create{display:grid;gap:6px}
|
|
282
|
+
.organizer-account-create label{display:grid;gap:2px;font:600 11px/1.4 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
|
|
283
|
+
.organizer-account-create input{background:transparent;border:0;border-bottom:2px solid var(--org-ink);border-radius:0;color:var(--org-ink);font:400 14px/1.4 Newsroom UI,system-ui,sans-serif;padding:4px 0;text-transform:none;letter-spacing:0}
|
|
284
|
+
.organizer-account-create span{display:flex;gap:8px}
|
|
285
|
+
[data-reference-cyclotron-status] .cyclotron-status[data-variant]{border-radius:0;background:transparent;border-top:1px solid var(--org-ink);border-bottom:1px solid var(--org-ink);padding-left:0;padding-right:0}
|
|
286
|
+
[data-reference-cyclotron-status] :is(.cyclotron-status-note,.cyclotron-status-definition,.cyclotron-status-header p,.cyclotron-status-override){color:var(--org-ink)}
|
|
287
|
+
[data-reference-cyclotron-status] .cyclotron-status[data-variant="strip"]>span+span::before{color:var(--org-ink)}
|
|
288
|
+
[data-reference-cyclotron-status] .cyclotron-status-bar{border-radius:0;background:transparent;border:1px solid var(--org-ink)}
|
|
289
|
+
[data-reference-cyclotron-status] .cyclotron-status-bar>span{opacity:1}
|
|
290
|
+
[data-reference-cyclotron-status] :is(.cyclotron-review-secondary,.cyclotron-review-choice,.cyclotron-review-submit){border-radius:0;opacity:1}
|
|
291
|
+
.news-desk-columns--administration .news-desk-delegation-note{margin:0;color:var(--administration-strong);max-width:68ch}
|
|
292
|
+
.news-desk-columns--administration .news-desk-delegation-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:end}
|
|
293
|
+
.news-desk-columns--administration .news-desk-delegation-error{margin:0;padding:8px 0 8px 12px;border-left:3px solid var(--org-ink);color:var(--administration-strong);font-weight:600}
|
|
294
|
+
.news-desk-columns--administration .news-desk-delegation-token{display:grid;gap:12px;min-width:0;padding:16px;border:2px solid var(--org-ink)}
|
|
295
|
+
.news-desk-columns--administration .news-desk-delegation-token h3{margin:0;font-size:20px}
|
|
296
|
+
.news-desk-columns--administration .news-desk-delegation-token p{margin:0}
|
|
297
|
+
.news-desk-columns--administration .news-desk-delegation-token__row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
|
|
298
|
+
.news-desk-columns--administration .news-desk-delegation-token__row code{flex:1 1 280px;min-width:0;padding:8px 10px;border:1px solid var(--org-line);font:500 13px/1.5 ui-monospace,Menlo,monospace;overflow-wrap:anywhere;color:var(--administration-strong)}
|
|
299
|
+
.news-desk-columns--administration .news-desk-delegation-token__row button,.news-desk-columns--administration .news-desk-delegation-list button{min-height:36px;padding:4px 12px;border:1px solid var(--org-line);background:transparent;color:var(--administration-strong);font:600 12px/1.2 Newsroom UI,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
|
|
300
|
+
.news-desk-columns--administration .news-desk-delegation-list{list-style:none;margin:0;padding:0;display:grid}
|
|
301
|
+
.news-desk-columns--administration .news-desk-delegation-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--org-line)}
|
|
302
|
+
.news-desk-columns--administration .news-desk-delegation-list li>div{display:grid;gap:2px}
|
|
303
|
+
.news-desk-columns--administration .news-desk-delegation-list li[data-delegation-live=true] .news-desk-delegation-state{font-weight:700;text-decoration:underline;text-underline-offset:4px}
|
|
304
|
+
.news-desk-columns--administration .news-desk-delegation-state{font:600 12px/1.4 Newsroom UI,system-ui,sans-serif;color:var(--administration-strong)}
|
|
305
|
+
.news-desk-columns--administration .news-desk-delegation-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
|
|
306
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list{list-style:none;margin:0;padding:0;display:grid}
|
|
307
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 24px;align-items:center;padding:16px 0 16px 12px;border-top:1px solid var(--org-line);border-left:3px solid var(--org-ink)}
|
|
308
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div{display:grid;gap:2px}
|
|
309
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>strong{font:700 18px/1.2 Newsroom Display,Georgia,serif}
|
|
310
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>span{font:400 13px/1.4 Newsroom UI,system-ui,sans-serif}
|
|
311
|
+
.news-desk-columns--administration .news-desk-delegation-countdown{font-weight:600!important;font-variant-numeric:tabular-nums}
|
|
312
|
+
.news-desk-columns--administration .news-desk-delegation-code{font:700 34px/1.1 ui-monospace,Menlo,monospace;letter-spacing:.14em;color:var(--org-ink);padding:6px 0;border-top:2px solid var(--org-ink);border-bottom:2px solid var(--org-ink)}
|
|
313
|
+
.news-desk-columns--administration .news-desk-delegation-decision{display:flex;gap:8px}
|
|
314
|
+
.news-desk-columns--administration .news-desk-delegation-decision button{min-height:40px;padding:4px 18px;border:1px solid var(--org-ink);border-radius:0;background:transparent;color:var(--org-ink);font:700 12px/1.2 Newsroom UI,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
|
|
315
|
+
.news-desk-columns--administration .news-desk-delegation-decision button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
|
|
316
|
+
.news-desk-columns--administration .news-desk-delegation-decision button:disabled{cursor:default;text-decoration:line-through}
|
|
317
|
+
.news-desk-columns--administration .news-desk-delegation-decision button:focus-visible{outline:2px solid var(--org-ink);outline-offset:2px}
|
|
318
|
+
@container (max-width:640px){.news-desk-columns--administration .news-desk-delegation-pending-list li{grid-template-columns:minmax(0,1fr)}.news-desk-columns--administration .news-desk-delegation-code{font-size:28px}}
|
|
319
|
+
@container (max-width:640px){.news-desk-columns--administration .news-desk-delegation-form{grid-template-columns:minmax(0,1fr)}.news-desk-columns--administration .news-desk-delegation-list li{grid-template-columns:minmax(0,1fr)}}
|
|
@@ -49,7 +49,23 @@ import { normalizeReferenceCurationStatus } from "../lib/reference-policy";
|
|
|
49
49
|
import { newsroomListRowClassName } from "../lib/newsroom-list-selection";
|
|
50
50
|
import { ReferenceSourcePreview } from "./reference-source-preview";
|
|
51
51
|
import { ReferenceRelevanceReview } from "./reference-relevance-review";
|
|
52
|
+
import {
|
|
53
|
+
CountsAsTrainingLabelNote,
|
|
54
|
+
DelegatedCurationNote,
|
|
55
|
+
ReferenceSuggestionBlock,
|
|
56
|
+
ReferenceSuggestionProvenance,
|
|
57
|
+
ReferenceSuggestionRowLine,
|
|
58
|
+
} from "./reference-cyclotron-suggestion";
|
|
59
|
+
import { ReferenceLiveAgreement } from "./reference-live-agreement";
|
|
60
|
+
import { SectionPicker, SectionSuggestionBlock, type SectionChoice } from "./reference-section-suggestion";
|
|
61
|
+
import type { SectionSuggestion, SiteSectionAgreement } from "../lib/site-section-suggestions";
|
|
62
|
+
|
|
63
|
+
/** What an editor adds to an accept: the Section the reference belongs in, which becomes a training label. */
|
|
64
|
+
export type ReferenceReviewOptions = { sectionId?: string | null };
|
|
65
|
+
import type { DelegatedCuration, ShadowAgreement } from "../lib/cyclotron-suggestions";
|
|
66
|
+
import { ReferenceCyclotronPriming, type PrimingFormInput } from "./reference-cyclotron-priming";
|
|
52
67
|
import { ReferenceCyclotronStatus, type ReviewRateChoice } from "./reference-cyclotron-status";
|
|
68
|
+
import type { PrimingRequestView } from "../lib/relevance-status";
|
|
53
69
|
import type { CyclotronStatus } from "cyclotron/cyclotron-status";
|
|
54
70
|
import type { RelevanceCuration, RelevanceDecisionView } from "../lib/relevance-decisions";
|
|
55
71
|
import {
|
|
@@ -62,15 +78,33 @@ type NewsroomReferencesViewProps = {
|
|
|
62
78
|
priming?: PrimingPanelProps;
|
|
63
79
|
/** The relevance cyclotron's status snapshot, shown above the list. */
|
|
64
80
|
cyclotronStatus?: CyclotronStatus | null;
|
|
81
|
+
/** Present for editors who may prime the running relevance cyclotron with a pasted URL. */
|
|
82
|
+
cyclotronPriming?: {
|
|
83
|
+
labels: readonly string[];
|
|
84
|
+
requests: PrimingRequestView[];
|
|
85
|
+
onRequest: (input: PrimingFormInput) => Promise<void> | void;
|
|
86
|
+
};
|
|
65
87
|
/** Present for editors who may ask for a manual review rate. */
|
|
66
88
|
onRequestReviewRate?: (choice: ReviewRateChoice) => Promise<void> | void;
|
|
67
89
|
demo?: boolean;
|
|
68
90
|
/** The relevance cyclotron's current decisions, keyed by reference lineage. */
|
|
69
91
|
decisions?: Map<string, RelevanceDecisionView>;
|
|
92
|
+
/** Reference lineage ids whose latest curation Message was made by a person. */
|
|
93
|
+
humanCuratedReferenceLineageIds?: Set<string>;
|
|
94
|
+
/** Delegated curations by reference lineage. */
|
|
95
|
+
delegatedCurations?: Map<string, DelegatedCuration>;
|
|
96
|
+
/** The live-agreement payload; the strip is hidden without it. */
|
|
97
|
+
shadowAgreement?: ShadowAgreement | null;
|
|
70
98
|
disabled?: boolean;
|
|
99
|
+
/** The enabled newsroom Sections an accepted reference can be placed in. */
|
|
100
|
+
sections?: SectionChoice[];
|
|
101
|
+
/** The site cyclotron's suggested Section per reference lineage. Advisory. */
|
|
102
|
+
sectionSuggestions?: Map<string, SectionSuggestion>;
|
|
103
|
+
/** How often the Section suggestions matched later editor decisions. */
|
|
104
|
+
sectionAgreement?: SiteSectionAgreement | null;
|
|
71
105
|
onRelevanceReview?: (reference: ReferenceRecord, curation: RelevanceCuration) => void;
|
|
72
106
|
initialReferenceLineageId?: string | null;
|
|
73
|
-
onReview: (reference: ReferenceRecord, action: ReferenceCurationAction) => void;
|
|
107
|
+
onReview: (reference: ReferenceRecord, action: ReferenceCurationAction, options?: ReferenceReviewOptions) => void;
|
|
74
108
|
referenceAttachments?: ReferenceAttachmentRecord[];
|
|
75
109
|
references: ReferenceRecord[];
|
|
76
110
|
};
|
|
@@ -204,17 +238,14 @@ function useReferencePreviewAttachments(
|
|
|
204
238
|
return previewAttachments;
|
|
205
239
|
}
|
|
206
240
|
|
|
207
|
-
function decisionSummary(decision: RelevanceDecisionView): string {
|
|
208
|
-
const sure = decision.confidence == null ? "confidence unknown" : `${Math.round(decision.confidence * 100)}% sure`;
|
|
209
|
-
return `${decision.label} · ${sure}${decision.version != null ? ` · version ${decision.version}` : ""}`;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
241
|
function needsReview(reference: ReferenceRecord, decision: RelevanceDecisionView | undefined): boolean {
|
|
213
242
|
return Boolean(decision?.reviewRecommended)
|
|
214
243
|
&& normalizeReferenceCurationStatus(reference.curationStatus) === "pending";
|
|
215
244
|
}
|
|
216
245
|
|
|
217
246
|
function ReferenceDetailPanel({
|
|
247
|
+
countsAsTrainingLabel,
|
|
248
|
+
delegated,
|
|
218
249
|
decision,
|
|
219
250
|
demo,
|
|
220
251
|
disabled,
|
|
@@ -223,17 +254,27 @@ function ReferenceDetailPanel({
|
|
|
223
254
|
previewAttachments,
|
|
224
255
|
reference,
|
|
225
256
|
onClose,
|
|
257
|
+
sectionAgreement = null,
|
|
258
|
+
sectionSuggestion,
|
|
259
|
+
sections = [],
|
|
226
260
|
}: {
|
|
261
|
+
countsAsTrainingLabel?: boolean;
|
|
262
|
+
delegated?: DelegatedCuration;
|
|
227
263
|
decision?: RelevanceDecisionView;
|
|
228
264
|
demo?: boolean;
|
|
229
265
|
disabled?: boolean;
|
|
230
266
|
onRelevanceReview?: (curation: RelevanceCuration) => void;
|
|
231
|
-
onReview: (action: ReferenceCurationAction) => void;
|
|
267
|
+
onReview: (action: ReferenceCurationAction, options?: ReferenceReviewOptions) => void;
|
|
268
|
+
sectionAgreement?: SiteSectionAgreement | null;
|
|
269
|
+
sectionSuggestion?: SectionSuggestion;
|
|
270
|
+
sections?: SectionChoice[];
|
|
232
271
|
previewAttachments: ReferenceAttachmentRecord[];
|
|
233
272
|
reference: ReferenceRecord;
|
|
234
273
|
onClose?: () => void;
|
|
235
274
|
}) {
|
|
236
275
|
const lineageId = referenceLineageId(reference);
|
|
276
|
+
const [chosenSectionId, setChosenSectionId] = useState<string | null>(null);
|
|
277
|
+
useEffect(() => { setChosenSectionId(null); }, [lineageId]);
|
|
237
278
|
const status = normalizeReferenceCurationStatus(reference.curationStatus);
|
|
238
279
|
const url = referenceUrl(reference);
|
|
239
280
|
const acceptDisabled = disabled || status === "accepted";
|
|
@@ -259,31 +300,59 @@ function ReferenceDetailPanel({
|
|
|
259
300
|
) : null}
|
|
260
301
|
</div>
|
|
261
302
|
|
|
262
|
-
{decision
|
|
263
|
-
<
|
|
264
|
-
|
|
303
|
+
{decision ? (
|
|
304
|
+
<div className="space-y-3" data-reference-relevance-decision={lineageId}>
|
|
305
|
+
<ReferenceSuggestionBlock
|
|
306
|
+
decision={decision}
|
|
307
|
+
disabled={disabled}
|
|
308
|
+
onCurate={onRelevanceReview}
|
|
309
|
+
referenceLineageId={lineageId}
|
|
310
|
+
settled={status !== "pending"}
|
|
311
|
+
statusLabel={referenceStatusLabel(status)}
|
|
312
|
+
/>
|
|
313
|
+
<ReferenceSuggestionProvenance decision={decision} />
|
|
314
|
+
{status === "pending" && onRelevanceReview ? (
|
|
315
|
+
<details className="text-sm text-foreground">
|
|
316
|
+
<summary className="cursor-pointer font-semibold underline-offset-4 hover:underline">Review with a reason</summary>
|
|
317
|
+
<div className="mt-2">
|
|
318
|
+
<ReferenceRelevanceReview
|
|
319
|
+
decision={decision}
|
|
320
|
+
disabled={disabled}
|
|
321
|
+
onCurate={onRelevanceReview}
|
|
322
|
+
referenceLineageId={lineageId}
|
|
323
|
+
/>
|
|
324
|
+
</div>
|
|
325
|
+
</details>
|
|
326
|
+
) : null}
|
|
327
|
+
</div>
|
|
328
|
+
) : null}
|
|
329
|
+
{status === "pending" && sectionSuggestion ? (
|
|
330
|
+
<SectionSuggestionBlock agreement={sectionAgreement} referenceLineageId={lineageId} sections={sections} suggestion={sectionSuggestion} />
|
|
331
|
+
) : null}
|
|
332
|
+
{status === "pending" && sections.length ? (
|
|
333
|
+
<SectionPicker
|
|
334
|
+
agreement={sectionAgreement}
|
|
335
|
+
chosenSectionId={chosenSectionId}
|
|
265
336
|
disabled={disabled}
|
|
266
|
-
|
|
337
|
+
onChoose={setChosenSectionId}
|
|
267
338
|
referenceLineageId={lineageId}
|
|
339
|
+
sections={sections}
|
|
340
|
+
suggestedSectionId={sectionSuggestion?.sectionId ?? null}
|
|
268
341
|
/>
|
|
269
|
-
) : decision ? (
|
|
270
|
-
<p className="text-sm text-muted-foreground" data-reference-relevance-decision={lineageId}>
|
|
271
|
-
Cyclotron decision: {decisionSummary(decision)}
|
|
272
|
-
</p>
|
|
273
342
|
) : null}
|
|
343
|
+
{delegated ? <DelegatedCurationNote delegated={delegated} referenceLineageId={lineageId} /> : countsAsTrainingLabel ? <CountsAsTrainingLabelNote referenceLineageId={lineageId} /> : null}
|
|
274
344
|
|
|
275
345
|
<div
|
|
276
346
|
className="flex flex-wrap items-center gap-2"
|
|
277
347
|
data-news-desk-reference-curation-cluster
|
|
278
348
|
data-reference-curation-status={status}
|
|
279
349
|
>
|
|
280
|
-
{decision && status === "pending" && onRelevanceReview ? null : <>
|
|
281
350
|
<Button
|
|
282
351
|
aria-label="Accept reference"
|
|
283
352
|
aria-pressed={status === "accepted"}
|
|
284
353
|
data-news-desk-reference-accept
|
|
285
354
|
disabled={acceptDisabled}
|
|
286
|
-
onClick={() => onReview("accept")}
|
|
355
|
+
onClick={() => onReview("accept", chosenSectionId ? { sectionId: chosenSectionId } : undefined)}
|
|
287
356
|
size="sm"
|
|
288
357
|
type="button"
|
|
289
358
|
variant={status === "accepted" ? "default" : "outline"}
|
|
@@ -304,7 +373,6 @@ function ReferenceDetailPanel({
|
|
|
304
373
|
<ThumbsDownIcon className="size-4" />
|
|
305
374
|
Reject
|
|
306
375
|
</Button>
|
|
307
|
-
</>}
|
|
308
376
|
<Button
|
|
309
377
|
aria-label="Archive reference"
|
|
310
378
|
disabled={archiveDisabled}
|
|
@@ -399,11 +467,18 @@ function ReferenceDetailPanel({
|
|
|
399
467
|
export function NewsroomReferencesView({
|
|
400
468
|
priming,
|
|
401
469
|
cyclotronStatus,
|
|
470
|
+
cyclotronPriming,
|
|
402
471
|
decisions,
|
|
472
|
+
humanCuratedReferenceLineageIds,
|
|
473
|
+
delegatedCurations,
|
|
474
|
+
shadowAgreement = null,
|
|
403
475
|
onRequestReviewRate,
|
|
404
476
|
demo = false,
|
|
405
477
|
disabled = false,
|
|
406
478
|
onRelevanceReview,
|
|
479
|
+
sections = [],
|
|
480
|
+
sectionSuggestions,
|
|
481
|
+
sectionAgreement = null,
|
|
407
482
|
initialReferenceLineageId = null,
|
|
408
483
|
onReview,
|
|
409
484
|
referenceAttachments = [],
|
|
@@ -492,9 +567,9 @@ export function NewsroomReferencesView({
|
|
|
492
567
|
}
|
|
493
568
|
};
|
|
494
569
|
|
|
495
|
-
const runReview = (action: ReferenceCurationAction) => {
|
|
570
|
+
const runReview = (action: ReferenceCurationAction, options?: ReferenceReviewOptions) => {
|
|
496
571
|
if (!selectedReference) return;
|
|
497
|
-
onReview(selectedReference, action);
|
|
572
|
+
onReview(selectedReference, action, options);
|
|
498
573
|
};
|
|
499
574
|
|
|
500
575
|
const emptyLabel = canonicalReferences.length
|
|
@@ -514,8 +589,18 @@ export function NewsroomReferencesView({
|
|
|
514
589
|
Review source intake before it becomes accepted evidence.
|
|
515
590
|
</p>
|
|
516
591
|
</div>
|
|
592
|
+
<ReferenceLiveAgreement agreement={shadowAgreement} />
|
|
517
593
|
<ReferenceCurationControls disabled={disabled} />
|
|
518
594
|
{priming && !disabled ? <ReferencePriming {...priming} /> : null}
|
|
595
|
+
{cyclotronPriming && !disabled ? (
|
|
596
|
+
<div className="shrink-0">
|
|
597
|
+
<ReferenceCyclotronPriming
|
|
598
|
+
labels={cyclotronPriming.labels}
|
|
599
|
+
onRequestPriming={cyclotronPriming.onRequest}
|
|
600
|
+
requests={cyclotronPriming.requests}
|
|
601
|
+
/>
|
|
602
|
+
</div>
|
|
603
|
+
) : null}
|
|
519
604
|
{cyclotronStatus ? (
|
|
520
605
|
<div className="shrink-0">
|
|
521
606
|
<ReferenceCyclotronStatus onRequestRate={disabled ? undefined : onRequestReviewRate} status={cyclotronStatus} />
|
|
@@ -577,12 +662,12 @@ export function NewsroomReferencesView({
|
|
|
577
662
|
</div>
|
|
578
663
|
<p className="mt-2 text-xs text-muted-foreground">{formatReferenceListDate(reference)}</p>
|
|
579
664
|
{decision ? (
|
|
580
|
-
<
|
|
581
|
-
<
|
|
665
|
+
<div className="flex flex-wrap items-center gap-2" data-reference-relevance-row={lineageId}>
|
|
666
|
+
<ReferenceSuggestionRowLine decision={decision} referenceLineageId={lineageId} />
|
|
582
667
|
{needsReview(reference, decision) ? (
|
|
583
668
|
<Badge variant="outline"><span aria-hidden="true">●</span> Needs review</Badge>
|
|
584
669
|
) : null}
|
|
585
|
-
</
|
|
670
|
+
</div>
|
|
586
671
|
) : null}
|
|
587
672
|
</button>
|
|
588
673
|
);
|
|
@@ -632,11 +717,16 @@ export function NewsroomReferencesView({
|
|
|
632
717
|
<ScrollArea className="min-h-0 flex-1">
|
|
633
718
|
{selectedReference ? (
|
|
634
719
|
<ReferenceDetailPanel
|
|
720
|
+
countsAsTrainingLabel={humanCuratedReferenceLineageIds?.has(referenceLineageId(selectedReference))}
|
|
721
|
+
delegated={delegatedCurations?.get(referenceLineageId(selectedReference))}
|
|
635
722
|
decision={decisions?.get(referenceLineageId(selectedReference))}
|
|
636
723
|
demo={demo}
|
|
637
724
|
disabled={disabled}
|
|
638
725
|
onRelevanceReview={onRelevanceReview ? (curation) => onRelevanceReview(selectedReference, curation) : undefined}
|
|
639
726
|
onReview={runReview}
|
|
727
|
+
sectionAgreement={sectionAgreement}
|
|
728
|
+
sectionSuggestion={sectionSuggestions?.get(referenceLineageId(selectedReference))}
|
|
729
|
+
sections={sections}
|
|
640
730
|
previewAttachments={previewAttachments}
|
|
641
731
|
reference={selectedReference}
|
|
642
732
|
/>
|
|
@@ -663,12 +753,17 @@ export function NewsroomReferencesView({
|
|
|
663
753
|
{selectedReference ? (
|
|
664
754
|
<ScrollArea className="max-h-[75dvh]">
|
|
665
755
|
<ReferenceDetailPanel
|
|
756
|
+
countsAsTrainingLabel={humanCuratedReferenceLineageIds?.has(referenceLineageId(selectedReference))}
|
|
757
|
+
delegated={delegatedCurations?.get(referenceLineageId(selectedReference))}
|
|
666
758
|
decision={decisions?.get(referenceLineageId(selectedReference))}
|
|
667
759
|
demo={demo}
|
|
668
760
|
disabled={disabled}
|
|
669
761
|
onClose={closeDetail}
|
|
670
762
|
onRelevanceReview={onRelevanceReview ? (curation) => onRelevanceReview(selectedReference, curation) : undefined}
|
|
671
763
|
onReview={runReview}
|
|
764
|
+
sectionAgreement={sectionAgreement}
|
|
765
|
+
sectionSuggestion={sectionSuggestions?.get(referenceLineageId(selectedReference))}
|
|
766
|
+
sections={sections}
|
|
672
767
|
previewAttachments={previewAttachments}
|
|
673
768
|
reference={selectedReference}
|
|
674
769
|
/>
|
|
@@ -403,7 +403,7 @@ export function NewsroomTopicsView({
|
|
|
403
403
|
}}
|
|
404
404
|
open={mobileDetailOpen && Boolean(selectedProposal)}
|
|
405
405
|
>
|
|
406
|
-
<SheetContent className="gap-0 p-0 md:hidden" side="bottom">
|
|
406
|
+
<SheetContent backdropClassName="md:hidden" className="gap-0 p-0 md:hidden" side="bottom">
|
|
407
407
|
<SheetHeader className="border-b border-border px-4 py-3">
|
|
408
408
|
<SheetTitle className="text-left text-base">Topic proposal</SheetTitle>
|
|
409
409
|
</SheetHeader>
|