@anthusai/papyrus 2.0.0-next.3 → 2.0.0-next.30
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 +22 -3
- package/amplify/data/resource.ts +24 -3
- package/amplify/data/schema.js +2029 -1967
- package/amplify/data/schema.ts +72 -2
- package/amplify/functions/assignment-action/data-access.js +88 -0
- package/amplify/functions/assignment-action/data-access.ts +87 -0
- package/amplify/functions/content-actions/handler.py +33 -0
- package/amplify/functions/content-actions/requirements.txt +1 -0
- package/amplify/functions/content-actions/resource.js +1 -1
- package/amplify/functions/content-actions/resource.ts +1 -1
- package/amplify/functions/editorial-checks/handler.py +14 -0
- package/amplify/functions/editorial-checks/requirements.txt +1 -0
- package/amplify/functions/editorial-checks/resource.js +43 -0
- package/amplify/functions/editorial-checks/resource.ts +60 -0
- package/amplify/functions/editorial-checks/schema.js +121 -0
- package/amplify/functions/editorial-checks/schema.ts +123 -0
- package/amplify/functions/editorial-checks/wire.js +53 -0
- package/amplify/functions/editorial-checks/wire.ts +61 -0
- package/amplify/functions/monitoring-view/handler.py +11 -0
- package/amplify/functions/monitoring-view/resource.js +24 -0
- package/amplify/functions/monitoring-view/resource.ts +34 -0
- package/amplify/functions/monitoring-view/schema.js +16 -0
- package/amplify/functions/monitoring-view/schema.ts +18 -0
- package/amplify/functions/monitoring-view/wire.js +37 -0
- package/amplify/functions/monitoring-view/wire.ts +47 -0
- package/amplify/functions/public-forms/core.js +247 -0
- package/amplify/functions/public-forms/core.ts +310 -0
- package/amplify/functions/public-forms/handler.ts +41 -0
- package/amplify/functions/public-forms/origins.js +35 -0
- package/amplify/functions/public-forms/origins.ts +43 -0
- package/amplify/functions/public-forms/resource.js +9 -0
- package/amplify/functions/public-forms/resource.ts +10 -0
- package/amplify/functions/public-forms/wire.js +25 -0
- package/amplify/functions/public-forms/wire.ts +32 -0
- package/amplify/functions/shared/python-bundle.js +20 -14
- package/amplify/functions/shared/python-bundle.ts +25 -18
- package/amplify/publication/redirect-and-index.js +83 -0
- package/amplify/publication/redirect-rules.js +61 -0
- package/amplify/publication/redirect-rules.ts +79 -0
- package/amplify/publication/s3-projection.js +5 -1
- package/amplify/publication/s3-projection.ts +7 -1
- package/amplify/site-backend-config.ts +17 -0
- package/amplify/site-backend.js +36 -1
- package/amplify/site-backend.ts +44 -1
- package/app/api/newsroom/curation/context/route.ts +9 -0
- package/app/api/newsroom/curation/priming/route.ts +9 -0
- package/app/api/newsroom/curation/publication/route.ts +9 -0
- package/bin/papyrus-infra.mjs +20 -1
- package/components/editorial-checks-admin-panel.tsx +362 -0
- package/components/editorial-finding-card.tsx +162 -0
- package/components/editorial-findings-panel.tsx +91 -0
- package/components/editorial-preview-popover.tsx +103 -0
- package/components/markus-body-editor.tsx +213 -0
- package/components/markus-ir-preview.tsx +147 -6
- package/components/monitoring-overview-view.tsx +240 -0
- package/components/monitoring-panel.tsx +40 -0
- package/components/newsroom-article-editor.tsx +136 -11
- package/components/newsroom-board-view.tsx +6 -7
- package/components/newsroom-curation-bootstrap.tsx +45 -0
- package/components/newsroom-ops-shell.tsx +7 -3
- package/components/newsroom-organizer.css +74 -61
- package/components/newsroom-references-view.tsx +14 -14
- package/components/newsroom-theme-fonts/broadsheet-green.css +10 -0
- package/components/newsroom-theme-fonts/broadsheet-green.tsx +6 -0
- package/components/newsroom-theme-fonts/newspaper-gothic.css +9 -0
- package/components/newsroom-theme-fonts/newspaper-gothic.tsx +6 -0
- package/components/newsroom-theme-fonts/night-desk.css +10 -0
- package/components/newsroom-theme-fonts/night-desk.tsx +6 -0
- package/components/newsroom-theme-fonts/refined-newsprint.css +11 -0
- package/components/newsroom-theme-fonts/refined-newsprint.tsx +6 -0
- package/components/newsroom-theme.css +39 -0
- package/components/newsroom-theme.tsx +33 -0
- package/components/publication-cyclotron-panel.tsx +10 -10
- package/components/reference-add-entry.tsx +75 -0
- package/components/reference-curation-controls.tsx +30 -21
- package/components/reference-cyclotron-priming.tsx +4 -4
- package/components/reference-cyclotron-suggestion.tsx +1 -1
- package/components/reference-priming.tsx +14 -10
- package/components/reference-section-suggestion.tsx +1 -1
- package/components/topic-steering-workspace.tsx +27 -2
- package/components/use-editorial-checks.ts +133 -0
- package/lib/category-repository.ts +11 -9
- package/lib/curation-routes.ts +342 -0
- package/lib/editorial-checks-backend.ts +16 -0
- package/lib/editorial-checks-client.ts +212 -0
- package/lib/editorial-checks-demo.ts +147 -0
- package/lib/editorial-checks-settings.ts +27 -0
- package/lib/editorial-checks.ts +171 -0
- package/lib/editorial-preview.ts +228 -0
- package/lib/monitoring-client.ts +29 -0
- package/lib/monitoring-overview-fixture.ts +51 -0
- package/lib/monitoring-overview.ts +144 -0
- package/lib/newsroom-board.ts +27 -2
- package/lib/relevance-status.ts +2 -2
- package/lib/site-brand-tenant.ts +11 -6
- package/lib/site-brand.ts +23 -3
- package/package.json +47 -3
- package/routes.manifest.json +34 -1
- package/components/newsroom-fonts/playfair-display-700.ttf +0 -0
- package/components/newsroom-fonts/playfair-display-900.ttf +0 -0
- package/components/newsroom-fonts/playfair-display-OFL.txt +0 -93
- package/components/newsroom-fonts/plus-jakarta-sans-400.ttf +0 -0
- package/components/newsroom-fonts/plus-jakarta-sans-600.ttf +0 -0
- package/components/newsroom-fonts/plus-jakarta-sans-OFL.txt +0 -93
- package/components/newsroom-newsprint-board.css +0 -7
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
@font-face{font-family:Newsroom Display;src:url('./newsroom-fonts/playfair-display-900.ttf') format('truetype');font-weight:900;font-display:swap}
|
|
3
|
-
@font-face{font-family:Newsroom UI;src:url('./newsroom-fonts/plus-jakarta-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
|
|
4
|
-
@font-face{font-family:Newsroom UI;src:url('./newsroom-fonts/plus-jakarta-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
|
|
5
|
-
.newsroom-organizer,.organizer-menu,.organizer-account-popup{--org-paper:var(--background);--org-ink:var(--foreground);--org-line:var(--border);--org-muted:var(--muted-foreground);font-family:Newsroom UI,system-ui,sans-serif;color:var(--org-ink);background:var(--org-paper)}
|
|
1
|
+
.newsroom-organizer,.organizer-menu,.organizer-account-popup{font-family:var(--kb-theme-ui-font);color:var(--org-ink);background:var(--org-paper)}
|
|
6
2
|
.newsroom-organizer{display:grid;grid-template-columns:264px minmax(0,1fr);height:100dvh;max-height:100dvh;overflow:clip;font-size:14px}
|
|
7
3
|
.newsroom-organizer[data-sidebar-collapsed=true]{grid-template-columns:minmax(0,1fr)}
|
|
8
4
|
body:has(.newsroom-organizer){display:flex;flex-direction:column;height:100dvh;overflow:hidden}
|
|
9
5
|
body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
10
6
|
.papyrus-console-page:has(.newsroom-organizer){display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}
|
|
11
7
|
.papyrus-console-page .newsroom-organizer{height:100%;max-height:100%;flex:1}
|
|
12
|
-
.newsroom-organizer h1,.newsroom-organizer h2,.newsroom-organizer h3{font-family:
|
|
13
|
-
.organizer-sidebar{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--org-line);padding:16px;gap:16px;overflow:hidden}
|
|
14
|
-
.organizer-sidebar[hidden]{display:none}.organizer-brand{font:900 40px/1.1
|
|
15
|
-
.organizer-brand small{display:block;font:
|
|
8
|
+
.newsroom-organizer h1,.newsroom-organizer h2,.newsroom-organizer h3{font-family:var(--kb-theme-title-font)}
|
|
9
|
+
.organizer-sidebar{background:var(--org-sidebar);min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--org-line);padding:16px;gap:16px;overflow:hidden}
|
|
10
|
+
.organizer-sidebar[hidden]{display:none}.organizer-brand{font:900 40px/1.1 var(--font-wordmark),Georgia,serif;padding-bottom:14px;border-bottom:2px solid var(--org-ink)}
|
|
11
|
+
.organizer-brand small{display:block;font:500 10px/1 var(--kb-theme-ui-font);letter-spacing:.24em;text-transform:uppercase;color:var(--org-muted);margin-top:6px}
|
|
16
12
|
.organizer-destinations{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding-right:1px}
|
|
17
|
-
.organizer-destinations section+section{margin-top:24px}.organizer-destinations h3{font:600 10px
|
|
18
|
-
.organizer-destinations a{display:flex;flex-direction:column;align-items:start;gap:
|
|
19
|
-
.organizer-destinations a strong{font:
|
|
20
|
-
.organizer-destinations a[aria-current=page]{
|
|
13
|
+
.organizer-destinations section+section{margin-top:24px}.organizer-destinations h3{font:var(--kb-theme-label-weight,600) 10px/1 var(--kb-theme-ui-font);letter-spacing:.1em;text-transform:uppercase;color:var(--org-accent);margin:16px 0 8px}
|
|
14
|
+
.organizer-destinations a{display:flex;flex-direction:column;align-items:start;gap:3px;padding:9px 8px 9px 10px;color:var(--org-ink);text-decoration:none;min-height:44px}
|
|
15
|
+
.organizer-destinations a strong{font:600 15px/1.2 var(--kb-theme-title-font)}.organizer-destinations a small{font:400 12px/1.35 var(--kb-theme-ui-font);white-space:normal;overflow-wrap:anywhere;color:var(--org-muted)}
|
|
16
|
+
.organizer-destinations a[aria-current=page]{color:var(--org-ink);box-shadow:inset 3px 0 0 var(--org-accent)}
|
|
21
17
|
.newsroom-organizer :is(a,button):focus-visible,.organizer-menu :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:-3px}
|
|
22
18
|
.organizer-workspace{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;padding:0 16px}
|
|
23
|
-
.organizer-topbar{height:48px;min-height:48px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--org-
|
|
24
|
-
.organizer-masthead{font:900 28px
|
|
25
|
-
.organizer-topbar h1{font:400 12px
|
|
19
|
+
.organizer-topbar{height:48px;min-height:48px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--org-line)}
|
|
20
|
+
.organizer-masthead{font:900 28px var(--font-wordmark),Georgia,serif;white-space:nowrap;max-width:30vw;overflow:hidden;text-overflow:ellipsis}
|
|
21
|
+
.organizer-topbar h1{font:400 12px var(--kb-theme-ui-font);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
|
|
26
22
|
.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
23
|
.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}
|
|
28
24
|
.organizer-header-actions{display:flex;align-items:center;gap:8px;min-width:0;max-width:45%;overflow-x:auto}
|
|
29
25
|
.organizer-main{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding:16px 0}
|
|
30
26
|
.organizer-main>[data-category-steering]{min-height:0}.organizer-demo-notice{font-size:11px;color:var(--org-muted);margin-bottom:12px}
|
|
31
27
|
.organizer-account{display:flex;align-items:center;gap:10px;min-height:44px;flex-shrink:0;border:1px solid var(--org-line);padding:8px;text-align:left;border-radius:3px}
|
|
32
|
-
.organizer-account span{min-width:0}.organizer-account strong{display:block;font:600 11px
|
|
28
|
+
.organizer-account span{min-width:0}.organizer-account strong{display:block;font:600 11px var(--kb-theme-ui-font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organizer-account small{display:block;font-size:9px;color:var(--org-muted);margin-top:2px}
|
|
33
29
|
.organizer-account-header{display:none;padding:8px;min-width:36px;min-height:36px}.organizer-account-header span{display:none}
|
|
34
30
|
.newsroom-organizer[data-sidebar-collapsed=true] .organizer-account-header{display:flex}
|
|
35
31
|
.organizer-account-popup{min-width:250px;max-width:calc(100vw - 32px);border:1px solid var(--org-line);padding:6px;border-radius:4px}
|
|
@@ -39,7 +35,7 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
39
35
|
.organizer-native-board{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:8px}
|
|
40
36
|
.organizer-board-view-toggle{display:flex;gap:4px;flex-shrink:0}
|
|
41
37
|
.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:
|
|
38
|
+
.organizer-header-button[aria-pressed=true]{background:transparent;color:var(--org-ink);font-weight:600;border-color:var(--org-ink)}
|
|
43
39
|
.organizer-board-note{font-size:11px;line-height:1.5;margin:0;color:var(--org-muted);white-space:nowrap}
|
|
44
40
|
@media(min-width:901px){.newsroom-organizer[data-sidebar-collapsed=false] .organizer-masthead{display:none}}
|
|
45
41
|
.organizer-board-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-width:0;min-height:0;gap:16px}
|
|
@@ -57,7 +53,7 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
57
53
|
.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%}
|
|
58
54
|
.organizer-bottom-nav{display:block;border-top:1px solid var(--org-ink);background:var(--org-paper);padding:4px 8px max(4px,env(safe-area-inset-bottom))}
|
|
59
55
|
.organizer-bottom-nav ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:0}
|
|
60
|
-
.organizer-bottom-nav :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;width:100%;font:400 10px
|
|
56
|
+
.organizer-bottom-nav :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;width:100%;font:400 10px var(--kb-theme-ui-font);padding:6px 0;text-decoration:none;border-radius:8px}
|
|
61
57
|
.organizer-bottom-nav a[aria-current=page]{background:var(--muted);font-weight:600}
|
|
62
58
|
.organizer-board-body[data-detail-open=true]{grid-template-columns:minmax(0,1fr)}
|
|
63
59
|
.organizer-board-body>.kb-issue-detail{position:absolute;inset:0;z-index:2;overflow:auto}
|
|
@@ -87,32 +83,32 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
87
83
|
.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
84
|
.newsroom-organizer [class~="text-primary-foreground"],.newsroom-organizer [class~="text-secondary-foreground"]{color:var(--org-ink) !important}
|
|
89
85
|
.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
|
|
91
|
-
.news-desk-columns--administration :is(h2,h3,strong){font-family:
|
|
86
|
+
.newsroom-organizer .news-desk-columns--administration{--administration-gap:16px;--administration-quiet:color-mix(in oklab,var(--org-ink) 64%,var(--org-paper));--administration-strong:var(--org-ink);container-type:inline-size;font-family:var(--kb-theme-ui-font);font-size:14px;line-height:1.5;max-width:1280px}
|
|
87
|
+
.news-desk-columns--administration :is(h2,h3,strong){font-family:var(--kb-theme-title-font);color:var(--administration-strong)}
|
|
92
88
|
.news-desk-columns--administration .category-steering-section--lead>.category-steering-section__header{display:none}
|
|
93
89
|
.news-desk-columns--administration .news-desk-settings-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
|
|
94
90
|
.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
91
|
.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
92
|
.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
93
|
.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
|
|
94
|
+
.news-desk-columns--administration .news-desk-settings-nav a span{display:none;font:400 12px/1.4 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
99
95
|
.news-desk-columns--administration .news-desk-settings-panel{display:grid;gap:24px;min-width:0}
|
|
100
96
|
.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
97
|
.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
|
|
103
|
-
.news-desk-columns--administration .story-label{margin:0;font:600 11px/1.4
|
|
98
|
+
.news-desk-columns--administration .category-steering-section__header span{font:400 12px/1.4 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
99
|
+
.news-desk-columns--administration .story-label{margin:0;font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
104
100
|
.news-desk-columns--administration .news-desk-doctrine-list{display:grid;gap:24px;min-width:0;max-width:none;width:100%}
|
|
105
101
|
.news-desk-columns--administration .news-desk-doctrine-card{display:grid;gap:16px;min-width:0;padding:0;border:0}
|
|
106
102
|
.news-desk-columns--administration .news-desk-doctrine-card+.news-desk-doctrine-card{padding-top:24px;border-top:1px solid var(--org-line)}
|
|
107
103
|
.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
104
|
.news-desk-columns--administration .news-desk-doctrine-card__header>div{display:grid;gap:2px}
|
|
109
105
|
.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
|
|
106
|
+
.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 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
111
107
|
.news-desk-columns--administration .news-desk-doctrine-card__footer{padding-top:0;border-top:0}
|
|
112
108
|
.news-desk-columns--administration .news-desk-doctrine-card__actions{justify-content:flex-end}
|
|
113
109
|
.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
|
|
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
|
|
110
|
+
.news-desk-columns--administration .news-desk-doctrine-card__field>span{font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
111
|
+
.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 var(--kb-theme-ui-font);letter-spacing:0}
|
|
116
112
|
.news-desk-columns--administration .news-desk-doctrine-card__field textarea{min-height:96px;max-height:360px;field-sizing:content;resize:vertical}
|
|
117
113
|
.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
114
|
.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}
|
|
@@ -121,9 +117,9 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
121
117
|
.news-desk-columns--administration details[open]{display:grid;gap:16px}
|
|
122
118
|
.news-desk-columns--administration [data-news-desk-admin-panel]{display:grid;gap:24px;align-content:start}
|
|
123
119
|
.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
|
|
120
|
+
.news-desk-columns--administration summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font:600 12px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
125
121
|
.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
|
|
122
|
+
.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 var(--kb-theme-ui-font);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
|
|
127
123
|
.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
124
|
.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
125
|
.news-desk-columns--administration .news-desk-administration-category-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
|
|
@@ -135,8 +131,8 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
135
131
|
.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
132
|
.news-desk-columns--administration .news-desk-administration-category-list>.story-label+.news-desk-administration-category-button{border-top:0}
|
|
137
133
|
.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
|
|
139
|
-
.news-desk-columns--administration .news-desk-administration-category-button small{font:400 12px/1.4
|
|
134
|
+
.news-desk-columns--administration .news-desk-administration-category-button span{font:700 15px/1.25 var(--kb-theme-title-font);color:var(--administration-strong)}
|
|
135
|
+
.news-desk-columns--administration .news-desk-administration-category-button small{font:400 12px/1.4 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
140
136
|
.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
137
|
.news-desk-columns--administration .news-desk-user-list{display:grid;gap:0;max-width:960px}
|
|
142
138
|
.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)}
|
|
@@ -144,14 +140,14 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
144
140
|
.news-desk-columns--administration .news-desk-user-row>div:first-child{display:grid;gap:6px;min-width:0}
|
|
145
141
|
.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
142
|
.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
|
|
148
|
-
.news-desk-columns--administration .news-desk-user-row p{margin:0;font:400 13px/1.5
|
|
143
|
+
.news-desk-columns--administration .news-desk-user-row header span{font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
144
|
+
.news-desk-columns--administration .news-desk-user-row p{margin:0;font:400 13px/1.5 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--administration-quiet);overflow-wrap:anywhere}
|
|
149
145
|
.news-desk-columns--administration .news-desk-user-row__actions{display:flex;flex-wrap:wrap;gap:8px}
|
|
150
146
|
.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
|
|
147
|
+
.news-desk-columns--administration .news-desk-chip-row span{padding:2px 8px;border:1px solid var(--org-line);font:400 12px/1.5 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--administration-quiet);overflow-wrap:anywhere}
|
|
152
148
|
.news-desk-columns--administration .news-desk-merge-panel{display:grid;gap:16px;margin-top:24px;padding:16px;border:1px solid var(--org-line)}
|
|
153
149
|
.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
|
|
150
|
+
.news-desk-columns--administration .category-steering-empty{padding:16px;border:1px dashed var(--org-line);font:400 14px/1.5 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--administration-quiet)}
|
|
155
151
|
@container (min-width:600px){
|
|
156
152
|
.news-desk-columns--administration .news-desk-settings-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
|
|
157
153
|
.news-desk-columns--administration .news-desk-settings-nav a span{display:block}
|
|
@@ -169,8 +165,8 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
169
165
|
.newsroom-assignment-detail-desk{display:grid;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--org-muted)}
|
|
170
166
|
.newsroom-assignment-detail-error{margin:0;text-transform:none;letter-spacing:0;color:var(--org-ink);font-weight:700}
|
|
171
167
|
[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
|
|
173
|
-
.newsroom-desk-group-heading small{font:400 11px
|
|
168
|
+
.newsroom-desk-group-heading{margin:16px 0 8px;font:700 12px var(--kb-theme-title-font);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--org-ink);padding-bottom:4px}
|
|
169
|
+
.newsroom-desk-group-heading small{font:400 11px var(--kb-theme-ui-font);text-transform:none;letter-spacing:0;color:var(--org-muted);margin-left:8px}
|
|
174
170
|
.newsroom-desk-legacy-value{display:block;font-size:11px;color:var(--org-muted);overflow-wrap:anywhere}
|
|
175
171
|
.newsroom-article-view-toggle{display:inline-flex}
|
|
176
172
|
.newsroom-article-front-matter>summary{cursor:pointer;font-size:14px;font-weight:600;padding:6px 0;list-style-position:inside}
|
|
@@ -232,37 +228,37 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
232
228
|
.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
229
|
.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
230
|
.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
|
|
236
|
-
.news-desk-columns--taxonomy .news-desk-desk-card strong{font:700 18px/1.2
|
|
237
|
-
.news-desk-columns--taxonomy .news-desk-desk-card p{font:400 13px/1.4
|
|
238
|
-
.news-desk-columns--taxonomy .news-desk-desk-card small{font:400 12px/1.4
|
|
231
|
+
.news-desk-columns--taxonomy .news-desk-desk-card>span{font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;color:var(--org-muted)}
|
|
232
|
+
.news-desk-columns--taxonomy .news-desk-desk-card strong{font:700 18px/1.2 var(--kb-theme-title-font);color:var(--org-ink)}
|
|
233
|
+
.news-desk-columns--taxonomy .news-desk-desk-card p{font:400 13px/1.4 var(--kb-theme-ui-font);color:var(--org-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
|
|
234
|
+
.news-desk-columns--taxonomy .news-desk-desk-card small{font:400 12px/1.4 var(--kb-theme-ui-font);letter-spacing:0;text-transform:none;color:var(--org-muted)}
|
|
239
235
|
.news-desk-columns--taxonomy .news-desk-desk-detail{margin:0;display:grid;gap:24px;min-width:0}
|
|
240
236
|
.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
|
|
242
|
-
.news-desk-columns--taxonomy .news-desk-topic-detail__header>div>span{font:400 13px/1.4
|
|
237
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header h3{margin:0;font:700 30px/1.15 var(--kb-theme-title-font)}
|
|
238
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header>div>span{font:400 13px/1.4 var(--kb-theme-ui-font);color:var(--org-muted)}
|
|
243
239
|
.news-desk-columns--taxonomy .news-desk-topic-detail__header dl{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0}
|
|
244
240
|
.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
|
|
246
|
-
.news-desk-columns--taxonomy .news-desk-topic-detail__header dd{margin:0;font:700 22px/1.1
|
|
241
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dt{font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--org-muted)}
|
|
242
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dd{margin:0;font:700 22px/1.1 var(--kb-theme-title-font)}
|
|
247
243
|
.news-desk-columns--taxonomy .news-desk-desk-detail__grid{grid-template-columns:minmax(0,1fr);gap:32px}
|
|
248
244
|
@container (min-width:900px){.news-desk-columns--taxonomy .news-desk-desk-detail__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
|
|
249
245
|
.news-desk-columns--taxonomy .category-steering-category-card{display:grid;gap:14px;border:0;padding:0;background:none}
|
|
250
246
|
.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
247
|
.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
|
|
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
|
|
248
|
+
.news-desk-columns--taxonomy .category-steering-category-card label>span{font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--org-muted)}
|
|
249
|
+
.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 var(--kb-theme-ui-font)}
|
|
254
250
|
.news-desk-columns--taxonomy .news-desk-desk-subtopics{border-top:1px solid var(--org-line);padding-top:16px}
|
|
255
251
|
.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
|
|
252
|
+
.news-desk-columns--taxonomy .news-desk-chip-row span{border:1px solid var(--org-ink);padding:2px 8px;font:400 13px/1.4 var(--kb-theme-ui-font);border-radius:0}
|
|
257
253
|
.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
254
|
.news-desk-columns--taxonomy .news-desk-ledger-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
|
|
259
255
|
.news-desk-columns--taxonomy .news-desk-ledger-item{display:grid;gap:4px;border:0;padding:0}
|
|
260
256
|
.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
|
|
257
|
+
.news-desk-columns--taxonomy .news-desk-ledger-item p{margin:0;font:400 13px/1.45 var(--kb-theme-ui-font)}
|
|
262
258
|
@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
|
|
264
|
-
.news-desk-columns--taxonomy .category-steering-category-card>header strong{font:700 12px/1.4
|
|
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
|
|
259
|
+
.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 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase}
|
|
260
|
+
.news-desk-columns--taxonomy .category-steering-category-card>header strong{font:700 12px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--org-ink)}
|
|
261
|
+
.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 var(--kb-theme-ui-font);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
|
|
266
262
|
.news-desk-columns--taxonomy .category-steering-category-card button:disabled{border-color:var(--org-line);opacity:.6;cursor:default}
|
|
267
263
|
.news-desk-columns--taxonomy .news-desk-rail-column .category-steering-section__header{border-bottom:0;padding-bottom:4px}
|
|
268
264
|
.organizer-account-chooser{padding:8px 12px;border-bottom:1px solid var(--org-line);display:grid;gap:6px}
|
|
@@ -272,15 +268,15 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
272
268
|
.organizer-account-chooser li button:disabled{opacity:.6;cursor:default}
|
|
273
269
|
.organizer-account-chooser li button span{display:grid;gap:1px}
|
|
274
270
|
.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
|
|
271
|
+
.organizer-account-chooser-heading{margin:0;font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase}
|
|
276
272
|
.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
|
|
273
|
+
.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 var(--kb-theme-ui-font);padding:4px 10px;cursor:pointer;text-underline-offset:3px}
|
|
278
274
|
.organizer-account-create-start:hover,.organizer-account-create button:hover{text-decoration:underline}
|
|
279
275
|
.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
276
|
.organizer-account-create button:disabled{cursor:default;text-decoration:line-through}
|
|
281
277
|
.organizer-account-create{display:grid;gap:6px}
|
|
282
|
-
.organizer-account-create label{display:grid;gap:2px;font:600 11px/1.4
|
|
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
|
|
278
|
+
.organizer-account-create label{display:grid;gap:2px;font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase}
|
|
279
|
+
.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 var(--kb-theme-ui-font);padding:4px 0;text-transform:none;letter-spacing:0}
|
|
284
280
|
.organizer-account-create span{display:flex;gap:8px}
|
|
285
281
|
[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
282
|
[data-reference-cyclotron-status] :is(.cyclotron-status-note,.cyclotron-status-definition,.cyclotron-status-header p,.cyclotron-status-override){color:var(--org-ink)}
|
|
@@ -296,24 +292,41 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
296
292
|
.news-desk-columns--administration .news-desk-delegation-token p{margin:0}
|
|
297
293
|
.news-desk-columns--administration .news-desk-delegation-token__row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
|
|
298
294
|
.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
|
|
295
|
+
.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 var(--kb-theme-ui-font);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
|
|
300
296
|
.news-desk-columns--administration .news-desk-delegation-list{list-style:none;margin:0;padding:0;display:grid}
|
|
301
297
|
.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
298
|
.news-desk-columns--administration .news-desk-delegation-list li>div{display:grid;gap:2px}
|
|
303
299
|
.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
|
|
300
|
+
.news-desk-columns--administration .news-desk-delegation-state{font:600 12px/1.4 var(--kb-theme-ui-font);color:var(--administration-strong)}
|
|
305
301
|
.news-desk-columns--administration .news-desk-delegation-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
|
|
306
302
|
.news-desk-columns--administration .news-desk-delegation-pending-list{list-style:none;margin:0;padding:0;display:grid}
|
|
307
303
|
.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
304
|
.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
|
|
310
|
-
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>span{font:400 13px/1.4
|
|
305
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>strong{font:700 18px/1.2 var(--kb-theme-title-font)}
|
|
306
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>span{font:400 13px/1.4 var(--kb-theme-ui-font)}
|
|
311
307
|
.news-desk-columns--administration .news-desk-delegation-countdown{font-weight:600!important;font-variant-numeric:tabular-nums}
|
|
312
308
|
.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
309
|
.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
|
|
310
|
+
.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 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
|
|
315
311
|
.news-desk-columns--administration .news-desk-delegation-decision button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
|
|
316
312
|
.news-desk-columns--administration .news-desk-delegation-decision button:disabled{cursor:default;text-decoration:line-through}
|
|
317
313
|
.news-desk-columns--administration .news-desk-delegation-decision button:focus-visible{outline:2px solid var(--org-ink);outline-offset:2px}
|
|
318
314
|
@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
315
|
@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)}}
|
|
316
|
+
.news-desk-columns--administration .news-desk-monitoring__scope{display:flex;flex-wrap:wrap;gap:8px}
|
|
317
|
+
.news-desk-columns--administration .news-desk-monitoring__scope button{min-height:36px;padding:4px 12px;border:1px solid var(--org-line);background:transparent;color:var(--administration-strong);font:600 12px/1.2 var(--kb-theme-ui-font);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
|
|
318
|
+
.news-desk-columns--administration .news-desk-monitoring__scope button[aria-pressed=true]{border-color:var(--org-ink);border-width:2px;text-decoration:underline;text-underline-offset:4px}
|
|
319
|
+
.news-desk-columns--administration .news-desk-monitoring__list,.news-desk-columns--administration .news-desk-monitoring__queue,.news-desk-columns--administration .news-desk-monitoring__relevance{list-style:none;margin:0;padding:0;display:grid}
|
|
320
|
+
.news-desk-columns--administration .news-desk-monitoring__list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);gap:4px 16px;align-items:baseline;padding:10px 0;border-top:1px solid var(--org-line);min-width:0;overflow-wrap:anywhere}
|
|
321
|
+
.news-desk-columns--administration .news-desk-monitoring__list li>div{display:grid;gap:2px}
|
|
322
|
+
.news-desk-columns--administration .news-desk-monitoring__queue>li{display:grid;gap:6px;padding:12px 0;border-top:1px solid var(--org-line);min-width:0}
|
|
323
|
+
.news-desk-columns--administration .news-desk-monitoring__queue>li>div{display:grid;gap:2px}
|
|
324
|
+
.news-desk-columns--administration .news-desk-monitoring__queue>li>div>span,.news-desk-columns--administration .news-desk-monitoring__routing{margin:0;font:400 12px/1.4 var(--kb-theme-ui-font);color:var(--administration-quiet)}
|
|
325
|
+
.news-desk-columns--administration .news-desk-monitoring__queue li[data-routing=error]{padding-left:12px;border-left:3px solid var(--org-ink)}
|
|
326
|
+
.news-desk-columns--administration .news-desk-monitoring__relevance{gap:4px;padding-left:12px;border-left:1px solid var(--org-line)}
|
|
327
|
+
.news-desk-columns--administration .news-desk-monitoring__relevance li{display:flex;flex-wrap:wrap;gap:4px 12px;font:400 13px/1.4 var(--kb-theme-ui-font)}
|
|
328
|
+
.news-desk-columns--administration .news-desk-monitoring__relevance li[data-delivery=failed] span:last-child{font-weight:700}
|
|
329
|
+
.news-desk-columns--administration .news-desk-monitoring__usage{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;margin:0}
|
|
330
|
+
.news-desk-columns--administration .news-desk-monitoring__usage dt{font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
331
|
+
.news-desk-columns--administration .news-desk-monitoring__usage dd{margin:0;font:700 26px/1.1 var(--kb-theme-title-font);font-variant-numeric:tabular-nums}
|
|
332
|
+
@container (max-width:640px){.news-desk-columns--administration .news-desk-monitoring__list li{grid-template-columns:minmax(0,1fr)}}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import type { PrimingPanelProps } from "cyclotron/components/priming-panel";
|
|
4
|
-
import {
|
|
5
|
-
import { ReferenceCurationControls } from "./reference-curation-controls";
|
|
4
|
+
import { ReferenceAddEntry } from "./reference-add-entry";
|
|
5
|
+
import { ReferenceCurationControls, useReferenceImport } from "./reference-curation-controls";
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
ArchiveIcon,
|
|
@@ -63,7 +63,7 @@ import type { SectionSuggestion, SiteSectionAgreement } from "../lib/site-sectio
|
|
|
63
63
|
/** What an editor adds to an accept: the Section the reference belongs in, which becomes a training label. */
|
|
64
64
|
export type ReferenceReviewOptions = { sectionId?: string | null };
|
|
65
65
|
import type { DelegatedCuration, ShadowAgreement } from "../lib/cyclotron-suggestions";
|
|
66
|
-
import {
|
|
66
|
+
import type { PrimingFormInput } from "./reference-cyclotron-priming";
|
|
67
67
|
import { ReferenceCyclotronStatus, type ReviewRateChoice } from "./reference-cyclotron-status";
|
|
68
68
|
import type { PrimingRequestView } from "../lib/relevance-status";
|
|
69
69
|
import type { CyclotronStatus } from "cyclotron/cyclotron-status";
|
|
@@ -485,6 +485,8 @@ export function NewsroomReferencesView({
|
|
|
485
485
|
references,
|
|
486
486
|
}: NewsroomReferencesViewProps) {
|
|
487
487
|
const pathname = usePathname();
|
|
488
|
+
const sessionImport = useReferenceImport(disabled);
|
|
489
|
+
const [importedCount, setImportedCount] = useState(0);
|
|
488
490
|
const isMobileDetail = useMediaQuery("(max-width: 767px)");
|
|
489
491
|
const pathnameLineageId = useMemo(
|
|
490
492
|
() => parseReferenceLineageIdFromNewsroomPathname(pathname),
|
|
@@ -590,17 +592,15 @@ export function NewsroomReferencesView({
|
|
|
590
592
|
</p>
|
|
591
593
|
</div>
|
|
592
594
|
<ReferenceLiveAgreement agreement={shadowAgreement} />
|
|
593
|
-
<
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
</div>
|
|
603
|
-
) : null}
|
|
595
|
+
<ReferenceAddEntry
|
|
596
|
+
importOptions={disabled ? null : priming ?? sessionImport?.panel}
|
|
597
|
+
key={sessionImport?.sessionKey ?? "no-session"}
|
|
598
|
+
onImported={() => setImportedCount((count) => count + 1)}
|
|
599
|
+
url={cyclotronPriming && !disabled
|
|
600
|
+
? { labels: cyclotronPriming.labels, onRequest: cyclotronPriming.onRequest, requests: cyclotronPriming.requests }
|
|
601
|
+
: null}
|
|
602
|
+
/>
|
|
603
|
+
<ReferenceCurationControls disabled={disabled} refreshSignal={importedCount} />
|
|
604
604
|
{cyclotronStatus ? (
|
|
605
605
|
<div className="shrink-0">
|
|
606
606
|
<ReferenceCyclotronStatus onRequestRate={disabled ? undefined : onRequestReviewRate} status={cyclotronStatus} />
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@import "@fontsource-variable/newsreader/wght.css";
|
|
2
|
+
@import "@fontsource-variable/hanken-grotesk/wght.css";
|
|
3
|
+
@import "@fontsource/ibm-plex-mono/latin-400.css";
|
|
4
|
+
@import "@fontsource/ibm-plex-mono/latin-500.css";
|
|
5
|
+
|
|
6
|
+
/* Fontsource names variable families "<Family> Variable"; the Kanbus theme names the plain family. */
|
|
7
|
+
[data-kanbus-theme="broadsheet-green"][data-kanbus-theme] {
|
|
8
|
+
--kb-theme-title-font: "Newsreader Variable", Newsreader, "Iowan Old Style", Georgia, serif;
|
|
9
|
+
--kb-theme-ui-font: "Hanken Grotesk Variable", "Hanken Grotesk", system-ui, sans-serif;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
@import "@fontsource-variable/libre-franklin/wght.css";
|
|
2
|
+
@import "@fontsource-variable/jetbrains-mono/wght.css";
|
|
3
|
+
|
|
4
|
+
/* Fontsource names variable families "<Family> Variable"; the Kanbus theme names the plain family. */
|
|
5
|
+
[data-kanbus-theme="newspaper-gothic"][data-kanbus-theme] {
|
|
6
|
+
--kb-theme-title-font: "Libre Franklin Variable", "Libre Franklin", system-ui, sans-serif;
|
|
7
|
+
--kb-theme-ui-font: "Libre Franklin Variable", "Libre Franklin", system-ui, sans-serif;
|
|
8
|
+
--kb-theme-mono-font: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Menlo, monospace;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@import "@fontsource-variable/literata/wght.css";
|
|
2
|
+
@import "@fontsource-variable/public-sans/wght.css";
|
|
3
|
+
@import "@fontsource-variable/jetbrains-mono/wght.css";
|
|
4
|
+
|
|
5
|
+
/* Fontsource names variable families "<Family> Variable"; the Kanbus theme names the plain family. */
|
|
6
|
+
[data-kanbus-theme="night-desk"][data-kanbus-theme] {
|
|
7
|
+
--kb-theme-title-font: "Literata Variable", Literata, "Iowan Old Style", Georgia, serif;
|
|
8
|
+
--kb-theme-ui-font: "Public Sans Variable", "Public Sans", system-ui, sans-serif;
|
|
9
|
+
--kb-theme-mono-font: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Menlo, monospace;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
@import "@fontsource-variable/source-serif-4/wght.css";
|
|
2
|
+
@import "@fontsource/ibm-plex-sans/latin-400.css";
|
|
3
|
+
@import "@fontsource/ibm-plex-sans/latin-500.css";
|
|
4
|
+
@import "@fontsource/ibm-plex-sans/latin-600.css";
|
|
5
|
+
@import "@fontsource/ibm-plex-mono/latin-400.css";
|
|
6
|
+
@import "@fontsource/ibm-plex-mono/latin-500.css";
|
|
7
|
+
|
|
8
|
+
/* Fontsource names variable families "<Family> Variable"; the Kanbus theme names the plain family. */
|
|
9
|
+
[data-kanbus-theme="refined-newsprint"][data-kanbus-theme] {
|
|
10
|
+
--kb-theme-title-font: "Source Serif 4 Variable", "Source Serif 4", "Iowan Old Style", Georgia, serif;
|
|
11
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* The newsroom is one Kanbus theme scope ([data-kanbus-theme] on the organizer root and on
|
|
2
|
+
the portaled menus). The theme's --kb-theme-* tokens are the only source of colour and type:
|
|
3
|
+
the organizer's --org-* variables and the shared shadcn tokens are mapped from them here.
|
|
4
|
+
Publications adjust the look by overriding --kb-theme-* in their theme.css. */
|
|
5
|
+
|
|
6
|
+
/* The wordmark stays Playfair Display (next/font exposes it as --font-serif on body; the Kanbus
|
|
7
|
+
scope remaps --font-serif to the title face, so keep a separate handle). */
|
|
8
|
+
body { --font-wordmark: var(--font-serif); }
|
|
9
|
+
|
|
10
|
+
[data-kanbus-theme]:is(.newsroom-organizer, .organizer-menu, .organizer-account-popup) {
|
|
11
|
+
--org-paper: var(--kb-theme-paper);
|
|
12
|
+
--org-ink: var(--kb-theme-ink);
|
|
13
|
+
--org-line: var(--kb-theme-rule);
|
|
14
|
+
--org-muted: var(--kb-theme-muted);
|
|
15
|
+
--org-accent: var(--kb-theme-accent);
|
|
16
|
+
--org-on-accent: var(--kb-theme-on-accent);
|
|
17
|
+
--org-sidebar: var(--kb-theme-sidebar);
|
|
18
|
+
--org-panel: var(--kb-theme-panel);
|
|
19
|
+
--org-title-font: var(--kb-theme-title-font);
|
|
20
|
+
--org-ui-font: var(--kb-theme-ui-font);
|
|
21
|
+
--org-mono-font: var(--kb-theme-mono-font);
|
|
22
|
+
|
|
23
|
+
--foreground: var(--kb-theme-ink);
|
|
24
|
+
--foreground-strong: var(--kb-theme-ink);
|
|
25
|
+
--foreground-muted: var(--kb-theme-muted);
|
|
26
|
+
--card-foreground: var(--kb-theme-ink);
|
|
27
|
+
--popover: var(--kb-theme-panel);
|
|
28
|
+
--popover-foreground: var(--kb-theme-ink);
|
|
29
|
+
--primary: var(--kb-theme-accent);
|
|
30
|
+
--primary-foreground: var(--kb-theme-on-accent);
|
|
31
|
+
--secondary: color-mix(in oklab, var(--kb-theme-paper) 94%, var(--kb-theme-ink));
|
|
32
|
+
--secondary-foreground: var(--kb-theme-ink);
|
|
33
|
+
--muted: color-mix(in oklab, var(--kb-theme-paper) 94%, var(--kb-theme-ink));
|
|
34
|
+
--muted-foreground: var(--kb-theme-muted);
|
|
35
|
+
--accent: color-mix(in oklab, var(--kb-theme-paper) 92%, var(--kb-theme-ink));
|
|
36
|
+
--accent-foreground: var(--kb-theme-ink);
|
|
37
|
+
--input: var(--kb-theme-rule);
|
|
38
|
+
--ring: var(--kb-theme-accent);
|
|
39
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import dynamic from "next/dynamic";
|
|
4
|
+
import type { KanbusThemeId } from "@kanbus/ui";
|
|
5
|
+
import "@kanbus/ui/styles/kanban.css";
|
|
6
|
+
import "@kanbus/ui/styles/themes/index.css";
|
|
7
|
+
import "./newsroom-theme.css";
|
|
8
|
+
import { getKanbusTheme, SITE_BRAND } from "../lib/site-brand";
|
|
9
|
+
import { useResolvedPapyrusTheme } from "./use-resolved-papyrus-theme";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The Kanbus theme scope for the whole newsroom. The publication hard-codes its
|
|
13
|
+
* theme (`SiteBrand.kanbusTheme`); only light/dark follows the editor's setting.
|
|
14
|
+
* Spread onto the newsroom root and onto the portaled menus that render outside it.
|
|
15
|
+
*/
|
|
16
|
+
export function useNewsroomThemeAttributes() {
|
|
17
|
+
const mode = useResolvedPapyrusTheme();
|
|
18
|
+
// Same attributes as `kanbusThemeAttributes(theme, mode)` from @kanbus/ui; spelled out so server-side tests need no ESM-only import.
|
|
19
|
+
return { "data-kanbus-theme": getKanbusTheme(SITE_BRAND), "data-color-mode": mode };
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const THEME_FONTS: Record<KanbusThemeId, ReturnType<typeof dynamic>> = {
|
|
23
|
+
"refined-newsprint": dynamic(() => import("./newsroom-theme-fonts/refined-newsprint")),
|
|
24
|
+
"newspaper-gothic": dynamic(() => import("./newsroom-theme-fonts/newspaper-gothic")),
|
|
25
|
+
"night-desk": dynamic(() => import("./newsroom-theme-fonts/night-desk")),
|
|
26
|
+
"broadsheet-green": dynamic(() => import("./newsroom-theme-fonts/broadsheet-green")),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/** Loads the font files for the brand's theme only (the Playfair wordmark comes from the root layout). */
|
|
30
|
+
export function NewsroomThemeFonts() {
|
|
31
|
+
const Fonts = THEME_FONTS[getKanbusTheme(SITE_BRAND)];
|
|
32
|
+
return <Fonts />;
|
|
33
|
+
}
|
|
@@ -28,28 +28,28 @@ function PublicationControls({mode,status,history,onReview,onSteer}:PublicationP
|
|
|
28
28
|
const signature=JSON.stringify(review);const previous=requests.current[key];
|
|
29
29
|
const id=previous?.signature===signature?previous.id:requestId();requests.current[key]={signature,id};
|
|
30
30
|
const payload=publicationReviewPayload(status,row,classifier,review,id);
|
|
31
|
-
if(!onReview)throw new Error('
|
|
31
|
+
if(!onReview)throw new Error('Reviewing is not turned on here.');
|
|
32
32
|
setBusy(key);setMessage(null);await onReview(payload);
|
|
33
|
-
if(current.current===context){setMessage({context,key,error:false,text:'
|
|
34
|
-
}catch(error){if(current.current===context)setMessage({context,key,error:true,text:error instanceof Error?error.message:'
|
|
33
|
+
if(current.current===context){setMessage({context,key,error:false,text:'Your choice was saved.'});setEditing(old=>({...old,[key]:false}));}
|
|
34
|
+
}catch(error){if(current.current===context)setMessage({context,key,error:true,text:error instanceof Error?error.message:'Your review may not have been saved; check before trying again.'});}
|
|
35
35
|
finally{if(current.current===context)setBusy(null);}
|
|
36
36
|
}
|
|
37
|
-
return <section data-publication-scope={context} aria-label="
|
|
38
|
-
<header><h2 className="text-lg font-semibold">
|
|
37
|
+
return <section data-publication-scope={context} aria-label="Suggestions and reviews" className="space-y-4">
|
|
38
|
+
<header><h2 className="text-lg font-semibold">Suggestions · {status.publicationId}</h2><p className="text-sm text-muted-foreground">{mode==='embedded'?'Suggestions and reviews are kept by this site.':'Suggestions and reviews are kept by the shared review service.'}</p></header>
|
|
39
39
|
{status.outputs.map(output=><section key={`${context}:${output.id}`} aria-label={output.question} className="space-y-3 rounded-md border p-3">
|
|
40
40
|
<CyclotronStatusView status={status.classifiers[output.id]} classifierName={output.question} variant="card"/>
|
|
41
|
-
{onSteer?<button type="button" disabled={Boolean(busy)} onClick={()=>onSteer(output.id)}>
|
|
41
|
+
{onSteer?<button type="button" disabled={Boolean(busy)} onClick={()=>onSteer(output.id)}>Test a rule change</button>:null}
|
|
42
42
|
{history.history.map(row=>{
|
|
43
43
|
const prediction=row.decision.classifiers[output.id];if(!prediction)return null;
|
|
44
44
|
const key=`${context}:${row.decision.decisionId}:${output.id}:${row.context?.contextId??'legacy'}`;const saved=row.reviews[output.id];const historical=Boolean(row.historicalContext||row.provenanceUnavailable||row.feedbackReconciliationRequired);
|
|
45
45
|
return <article key={key} className="space-y-2 rounded-md border p-3">
|
|
46
|
-
{historical?<p className="text-sm">
|
|
46
|
+
{historical?<p className="text-sm">An earlier copy of this source · read-only</p>:null}{row.feedbackReconciliationRequired?<p role="status">Earlier feedback changed; check this item before reviewing again.</p>:null}<h3 className="font-medium">{String(row.item.title??row.decision.itemId)}</h3>
|
|
47
47
|
<p className="whitespace-pre-wrap text-sm">{String(row.item.abstract??row.item.text??'')}</p>
|
|
48
|
-
{!saved||editing[key]?<p className="text-sm" role="status">{historical?'This
|
|
48
|
+
{!saved||editing[key]?<p className="text-sm" role="status">{historical?'This earlier copy is read-only.':!onReview?'Reviewing is not available right now.':busy===key?'Saving your review… your choice is kept.':'Choose an option to enable Submit review. An explanation is optional.'}</p>:null}
|
|
49
49
|
<ReviewControl key={`${key}:${Boolean(editing[key])}`} itemId={`${row.decision.itemId}:${Array.from(new TextEncoder().encode(context+':'+output.id+':'+(row.context?.contextId??'legacy')),byte=>byte.toString(16).padStart(2,'0')).join('')}`} decision={{decisionId:row.decision.decisionId,...prediction,classes:output.classes}} question={output.question} mode="labels" positiveLabel={output.positiveLabel??undefined} disabled={Boolean(busy)||!onReview||historical} value={saved&&!editing[key]?{label:saved.label,reasonCode:saved.reasonCode,explanation:saved.explanation}:undefined} onReview={review=>void submit(row,output.id,{...review,itemId:row.decision.itemId})}/>
|
|
50
50
|
{message?.context===context&&message.key===key?<p role={message.error?'alert':'status'} className="text-sm">{message.text}</p>:null}
|
|
51
|
-
{saved&&onReview&&!historical&&!editing[key]?<button type="button" disabled={Boolean(busy)} onClick={()=>setEditing(old=>({...old,[key]:true}))}>
|
|
52
|
-
<details><summary>
|
|
51
|
+
{saved&&onReview&&!historical&&!editing[key]?<button type="button" disabled={Boolean(busy)} onClick={()=>setEditing(old=>({...old,[key]:true}))}>Change my choice</button>:null}
|
|
52
|
+
<details><summary>Where this suggestion came from</summary><pre className="max-h-64 overflow-auto whitespace-pre-wrap text-xs">{JSON.stringify({itemId:row.decision.itemId,source:row.item.source_uri,decisionId:row.decision.decisionId,prediction,bindingRevision:row.context?.binding.values.revision??status.bindingRevision,sourceRef:row.context?.sourceRef,contextId:row.context?.contextId},null,2)}</pre></details>
|
|
53
53
|
</article>;
|
|
54
54
|
})}
|
|
55
55
|
</section>)}
|