@anthusai/papyrus 1.19.1 → 2.0.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 +7 -0
- package/amplify/data/resource.ts +8 -0
- package/amplify/data/schema.js +8 -0
- package/amplify/data/schema.ts +9 -0
- 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 +7 -0
- package/amplify/functions/model-attachment-upload/handler.ts +1 -0
- package/amplify/plugins/editorial-checks/function/handler.py +14 -0
- package/amplify/plugins/editorial-checks/function/requirements.txt +1 -0
- package/amplify/plugins/editorial-checks/function/resource.js +43 -0
- package/amplify/plugins/editorial-checks/function/resource.ts +60 -0
- package/amplify/plugins/editorial-checks/papyrus.plugin.js +71 -0
- package/amplify/plugins/editorial-checks/papyrus.plugin.ts +87 -0
- package/amplify/plugins/editorial-checks/schema.js +94 -0
- package/amplify/plugins/editorial-checks/schema.ts +96 -0
- package/amplify/plugins/registry.js +2 -0
- package/amplify/plugins/registry.ts +2 -0
- package/amplify/site-backend.js +5 -0
- package/amplify/site-backend.ts +11 -0
- package/app/globals.css +0 -175
- package/app/newsroom/[section]/[...selection]/page.tsx +0 -6
- package/app/newsroom/[section]/page.tsx +2 -4
- package/app/newsroom/articles/page.tsx +1 -2
- package/app/newsroom/sections/[sectionId]/page.tsx +2 -6
- package/bin/papyrus-infra.mjs +11 -2
- package/components/editorial-checks-admin-panel.tsx +337 -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/news-desk-page.tsx +3 -4
- package/components/newsroom-article-editor.tsx +138 -11
- package/components/newsroom-board-view.tsx +6 -7
- package/components/newsroom-ops-shell.tsx +146 -234
- package/components/newsroom-organizer.css +57 -61
- 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/reference-cyclotron-priming.tsx +12 -13
- package/components/reference-cyclotron-status.tsx +4 -4
- package/components/reference-cyclotron-suggestion.tsx +6 -6
- package/components/reference-live-agreement.tsx +10 -10
- package/components/reference-priming.tsx +1 -1
- package/components/reference-relevance-review.tsx +1 -1
- package/components/reference-section-suggestion.tsx +1 -1
- package/components/topic-steering-workspace.tsx +36 -511
- package/components/use-editorial-checks.ts +131 -0
- package/lib/cyclotron-suggestions.ts +9 -9
- package/lib/editorial-checks-backend.ts +16 -0
- package/lib/editorial-checks-client.ts +194 -0
- package/lib/editorial-checks-demo.ts +147 -0
- package/lib/editorial-checks-settings.ts +24 -0
- package/lib/editorial-checks.ts +178 -0
- package/lib/editorial-preview.ts +228 -0
- package/lib/newsroom-board.ts +27 -2
- package/lib/newsroom-list-selection.ts +0 -3
- package/lib/newsroom-nav.ts +5 -8
- package/lib/newsroom-section-routing.ts +2 -4
- package/lib/relevance-status.ts +4 -4
- package/lib/site-brand.ts +18 -8
- package/package.json +34 -3
- package/routes.manifest.json +1 -1
- package/src/cdk-environment.mjs +44 -0
- 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
- package/components/newsroom-organizer-shell.tsx +0 -153
|
@@ -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,22 +292,22 @@ 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}
|
|
@@ -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
|
+
}
|
|
@@ -6,9 +6,8 @@ import { primingStateText, type PrimingRequestView } from "../lib/relevance-stat
|
|
|
6
6
|
export type PrimingFormInput = { url: string; label: string; explanation: string };
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* A compact form
|
|
10
|
-
*
|
|
11
|
-
* and records the outcome, which this list shows beside each saved request.
|
|
9
|
+
* A compact "Add a reference" form for a pasted URL. The page is read in the
|
|
10
|
+
* background and the outcome is shown beside each added reference.
|
|
12
11
|
*/
|
|
13
12
|
export function ReferenceCyclotronPriming({
|
|
14
13
|
labels,
|
|
@@ -25,19 +24,19 @@ export function ReferenceCyclotronPriming({
|
|
|
25
24
|
const [message, setMessage] = useState<string | null>(null);
|
|
26
25
|
|
|
27
26
|
async function submit() {
|
|
28
|
-
setMessage("
|
|
27
|
+
setMessage("Adding…");
|
|
29
28
|
try {
|
|
30
29
|
await onRequestPriming({ url, label, explanation });
|
|
31
30
|
setUrl("");
|
|
32
31
|
setExplanation("");
|
|
33
|
-
setMessage("
|
|
32
|
+
setMessage("Added. The page will be read shortly.");
|
|
34
33
|
} catch (error) {
|
|
35
34
|
setMessage(error instanceof Error ? error.message : String(error));
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
return (
|
|
40
|
-
<section aria-label="
|
|
39
|
+
<section aria-label="Add a reference" className="space-y-2 text-sm" data-reference-cyclotron-priming>
|
|
41
40
|
<form
|
|
42
41
|
className="flex flex-wrap items-end gap-3"
|
|
43
42
|
onSubmit={(event) => {
|
|
@@ -46,9 +45,9 @@ export function ReferenceCyclotronPriming({
|
|
|
46
45
|
}}
|
|
47
46
|
>
|
|
48
47
|
<label className="flex min-w-64 flex-1 flex-col gap-1">
|
|
49
|
-
<span className="text-xs text-muted-foreground">
|
|
48
|
+
<span className="text-xs text-muted-foreground">Add a reference by URL</span>
|
|
50
49
|
<input
|
|
51
|
-
aria-label="
|
|
50
|
+
aria-label="Reference URL"
|
|
52
51
|
onChange={(event) => setUrl(event.target.value)}
|
|
53
52
|
placeholder="https://"
|
|
54
53
|
required
|
|
@@ -57,8 +56,8 @@ export function ReferenceCyclotronPriming({
|
|
|
57
56
|
/>
|
|
58
57
|
</label>
|
|
59
58
|
<label className="flex flex-col gap-1">
|
|
60
|
-
<span className="text-xs text-muted-foreground">
|
|
61
|
-
<select aria-label="
|
|
59
|
+
<span className="text-xs text-muted-foreground">Include or exclude</span>
|
|
60
|
+
<select aria-label="Include or exclude" onChange={(event) => setLabel(event.target.value)} value={label}>
|
|
62
61
|
{labels.map((choice) => (
|
|
63
62
|
<option key={choice} value={choice}>{choice}</option>
|
|
64
63
|
))}
|
|
@@ -66,13 +65,13 @@ export function ReferenceCyclotronPriming({
|
|
|
66
65
|
</label>
|
|
67
66
|
<label className="flex min-w-48 flex-1 flex-col gap-1">
|
|
68
67
|
<span className="text-xs text-muted-foreground">Why (optional)</span>
|
|
69
|
-
<input aria-label="
|
|
68
|
+
<input aria-label="Reason" onChange={(event) => setExplanation(event.target.value)} type="text" value={explanation} />
|
|
70
69
|
</label>
|
|
71
|
-
<button className="cyclotron-review-secondary" type="submit">
|
|
70
|
+
<button className="cyclotron-review-secondary" type="submit">Add reference</button>
|
|
72
71
|
{message ? <p className="basis-full text-xs" role="status">{message}</p> : null}
|
|
73
72
|
</form>
|
|
74
73
|
{requests.length ? (
|
|
75
|
-
<ul aria-label="
|
|
74
|
+
<ul aria-label="Added references" className="space-y-1 text-xs text-muted-foreground">
|
|
76
75
|
{requests.slice(0, 10).map((view) => (
|
|
77
76
|
<li data-priming-request-state={view.outcome?.state ?? "waiting"} key={view.request.requestId}>
|
|
78
77
|
<span className="font-medium">{view.request.label}</span> {view.request.url} · {primingStateText(view)}
|
|
@@ -38,19 +38,19 @@ export function ReferenceCyclotronStatus({
|
|
|
38
38
|
setMessage("Sending…");
|
|
39
39
|
try {
|
|
40
40
|
await onRequestRate(choice);
|
|
41
|
-
setMessage("The
|
|
41
|
+
setMessage("Saved. The new rate takes effect shortly and the status will show who set it.");
|
|
42
42
|
} catch (error) {
|
|
43
43
|
setMessage(error instanceof Error ? error.message : String(error));
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
return (
|
|
48
|
-
<section aria-label="
|
|
48
|
+
<section aria-label="Suggestion status" className="space-y-2" data-reference-cyclotron-status>
|
|
49
49
|
<CyclotronStatusView status={status} />
|
|
50
50
|
{stale ? (
|
|
51
51
|
<p className="text-xs text-foreground" data-reference-cyclotron-status-stale>
|
|
52
52
|
<span aria-hidden="true">⚠ </span>
|
|
53
|
-
|
|
53
|
+
Status last updated {Math.round(ageHours)} hours ago; it refreshes automatically.
|
|
54
54
|
</p>
|
|
55
55
|
) : null}
|
|
56
56
|
<button
|
|
@@ -59,7 +59,7 @@ export function ReferenceCyclotronStatus({
|
|
|
59
59
|
onClick={() => setOpen((value) => !value)}
|
|
60
60
|
type="button"
|
|
61
61
|
>
|
|
62
|
-
{open ? "Hide
|
|
62
|
+
{open ? "Hide suggestion details" : "Suggestion details"}
|
|
63
63
|
</button>
|
|
64
64
|
{open ? (
|
|
65
65
|
<div className="space-y-3">
|
|
@@ -101,12 +101,12 @@ export function ReferenceSuggestionProvenance({ decision }: { decision: Relevanc
|
|
|
101
101
|
<ul className="mt-2 space-y-1">
|
|
102
102
|
<li>{summary.teachingLabelsSentence}.</li>
|
|
103
103
|
<li>{summary.primingExamplesSentence}.</li>
|
|
104
|
-
<li>
|
|
105
|
-
<li>
|
|
104
|
+
<li>Guidelines code {summary.doctrineShortHash ?? "not recorded"}.</li>
|
|
105
|
+
<li>Suggestion {summary.modelVersion ?? "revision not recorded"}.</li>
|
|
106
106
|
<li>Decided {formatSuggestionTime(summary.decidedAt)}.</li>
|
|
107
107
|
</ul>
|
|
108
108
|
) : (
|
|
109
|
-
<p className="mt-2">This suggestion was made before the
|
|
109
|
+
<p className="mt-2">This suggestion was made before the details were recorded. Only its revision and confidence are known.</p>
|
|
110
110
|
)}
|
|
111
111
|
</details>
|
|
112
112
|
);
|
|
@@ -116,7 +116,7 @@ export function ReferenceSuggestionProvenance({ decision }: { decision: Relevanc
|
|
|
116
116
|
export function CountsAsTrainingLabelNote({ referenceLineageId }: { referenceLineageId: string }) {
|
|
117
117
|
return (
|
|
118
118
|
<p className="border-l-2 border-foreground pl-2 text-xs font-semibold text-foreground" data-reference-training-label={referenceLineageId}>
|
|
119
|
-
|
|
119
|
+
Recorded as an editor’s own decision.
|
|
120
120
|
</p>
|
|
121
121
|
);
|
|
122
122
|
}
|
|
@@ -135,8 +135,8 @@ export function DelegatedCurationNote({ delegated, referenceLineageId }: { deleg
|
|
|
135
135
|
<p className="text-xs">Delegation {delegated.delegationShortId || "id not recorded"}.</p>
|
|
136
136
|
<p className="text-xs font-semibold" data-reference-training-label={referenceLineageId}>
|
|
137
137
|
{delegated.countsAsTrainingLabel
|
|
138
|
-
? `
|
|
139
|
-
: "
|
|
138
|
+
? `Recorded as ${delegated.person ?? "the person"}'s own decision.`
|
|
139
|
+
: "Not recorded as a person's own decision."}
|
|
140
140
|
</p>
|
|
141
141
|
</section>
|
|
142
142
|
);
|