@anthusai/papyrus 2.0.0-next.1 → 2.0.0-next.100
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/auth/resource.js +16 -1
- package/amplify/auth/resource.ts +19 -1
- package/amplify/data/function-handler.js +20 -0
- package/amplify/data/function-handler.ts +40 -0
- package/amplify/data/resource.js +158 -61
- package/amplify/data/resource.ts +165 -61
- package/amplify/data/schema.js +2103 -1979
- package/amplify/data/schema.ts +206 -68
- package/amplify/functions/assignment-action/data-access.js +90 -0
- package/amplify/functions/assignment-action/data-access.ts +89 -0
- package/amplify/functions/assignment-action/handler.ts +1 -1
- package/amplify/functions/automation-view/handler.py +17 -0
- package/amplify/functions/automation-view/resource.js +24 -0
- package/amplify/functions/automation-view/resource.ts +34 -0
- package/amplify/functions/automation-view/schema.js +26 -0
- package/amplify/functions/automation-view/schema.ts +28 -0
- package/amplify/functions/automation-view/wire.js +56 -0
- package/amplify/functions/automation-view/wire.ts +76 -0
- package/amplify/functions/content-actions/handler.py +70 -2
- 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 +122 -0
- package/amplify/functions/editorial-checks/schema.ts +124 -0
- package/amplify/functions/editorial-checks/wire.js +53 -0
- package/amplify/functions/editorial-checks/wire.ts +61 -0
- package/amplify/functions/model-attachment-upload/handler.ts +1 -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 +29 -0
- package/amplify/functions/monitoring-view/schema.ts +31 -0
- package/amplify/functions/monitoring-view/wire.js +64 -0
- package/amplify/functions/monitoring-view/wire.ts +81 -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/editorial-context.ts +63 -4
- package/amplify/functions/shared/python-bundle.js +20 -14
- package/amplify/functions/shared/python-bundle.ts +25 -18
- package/amplify/plugins/newsletter/config.js +245 -0
- package/amplify/plugins/newsletter/config.ts +305 -0
- package/amplify/plugins/newsletter/function/handler.py +6 -0
- package/amplify/plugins/newsletter/function/requirements.txt +5 -0
- package/amplify/plugins/newsletter/ops/handler.py +12 -0
- package/amplify/plugins/newsletter/ops/resource.js +27 -0
- package/amplify/plugins/newsletter/ops/resource.ts +37 -0
- package/amplify/plugins/newsletter/papyrus.plugin.js +263 -0
- package/amplify/plugins/newsletter/papyrus.plugin.ts +311 -0
- package/amplify/plugins/newsletter/schema.js +57 -0
- package/amplify/plugins/newsletter/schema.ts +62 -0
- package/amplify/plugins/newsletter/secure-string-parameter.js +107 -0
- package/amplify/plugins/newsletter/secure-string-parameter.ts +120 -0
- package/amplify/plugins/newsletter/sending.js +140 -0
- package/amplify/plugins/newsletter/sending.ts +186 -0
- package/amplify/plugins/reader-steering/config.js +182 -0
- package/amplify/plugins/reader-steering/config.ts +290 -0
- package/amplify/plugins/reader-steering/function/ai_moderation.py +246 -0
- package/amplify/plugins/reader-steering/function/handler.py +1567 -0
- package/amplify/plugins/reader-steering/function/moderation-prompt.md +27 -0
- package/amplify/plugins/reader-steering/function/moderation.py +316 -0
- package/amplify/plugins/reader-steering/function/proposals.py +458 -0
- package/amplify/plugins/reader-steering/function/resource.js +27 -0
- package/amplify/plugins/reader-steering/function/resource.ts +35 -0
- package/amplify/plugins/reader-steering/papyrus.plugin.js +186 -0
- package/amplify/plugins/reader-steering/papyrus.plugin.ts +212 -0
- package/amplify/plugins/reader-steering/schema.js +229 -0
- package/amplify/plugins/reader-steering/schema.ts +231 -0
- package/amplify/plugins/registry.js +4 -0
- package/amplify/plugins/registry.ts +4 -0
- package/amplify/plugins/signup/schema.js +2 -1
- package/amplify/plugins/signup/schema.ts +2 -1
- package/amplify/plugins/types.ts +5 -0
- package/amplify/plugins/wire.js +1 -0
- package/amplify/plugins/wire.ts +1 -0
- package/amplify/publication/projection-lease.js +30 -0
- package/amplify/publication/projection-lease.ts +39 -0
- package/amplify/publication/redirect-and-index.js +105 -0
- package/amplify/publication/redirect-rules.js +73 -0
- package/amplify/publication/redirect-rules.ts +93 -0
- package/amplify/publication/s3-projection.js +7 -1
- package/amplify/publication/s3-projection.ts +9 -1
- package/amplify/site-backend-config.js +19 -0
- package/amplify/site-backend-config.ts +45 -1
- package/amplify/site-backend-names.js +4 -2
- package/amplify/site-backend-names.ts +4 -2
- package/amplify/site-backend.js +51 -4
- package/amplify/site-backend.ts +60 -4
- package/app/api/auth/prospectus/sign-in/route.ts +4 -0
- package/app/api/newsletter/confirm/route.ts +13 -0
- package/app/api/newsletter/preferences/route.ts +13 -0
- package/app/api/newsletter/state/route.ts +9 -0
- package/app/api/newsletter/subscribe/route.ts +9 -0
- package/app/api/newsletter/unsubscribe/route.ts +13 -0
- package/app/api/newsroom/chat/[...path]/route.ts +17 -0
- 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/app/api/reader/comment/delete/route.ts +9 -0
- package/app/api/reader/comment/edit/route.ts +9 -0
- package/app/api/reader/comment/route.ts +9 -0
- package/app/api/reader/flag/route.ts +9 -0
- package/app/api/reader/handle/route.ts +9 -0
- package/app/api/reader/me/route.ts +9 -0
- package/app/api/reader/rating/route.ts +9 -0
- package/app/api/reader/report/route.ts +9 -0
- package/app/api/reader/retired/route.ts +9 -0
- package/app/api/reader/submit/route.ts +9 -0
- package/app/api/reader/vote/route.ts +9 -0
- package/app/layout.tsx +5 -1
- package/bin/papyrus-infra.mjs +20 -1
- package/components/automation-panel.tsx +49 -0
- package/components/automation-run-now.tsx +97 -0
- package/components/automation-view.tsx +195 -0
- 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/moderation-panel.tsx +248 -0
- package/components/monitoring-overview-view.tsx +414 -0
- package/components/monitoring-panel.tsx +60 -0
- package/components/news-desk-client-provider.tsx +18 -18
- package/components/news-desk-taxonomy-client.ts +28 -8
- package/components/newsletter-panel.tsx +474 -0
- package/components/newsletter-sections.tsx +163 -0
- package/components/newsroom-access-gate.tsx +16 -2
- package/components/newsroom-article-editor.tsx +145 -18
- package/components/newsroom-articles-view.tsx +6 -6
- package/components/newsroom-assignment-detail.tsx +6 -6
- package/components/newsroom-board-view.tsx +14 -10
- package/components/newsroom-curation-bootstrap.tsx +45 -0
- package/components/newsroom-ops-overview.tsx +26 -96
- package/components/newsroom-ops-shell.tsx +9 -5
- package/components/newsroom-organizer.css +90 -61
- package/components/newsroom-overview-skeleton.tsx +25 -0
- package/components/newsroom-references-view.tsx +192 -49
- 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/notification-center.tsx +281 -0
- package/components/papyrus-console-conversation.css +14 -0
- package/components/papyrus-console-conversation.tsx +55 -0
- package/components/papyrus-console-shell.tsx +62 -420
- package/components/papyrus-private-chat-panel.tsx +134 -0
- package/components/publication-cyclotron-panel.tsx +15 -10
- package/components/reader-auth-state.ts +1 -1
- package/components/reference-add-entry.tsx +75 -0
- package/components/reference-curation-controls.tsx +31 -22
- package/components/reference-cyclotron-priming.tsx +63 -25
- package/components/reference-cyclotron-status.tsx +4 -4
- package/components/reference-cyclotron-suggestion.tsx +15 -11
- package/components/reference-live-agreement.tsx +10 -10
- package/components/reference-priming.tsx +14 -10
- package/components/reference-relevance-review.tsx +4 -4
- package/components/reference-section-suggestion.tsx +2 -2
- package/components/topic-steering-workspace.tsx +241 -144
- package/components/use-editorial-checks.ts +133 -0
- package/infra/amplify-app-shell.js +96 -16
- package/infra/amplify-app-shell.ts +108 -18
- package/infra/cloud-email-config.js +32 -0
- package/infra/cloud-email-config.ts +39 -0
- package/infra/cloud-email.js +57 -0
- package/infra/cloud-email.test.js +69 -0
- package/infra/cloud-email.test.ts +66 -0
- package/infra/cloud-email.ts +60 -0
- package/infra/index.js +1 -0
- package/infra/secure-string-parameter-handler.js +41 -0
- package/infra/secure-string-parameter-handler.ts +41 -0
- package/infra/secure-string-parameter.js +79 -0
- package/infra/secure-string-parameter.ts +91 -0
- package/infra/site-config.js +92 -6
- package/infra/site-config.ts +138 -6
- package/lib/automation-client.ts +54 -0
- package/lib/automation-fixture.ts +93 -0
- package/lib/automation-overview.ts +252 -0
- package/lib/category-repository.ts +14 -12
- package/lib/console-web-context.ts +1 -1
- package/lib/curation-routes.ts +345 -0
- package/lib/cyclotron-suggestions.ts +11 -11
- 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 +175 -0
- package/lib/editorial-preview.ts +228 -0
- package/lib/monitoring-client.ts +83 -0
- package/lib/monitoring-overview-fixture.ts +51 -0
- package/lib/monitoring-overview.ts +188 -0
- package/lib/news-desk-session.ts +12 -21
- package/lib/newsletter-api.ts +418 -0
- package/lib/newsletter-client.ts +46 -0
- package/lib/newsletter-fixture.ts +184 -0
- package/lib/newsletter-model.ts +202 -0
- package/lib/newsroom-board.ts +27 -2
- package/lib/newsroom-demo-dashboard.ts +1 -1
- package/lib/newsroom-nav.ts +1 -1
- package/lib/newsroom-organizer-nav.ts +2 -1
- package/lib/papyrus-chat-admission.ts +65 -0
- package/lib/papyrus-hosted-chat.ts +217 -0
- package/lib/papyrus-private-chat-client.ts +81 -0
- package/lib/prospectus-session.ts +30 -14
- package/lib/prospectus-sign-in-routes.ts +106 -31
- package/lib/prospectus-site-identity.ts +46 -6
- package/lib/reader-api.ts +145 -0
- package/lib/reader-moderation.ts +220 -0
- package/lib/reader-retirement-route.ts +89 -0
- package/lib/reader-subject.md +29 -0
- package/lib/reader-subject.ts +53 -0
- package/lib/reference-review-details.ts +71 -0
- package/lib/reference-review-request.ts +14 -0
- package/lib/relevance-decisions.ts +42 -10
- package/lib/relevance-status.ts +6 -6
- package/lib/review-client.ts +120 -0
- package/lib/review-fixture.ts +45 -0
- package/lib/review-requests.ts +246 -0
- package/lib/semantic-graph.ts +2 -0
- package/lib/shared-chat-admission.ts +182 -0
- package/lib/site-brand-tenant.ts +11 -6
- package/lib/site-brand.ts +23 -3
- package/lib/site-origin-value.ts +50 -0
- package/lib/site-origin.ts +8 -0
- package/lib/use-reference-review-data.ts +44 -0
- package/middleware.ts +14 -3
- package/package.json +98 -4
- package/routes.manifest.json +227 -2
- package/src/with-papyrus.mjs +1 -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,24 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
BookOpenIcon,
|
|
5
|
-
ClipboardListIcon,
|
|
6
|
-
FileTextIcon,
|
|
7
|
-
LayersIcon,
|
|
8
|
-
MessageSquareIcon,
|
|
9
|
-
NetworkIcon,
|
|
10
|
-
SearchIcon,
|
|
11
|
-
SettingsIcon,
|
|
12
|
-
} from "lucide-react";
|
|
13
3
|
import Link from "next/link";
|
|
14
4
|
import { usePathname } from "next/navigation";
|
|
15
5
|
import { useMemo } from "react";
|
|
16
6
|
import { Badge } from "./ui/badge";
|
|
17
7
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card";
|
|
18
|
-
import type { AssignmentRecord,
|
|
19
|
-
import { getNewsroomNavHref
|
|
8
|
+
import type { AssignmentRecord, NewsroomSectionRecord, ReferenceRecord } from "../lib/category-repository";
|
|
9
|
+
import { getNewsroomNavHref } from "../lib/newsroom-nav";
|
|
20
10
|
import {
|
|
21
|
-
countReferencesByStatus,
|
|
22
11
|
filterReferencesByStatus,
|
|
23
12
|
formatReferenceListDate,
|
|
24
13
|
referenceDisplayTitle,
|
|
@@ -33,57 +22,33 @@ import {
|
|
|
33
22
|
sortNewsroomSections,
|
|
34
23
|
} from "../lib/newsroom-sections";
|
|
35
24
|
import { newsroomInboxRowClassName } from "../lib/newsroom-list-selection";
|
|
25
|
+
import type { RelevanceDecisionView } from "../lib/relevance-decisions";
|
|
26
|
+
import { NotificationCenter } from "./notification-center";
|
|
36
27
|
|
|
37
28
|
type NewsroomOpsOverviewProps = {
|
|
38
29
|
assignments: AssignmentRecord[];
|
|
30
|
+
actorLabel?: string;
|
|
31
|
+
decisions?: ReadonlyMap<string, RelevanceDecisionView>;
|
|
39
32
|
demo?: boolean;
|
|
40
|
-
|
|
33
|
+
humanCuratedReferenceLineageIds?: ReadonlySet<string>;
|
|
41
34
|
newsroomSections: NewsroomSectionRecord[];
|
|
42
35
|
references: ReferenceRecord[];
|
|
43
36
|
};
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const DESTINATION_ICONS: Record<DestinationKey, typeof BookOpenIcon> = {
|
|
48
|
-
articles: FileTextIcon,
|
|
49
|
-
assignments: ClipboardListIcon,
|
|
50
|
-
references: BookOpenIcon,
|
|
51
|
-
messages: MessageSquareIcon,
|
|
52
|
-
topics: LayersIcon,
|
|
53
|
-
concepts: NetworkIcon,
|
|
54
|
-
administration: SettingsIcon,
|
|
55
|
-
search: SearchIcon,
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
const DESTINATIONS = NEWSROOM_OPS_NAV.filter((item) => item.id !== "overview").map((item) => ({
|
|
59
|
-
key: item.id as DestinationKey,
|
|
60
|
-
label: item.label,
|
|
61
|
-
detail: item.detail,
|
|
62
|
-
href: item.href,
|
|
63
|
-
icon: DESTINATION_ICONS[item.id as DestinationKey],
|
|
64
|
-
}));
|
|
65
|
-
|
|
66
|
-
function openAssignmentCount(assignments: AssignmentRecord[]): number {
|
|
67
|
-
return assignments.filter((assignment) => {
|
|
68
|
-
const status = assignment.status?.trim().toLowerCase() ?? "";
|
|
69
|
-
return status === "open" || status === "claimed" || status === "pending";
|
|
70
|
-
}).length;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function recentMessageCount(messages: MessageRecord[]): number {
|
|
74
|
-
return messages.filter((message) => message.status !== "archived").length;
|
|
75
|
-
}
|
|
38
|
+
const NO_DECISIONS: ReadonlyMap<string, RelevanceDecisionView> = new Map();
|
|
39
|
+
const NO_IDS: ReadonlySet<string> = new Set();
|
|
76
40
|
|
|
77
41
|
export function NewsroomOpsOverview({
|
|
42
|
+
actorLabel = "",
|
|
78
43
|
assignments,
|
|
44
|
+
decisions = NO_DECISIONS,
|
|
79
45
|
demo = false,
|
|
80
|
-
|
|
46
|
+
humanCuratedReferenceLineageIds = NO_IDS,
|
|
81
47
|
newsroomSections,
|
|
82
48
|
references,
|
|
83
49
|
}: NewsroomOpsOverviewProps) {
|
|
84
50
|
const pathname = usePathname();
|
|
85
51
|
const canonicalReferences = useMemo(() => selectCanonicalReferenceRecords(references), [references]);
|
|
86
|
-
const referenceCounts = useMemo(() => countReferencesByStatus(canonicalReferences), [canonicalReferences]);
|
|
87
52
|
const pendingReferences = useMemo(
|
|
88
53
|
() => filterReferencesByStatus(canonicalReferences, "pending").slice(0, 5),
|
|
89
54
|
[canonicalReferences],
|
|
@@ -104,12 +69,6 @@ export function NewsroomOpsOverview({
|
|
|
104
69
|
const coreDesks = useMemo(() => desks.filter(desk => newsroomDeskKind(desk) === "core"), [desks]);
|
|
105
70
|
const rotatingDesks = useMemo(() => desks.filter(desk => newsroomDeskKind(desk) === "rotating"), [desks]);
|
|
106
71
|
|
|
107
|
-
const destinationCounts: Partial<Record<DestinationKey, number | null>> = {
|
|
108
|
-
references: referenceCounts.pending ?? 0,
|
|
109
|
-
assignments: openAssignmentCount(assignments),
|
|
110
|
-
messages: recentMessageCount(messages),
|
|
111
|
-
};
|
|
112
|
-
|
|
113
72
|
return (
|
|
114
73
|
<div
|
|
115
74
|
className="space-y-8 font-sans"
|
|
@@ -117,44 +76,15 @@ export function NewsroomOpsOverview({
|
|
|
117
76
|
data-newsroom-ops-home="true"
|
|
118
77
|
>
|
|
119
78
|
<div className="space-y-8" data-newsroom-overview-feeds>
|
|
120
|
-
<
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
{
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
<Link
|
|
130
|
-
className="group block rounded-xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
131
|
-
data-newsroom-ops-destination={key}
|
|
132
|
-
data-newsroom-overview-section={key}
|
|
133
|
-
href={href}
|
|
134
|
-
key={key}
|
|
135
|
-
>
|
|
136
|
-
<Card className="h-full transition-colors group-hover:border-primary/40">
|
|
137
|
-
<CardHeader className="space-y-3 p-4">
|
|
138
|
-
<div className="flex items-center justify-between gap-2">
|
|
139
|
-
<span className="flex size-9 items-center justify-center rounded-lg bg-primary/10 text-primary">
|
|
140
|
-
<Icon className="size-4" aria-hidden="true" />
|
|
141
|
-
</span>
|
|
142
|
-
{count != null && count > 0 ? (
|
|
143
|
-
<Badge variant="default">{count}</Badge>
|
|
144
|
-
) : null}
|
|
145
|
-
</div>
|
|
146
|
-
<div className="space-y-0.5">
|
|
147
|
-
<CardTitle className="text-base font-semibold">{meta.label}</CardTitle>
|
|
148
|
-
<CardDescription>{meta.detail}</CardDescription>
|
|
149
|
-
</div>
|
|
150
|
-
</CardHeader>
|
|
151
|
-
</Card>
|
|
152
|
-
</Link>
|
|
153
|
-
);
|
|
154
|
-
})}
|
|
155
|
-
</div>
|
|
156
|
-
</section>
|
|
157
|
-
|
|
79
|
+
<div aria-label="Notification Center feed" className="newsroom-overview-feed-frame rounded-xl border bg-card p-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" data-newsroom-overview-notifications role="region" tabIndex={0}>
|
|
80
|
+
<NotificationCenter
|
|
81
|
+
actorLabel={actorLabel}
|
|
82
|
+
decisions={decisions}
|
|
83
|
+
demo={demo}
|
|
84
|
+
humanCuratedReferenceLineageIds={humanCuratedReferenceLineageIds}
|
|
85
|
+
references={canonicalReferences}
|
|
86
|
+
/>
|
|
87
|
+
</div>
|
|
158
88
|
<section aria-label="Needs attention" className="space-y-3">
|
|
159
89
|
<h2 className="text-sm font-medium text-muted-foreground">Needs attention</h2>
|
|
160
90
|
{pendingReferences.length || attentionAssignments.length ? (
|
|
@@ -208,16 +138,16 @@ export function NewsroomOpsOverview({
|
|
|
208
138
|
) : (
|
|
209
139
|
<Card>
|
|
210
140
|
<CardContent className="p-4 text-sm text-muted-foreground">
|
|
211
|
-
|
|
141
|
+
No pending references or open assignments. Check those destinations for other work.
|
|
212
142
|
</CardContent>
|
|
213
143
|
</Card>
|
|
214
144
|
)}
|
|
215
145
|
</section>
|
|
216
146
|
|
|
217
147
|
{desks.length ? (
|
|
218
|
-
<section aria-label="
|
|
219
|
-
<h2 className="text-sm font-medium text-muted-foreground">
|
|
220
|
-
{coreDesks.length ? <h3 className="newsroom-desk-group-heading" data-newsroom-ops-desk-group="core">Core
|
|
148
|
+
<section aria-label="Sections" className="space-y-3" data-newsroom-ops-desks>
|
|
149
|
+
<h2 className="text-sm font-medium text-muted-foreground">Sections</h2>
|
|
150
|
+
{coreDesks.length ? <h3 className="newsroom-desk-group-heading" data-newsroom-ops-desk-group="core">Core sections</h3> : null}
|
|
221
151
|
<div className="grid gap-3 sm:grid-cols-2 lg:grid-cols-3">
|
|
222
152
|
{coreDesks.map((section) => (
|
|
223
153
|
<Link
|
|
@@ -237,7 +167,7 @@ export function NewsroomOpsOverview({
|
|
|
237
167
|
</Link>
|
|
238
168
|
))}
|
|
239
169
|
</div>
|
|
240
|
-
{rotatingDesks.length ? <h3 className="newsroom-desk-group-heading" data-newsroom-ops-desk-group="rotating">Rotating
|
|
170
|
+
{rotatingDesks.length ? <h3 className="newsroom-desk-group-heading" data-newsroom-ops-desk-group="rotating">Rotating sections <small>appear for a while, then rotate out</small></h3> : null}
|
|
241
171
|
{rotatingDesks.length ? <div className="grid gap-3 sm:grid-cols-2 lg:grid-cols-3">
|
|
242
172
|
{rotatingDesks.map((section) => (
|
|
243
173
|
<Link
|
|
@@ -8,7 +8,7 @@ import { cn } from "../lib/utils";
|
|
|
8
8
|
import { useEffect, useId, useState, type ReactNode } from "react";
|
|
9
9
|
import Link from "next/link";
|
|
10
10
|
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
|
11
|
-
import { BookOpen, ClipboardList, Menu, Search, MessagesSquare, PanelLeftClose, PanelLeftOpen, Settings, UserRound, LogIn, LogOut } from "lucide-react";
|
|
11
|
+
import { BookOpen, ClipboardList, House, Menu, Search, MessagesSquare, PanelLeftClose, PanelLeftOpen, Settings, UserRound, LogIn, LogOut } from "lucide-react";
|
|
12
12
|
import { ORGANIZER_NAV_GROUPS, ORGANIZER_PRIMARY_NAV, ORGANIZER_SETTINGS_DESTINATION } from "../lib/newsroom-organizer-nav";
|
|
13
13
|
import { browserPathToInternalNewsroomPath } from "../lib/newsroom-base-path";
|
|
14
14
|
import { getNewsroomNavHref } from "../lib/newsroom-nav";
|
|
@@ -19,6 +19,7 @@ import { ProspectusAccountChooser, useProspectusAccountSummary } from "./prospec
|
|
|
19
19
|
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription, SheetTrigger } from "./ui/sheet";
|
|
20
20
|
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator } from "./ui/dropdown-menu";
|
|
21
21
|
import "./newsroom-organizer.css";
|
|
22
|
+
import { NewsroomThemeFonts, useNewsroomThemeAttributes } from "./newsroom-theme";
|
|
22
23
|
|
|
23
24
|
export type NewsroomNavCount = {
|
|
24
25
|
count: number | null;
|
|
@@ -54,7 +55,7 @@ function OrganizerSearch({ demo }: { demo: boolean }) {
|
|
|
54
55
|
</form>;
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
const ICONS = { articles: ClipboardList, references: BookOpen, messages: MessagesSquare };
|
|
58
|
+
const ICONS = { overview: House, articles: ClipboardList, references: BookOpen, messages: MessagesSquare };
|
|
58
59
|
|
|
59
60
|
/** Navigation is a presentation layer; existing route and server authorization still own access. */
|
|
60
61
|
function Navigation({ activePath, demo, admin, surface, onNavigate }: { activePath: string; demo: boolean; admin: boolean; surface: string; onNavigate?: () => void }) {
|
|
@@ -85,11 +86,12 @@ function Account({ placement }: { placement: "sidebar" | "header" }) {
|
|
|
85
86
|
media.addEventListener("change", close);
|
|
86
87
|
return () => media.removeEventListener("change", close);
|
|
87
88
|
}, []);
|
|
89
|
+
const themeAttributes = useNewsroomThemeAttributes();
|
|
88
90
|
return <DropdownMenu open={open} onOpenChange={setOpen}>
|
|
89
91
|
<DropdownMenuTrigger id={`organizer-account-trigger-${placement}`} className={`organizer-account organizer-account-${placement}`} aria-label="Account menu" title="Account menu">
|
|
90
92
|
<UserRound size={18} aria-hidden="true" /><span><strong>{auth.label}</strong><small>{accountSummary ?? (auth.status === "signedIn" ? "Account & preferences" : auth.status === "signedOut" ? "Not signed in" : "Checking session")}</small></span>
|
|
91
93
|
</DropdownMenuTrigger>
|
|
92
|
-
<DropdownMenuContent className="organizer-account-popup" side={placement === "sidebar" ? "top" : "bottom"} align="end">
|
|
94
|
+
<DropdownMenuContent className="organizer-account-popup" {...themeAttributes} side={placement === "sidebar" ? "top" : "bottom"} align="end">
|
|
93
95
|
<DropdownMenuGroup>
|
|
94
96
|
<DropdownMenuLabel>{auth.label}</DropdownMenuLabel><DropdownMenuSeparator />
|
|
95
97
|
<ProspectusAccountChooser />
|
|
@@ -104,6 +106,7 @@ function Account({ placement }: { placement: "sidebar" | "header" }) {
|
|
|
104
106
|
|
|
105
107
|
export function NewsroomOpsShell({ activeTab, appTitle, backHref = "/", backLabel, children, demo = false, headerActions, pageTitle, showNavigation = true }: NewsroomOpsShellProps) {
|
|
106
108
|
const pathname = usePathname();
|
|
109
|
+
const themeAttributes = useNewsroomThemeAttributes();
|
|
107
110
|
const session = useOptionalNewsDeskClient();
|
|
108
111
|
const admin = demo || session?.shell.dashboard?.canManageUsers === true;
|
|
109
112
|
const [menuOpen, setMenuOpen] = useState(false);
|
|
@@ -145,7 +148,8 @@ export function NewsroomOpsShell({ activeTab, appTitle, backHref = "/", backLabe
|
|
|
145
148
|
aria-label={sidebarToggleLabel} aria-expanded={!collapsed} aria-controls="organizer-sidebar" onClick={() => setCollapsed(value => !value)}>
|
|
146
149
|
{collapsed ? <PanelLeftOpen size={16} aria-hidden="true" /> : <PanelLeftClose size={16} aria-hidden="true" />}
|
|
147
150
|
</button>;
|
|
148
|
-
return <div className="newsroom-organizer" data-news-desk data-newsroom-ops-shell="true" data-newsroom-chrome="organizer" data-sidebar-collapsed={collapsed || !showNavigation ? "true" : "false"}>
|
|
151
|
+
return <div className="newsroom-organizer" {...themeAttributes} data-news-desk data-newsroom-ops-shell="true" data-newsroom-chrome="organizer" data-sidebar-collapsed={collapsed || !showNavigation ? "true" : "false"}>
|
|
152
|
+
<NewsroomThemeFonts />
|
|
149
153
|
{showNavigation && <aside className="organizer-sidebar" hidden={collapsed} id="organizer-sidebar">
|
|
150
154
|
<div className="organizer-sidebar-head">
|
|
151
155
|
<Link className="organizer-brand" href={getNewsroomNavHref("/newsroom", demo)}>{SITE_BRAND.components?.NewsroomLogo ? <SITE_BRAND.components.NewsroomLogo className="organizer-brand-logo" /> : appTitle}<small>The newsroom</small></Link>
|
|
@@ -167,7 +171,7 @@ export function NewsroomOpsShell({ activeTab, appTitle, backHref = "/", backLabe
|
|
|
167
171
|
href={getNewsroomNavHref(item.path, demo)} title={item.description} aria-label={item.label} aria-current={activeTab === item.key ? "page" : undefined}>
|
|
168
172
|
<Icon size={18} aria-hidden="true" /><span>{item.label}</span></Link></li>; })}
|
|
169
173
|
<li><Sheet open={menuOpen} onOpenChange={setMenuOpen}><SheetTrigger className="organizer-more" aria-label="More"><Menu size={18} aria-hidden="true" /><span>More</span></SheetTrigger>
|
|
170
|
-
<SheetContent side="bottom" className="organizer-menu"><SheetHeader><SheetTitle>Newsroom</SheetTitle><SheetDescription>Workspaces and administration</SheetDescription></SheetHeader>
|
|
174
|
+
<SheetContent side="bottom" className="organizer-menu" {...themeAttributes}><SheetHeader><SheetTitle>Newsroom</SheetTitle><SheetDescription>Workspaces and administration</SheetDescription></SheetHeader>
|
|
171
175
|
<Navigation activePath={activePath} demo={demo} admin={admin} surface="menu" onNavigate={() => setMenuOpen(false)} />
|
|
172
176
|
</SheetContent>
|
|
173
177
|
</Sheet></li>
|
|
@@ -1,35 +1,33 @@
|
|
|
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}
|
|
26
|
+
.newsroom-overview-feed-frame{height:auto}
|
|
27
|
+
@media(min-width:640px){.newsroom-overview-feed-frame{height:38rem;overflow-y:auto}}
|
|
30
28
|
.organizer-main>[data-category-steering]{min-height:0}.organizer-demo-notice{font-size:11px;color:var(--org-muted);margin-bottom:12px}
|
|
31
29
|
.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
|
|
30
|
+
.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
31
|
.organizer-account-header{display:none;padding:8px;min-width:36px;min-height:36px}.organizer-account-header span{display:none}
|
|
34
32
|
.newsroom-organizer[data-sidebar-collapsed=true] .organizer-account-header{display:flex}
|
|
35
33
|
.organizer-account-popup{min-width:250px;max-width:calc(100vw - 32px);border:1px solid var(--org-line);padding:6px;border-radius:4px}
|
|
@@ -39,7 +37,7 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
39
37
|
.organizer-native-board{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:8px}
|
|
40
38
|
.organizer-board-view-toggle{display:flex;gap:4px;flex-shrink:0}
|
|
41
39
|
.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:
|
|
40
|
+
.organizer-header-button[aria-pressed=true]{background:transparent;color:var(--org-ink);font-weight:600;border-color:var(--org-ink)}
|
|
43
41
|
.organizer-board-note{font-size:11px;line-height:1.5;margin:0;color:var(--org-muted);white-space:nowrap}
|
|
44
42
|
@media(min-width:901px){.newsroom-organizer[data-sidebar-collapsed=false] .organizer-masthead{display:none}}
|
|
45
43
|
.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 +55,7 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
57
55
|
.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
56
|
.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
57
|
.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
|
|
58
|
+
.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
59
|
.organizer-bottom-nav a[aria-current=page]{background:var(--muted);font-weight:600}
|
|
62
60
|
.organizer-board-body[data-detail-open=true]{grid-template-columns:minmax(0,1fr)}
|
|
63
61
|
.organizer-board-body>.kb-issue-detail{position:absolute;inset:0;z-index:2;overflow:auto}
|
|
@@ -87,32 +85,32 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
87
85
|
.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
86
|
.newsroom-organizer [class~="text-primary-foreground"],.newsroom-organizer [class~="text-secondary-foreground"]{color:var(--org-ink) !important}
|
|
89
87
|
.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:
|
|
88
|
+
.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}
|
|
89
|
+
.news-desk-columns--administration :is(h2,h3,strong){font-family:var(--kb-theme-title-font);color:var(--administration-strong)}
|
|
92
90
|
.news-desk-columns--administration .category-steering-section--lead>.category-steering-section__header{display:none}
|
|
93
91
|
.news-desk-columns--administration .news-desk-settings-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
|
|
94
92
|
.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
93
|
.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
94
|
.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
95
|
.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
|
|
96
|
+
.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
97
|
.news-desk-columns--administration .news-desk-settings-panel{display:grid;gap:24px;min-width:0}
|
|
100
98
|
.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
99
|
.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
|
|
100
|
+
.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)}
|
|
101
|
+
.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
102
|
.news-desk-columns--administration .news-desk-doctrine-list{display:grid;gap:24px;min-width:0;max-width:none;width:100%}
|
|
105
103
|
.news-desk-columns--administration .news-desk-doctrine-card{display:grid;gap:16px;min-width:0;padding:0;border:0}
|
|
106
104
|
.news-desk-columns--administration .news-desk-doctrine-card+.news-desk-doctrine-card{padding-top:24px;border-top:1px solid var(--org-line)}
|
|
107
105
|
.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
106
|
.news-desk-columns--administration .news-desk-doctrine-card__header>div{display:grid;gap:2px}
|
|
109
107
|
.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
|
|
108
|
+
.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
109
|
.news-desk-columns--administration .news-desk-doctrine-card__footer{padding-top:0;border-top:0}
|
|
112
110
|
.news-desk-columns--administration .news-desk-doctrine-card__actions{justify-content:flex-end}
|
|
113
111
|
.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
|
|
112
|
+
.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)}
|
|
113
|
+
.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
114
|
.news-desk-columns--administration .news-desk-doctrine-card__field textarea{min-height:96px;max-height:360px;field-sizing:content;resize:vertical}
|
|
117
115
|
.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
116
|
.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 +119,9 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
121
119
|
.news-desk-columns--administration details[open]{display:grid;gap:16px}
|
|
122
120
|
.news-desk-columns--administration [data-news-desk-admin-panel]{display:grid;gap:24px;align-content:start}
|
|
123
121
|
.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
|
|
122
|
+
.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
123
|
.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
|
|
124
|
+
.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
125
|
.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
126
|
.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
127
|
.news-desk-columns--administration .news-desk-administration-category-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
|
|
@@ -135,8 +133,8 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
135
133
|
.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
134
|
.news-desk-columns--administration .news-desk-administration-category-list>.story-label+.news-desk-administration-category-button{border-top:0}
|
|
137
135
|
.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
|
|
136
|
+
.news-desk-columns--administration .news-desk-administration-category-button span{font:700 15px/1.25 var(--kb-theme-title-font);color:var(--administration-strong)}
|
|
137
|
+
.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
138
|
.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
139
|
.news-desk-columns--administration .news-desk-user-list{display:grid;gap:0;max-width:960px}
|
|
142
140
|
.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 +142,14 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
144
142
|
.news-desk-columns--administration .news-desk-user-row>div:first-child{display:grid;gap:6px;min-width:0}
|
|
145
143
|
.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
144
|
.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
|
|
145
|
+
.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)}
|
|
146
|
+
.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
147
|
.news-desk-columns--administration .news-desk-user-row__actions{display:flex;flex-wrap:wrap;gap:8px}
|
|
150
148
|
.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
|
|
149
|
+
.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
150
|
.news-desk-columns--administration .news-desk-merge-panel{display:grid;gap:16px;margin-top:24px;padding:16px;border:1px solid var(--org-line)}
|
|
153
151
|
.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
|
|
152
|
+
.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
153
|
@container (min-width:600px){
|
|
156
154
|
.news-desk-columns--administration .news-desk-settings-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
|
|
157
155
|
.news-desk-columns--administration .news-desk-settings-nav a span{display:block}
|
|
@@ -169,8 +167,8 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
169
167
|
.newsroom-assignment-detail-desk{display:grid;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--org-muted)}
|
|
170
168
|
.newsroom-assignment-detail-error{margin:0;text-transform:none;letter-spacing:0;color:var(--org-ink);font-weight:700}
|
|
171
169
|
[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
|
|
170
|
+
.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}
|
|
171
|
+
.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
172
|
.newsroom-desk-legacy-value{display:block;font-size:11px;color:var(--org-muted);overflow-wrap:anywhere}
|
|
175
173
|
.newsroom-article-view-toggle{display:inline-flex}
|
|
176
174
|
.newsroom-article-front-matter>summary{cursor:pointer;font-size:14px;font-weight:600;padding:6px 0;list-style-position:inside}
|
|
@@ -232,37 +230,37 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
232
230
|
.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
231
|
.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
232
|
.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
|
|
233
|
+
.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)}
|
|
234
|
+
.news-desk-columns--taxonomy .news-desk-desk-card strong{font:700 18px/1.2 var(--kb-theme-title-font);color:var(--org-ink)}
|
|
235
|
+
.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}
|
|
236
|
+
.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
237
|
.news-desk-columns--taxonomy .news-desk-desk-detail{margin:0;display:grid;gap:24px;min-width:0}
|
|
240
238
|
.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
|
|
239
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header h3{margin:0;font:700 30px/1.15 var(--kb-theme-title-font)}
|
|
240
|
+
.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
241
|
.news-desk-columns--taxonomy .news-desk-topic-detail__header dl{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0}
|
|
244
242
|
.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
|
|
243
|
+
.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)}
|
|
244
|
+
.news-desk-columns--taxonomy .news-desk-topic-detail__header dd{margin:0;font:700 22px/1.1 var(--kb-theme-title-font)}
|
|
247
245
|
.news-desk-columns--taxonomy .news-desk-desk-detail__grid{grid-template-columns:minmax(0,1fr);gap:32px}
|
|
248
246
|
@container (min-width:900px){.news-desk-columns--taxonomy .news-desk-desk-detail__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
|
|
249
247
|
.news-desk-columns--taxonomy .category-steering-category-card{display:grid;gap:14px;border:0;padding:0;background:none}
|
|
250
248
|
.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
249
|
.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
|
|
250
|
+
.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)}
|
|
251
|
+
.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
252
|
.news-desk-columns--taxonomy .news-desk-desk-subtopics{border-top:1px solid var(--org-line);padding-top:16px}
|
|
255
253
|
.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
|
|
254
|
+
.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
255
|
.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
256
|
.news-desk-columns--taxonomy .news-desk-ledger-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
|
|
259
257
|
.news-desk-columns--taxonomy .news-desk-ledger-item{display:grid;gap:4px;border:0;padding:0}
|
|
260
258
|
.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
|
|
259
|
+
.news-desk-columns--taxonomy .news-desk-ledger-item p{margin:0;font:400 13px/1.45 var(--kb-theme-ui-font)}
|
|
262
260
|
@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
|
|
261
|
+
.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}
|
|
262
|
+
.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)}
|
|
263
|
+
.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
264
|
.news-desk-columns--taxonomy .category-steering-category-card button:disabled{border-color:var(--org-line);opacity:.6;cursor:default}
|
|
267
265
|
.news-desk-columns--taxonomy .news-desk-rail-column .category-steering-section__header{border-bottom:0;padding-bottom:4px}
|
|
268
266
|
.organizer-account-chooser{padding:8px 12px;border-bottom:1px solid var(--org-line);display:grid;gap:6px}
|
|
@@ -272,15 +270,15 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
272
270
|
.organizer-account-chooser li button:disabled{opacity:.6;cursor:default}
|
|
273
271
|
.organizer-account-chooser li button span{display:grid;gap:1px}
|
|
274
272
|
.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
|
|
273
|
+
.organizer-account-chooser-heading{margin:0;font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase}
|
|
276
274
|
.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
|
|
275
|
+
.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
276
|
.organizer-account-create-start:hover,.organizer-account-create button:hover{text-decoration:underline}
|
|
279
277
|
.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
278
|
.organizer-account-create button:disabled{cursor:default;text-decoration:line-through}
|
|
281
279
|
.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
|
|
280
|
+
.organizer-account-create label{display:grid;gap:2px;font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase}
|
|
281
|
+
.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
282
|
.organizer-account-create span{display:flex;gap:8px}
|
|
285
283
|
[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
284
|
[data-reference-cyclotron-status] :is(.cyclotron-status-note,.cyclotron-status-definition,.cyclotron-status-header p,.cyclotron-status-override){color:var(--org-ink)}
|
|
@@ -296,24 +294,55 @@ body:has(.newsroom-organizer)>[data-staging-banner]{flex-shrink:0}
|
|
|
296
294
|
.news-desk-columns--administration .news-desk-delegation-token p{margin:0}
|
|
297
295
|
.news-desk-columns--administration .news-desk-delegation-token__row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
|
|
298
296
|
.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
|
|
297
|
+
.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
298
|
.news-desk-columns--administration .news-desk-delegation-list{list-style:none;margin:0;padding:0;display:grid}
|
|
301
299
|
.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
300
|
.news-desk-columns--administration .news-desk-delegation-list li>div{display:grid;gap:2px}
|
|
303
301
|
.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
|
|
302
|
+
.news-desk-columns--administration .news-desk-delegation-state{font:600 12px/1.4 var(--kb-theme-ui-font);color:var(--administration-strong)}
|
|
305
303
|
.news-desk-columns--administration .news-desk-delegation-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
|
|
306
304
|
.news-desk-columns--administration .news-desk-delegation-pending-list{list-style:none;margin:0;padding:0;display:grid}
|
|
307
305
|
.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
306
|
.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
|
|
307
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>strong{font:700 18px/1.2 var(--kb-theme-title-font)}
|
|
308
|
+
.news-desk-columns--administration .news-desk-delegation-pending-list li>div>span{font:400 13px/1.4 var(--kb-theme-ui-font)}
|
|
311
309
|
.news-desk-columns--administration .news-desk-delegation-countdown{font-weight:600!important;font-variant-numeric:tabular-nums}
|
|
312
310
|
.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
311
|
.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
|
|
312
|
+
.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
313
|
.news-desk-columns--administration .news-desk-delegation-decision button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
|
|
316
314
|
.news-desk-columns--administration .news-desk-delegation-decision button:disabled{cursor:default;text-decoration:line-through}
|
|
317
315
|
.news-desk-columns--administration .news-desk-delegation-decision button:focus-visible{outline:2px solid var(--org-ink);outline-offset:2px}
|
|
318
316
|
@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
317
|
@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)}}
|
|
318
|
+
.news-desk-columns--administration .news-desk-monitoring__scope{display:flex;flex-wrap:wrap;gap:8px}
|
|
319
|
+
.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}
|
|
320
|
+
.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}
|
|
321
|
+
.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}
|
|
322
|
+
.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}
|
|
323
|
+
.news-desk-columns--administration .news-desk-monitoring__list li>div{display:grid;gap:2px}
|
|
324
|
+
.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}
|
|
325
|
+
.news-desk-columns--administration .news-desk-monitoring__queue>li>div{display:grid;gap:2px}
|
|
326
|
+
.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)}
|
|
327
|
+
.news-desk-columns--administration .news-desk-monitoring__queue li[data-routing=error]{padding-left:12px;border-left:3px solid var(--org-ink)}
|
|
328
|
+
.news-desk-columns--administration .news-desk-monitoring__relevance{gap:4px;padding-left:12px;border-left:1px solid var(--org-line)}
|
|
329
|
+
.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)}
|
|
330
|
+
.news-desk-columns--administration .news-desk-monitoring__relevance li[data-delivery=failed] span:last-child{font-weight:700}
|
|
331
|
+
.news-desk-columns--administration .news-desk-monitoring__usage{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;margin:0}
|
|
332
|
+
.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)}
|
|
333
|
+
.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}
|
|
334
|
+
@container (max-width:640px){.news-desk-columns--administration .news-desk-monitoring__list li{grid-template-columns:minmax(0,1fr)}}
|
|
335
|
+
|
|
336
|
+
/* Newsletter panel (components/newsletter-panel.tsx): reuses the administration card, row and button styles above. */
|
|
337
|
+
.news-desk-columns--administration .news-desk-newsletter__quiet{font:400 12px/1.4 var(--kb-theme-ui-font);color:var(--administration-quiet)}
|
|
338
|
+
.news-desk-columns--administration .news-desk-monitoring__usage>div{display:grid;gap:4px;align-content:start}
|
|
339
|
+
.news-desk-columns--administration .news-desk-newsletter__links{display:flex;flex-wrap:wrap;gap:4px 8px}
|
|
340
|
+
.news-desk-columns--administration .news-desk-newsletter__table{width:100%;border-collapse:collapse;font:400 13px/1.4 var(--kb-theme-ui-font)}
|
|
341
|
+
.news-desk-columns--administration .news-desk-newsletter__table td:first-child{word-break:keep-all;overflow-wrap:break-word}
|
|
342
|
+
.news-desk-columns--administration .news-desk-newsletter__table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--administration-strong);font:600 11px/1.4 var(--kb-theme-ui-font);letter-spacing:.07em;text-transform:uppercase;color:var(--administration-quiet)}
|
|
343
|
+
.news-desk-columns--administration .news-desk-newsletter__table td{padding:8px;border-bottom:1px solid var(--org-line);vertical-align:top}
|
|
344
|
+
.news-desk-columns--administration .news-desk-newsletter__drawer{grid-column:1/-1;display:grid;gap:12px;padding:12px 0 0;border-top:1px dashed var(--org-line);min-width:0}
|
|
345
|
+
.news-desk-columns--administration .news-desk-newsletter__frame{width:100%;height:480px;border:1px solid var(--org-line);background:#fff}
|
|
346
|
+
.news-desk-columns--administration .news-desk-newsletter__text{margin:0;padding:12px;max-height:280px;overflow:auto;border:1px solid var(--org-line);font:400 12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
347
|
+
.news-desk-columns--administration .news-desk-newsletter__filters{display:flex;flex-wrap:wrap;gap:12px 24px}
|
|
348
|
+
.news-desk-columns--administration .news-desk-newsletter__filters .news-desk-doctrine-card__field{min-width:180px}
|