@scalemule/news-publication 0.0.45 → 0.0.47
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/README.md +69 -0
- package/dist/{chunk-OIEO2YVG.js → chunk-2XSW7JZS.js} +1 -1
- package/dist/chunk-66GI2IX6.js +65 -0
- package/dist/{chunk-2IYKWGVM.js → chunk-GOWOYMSG.js} +13 -45
- package/dist/{chunk-UTBV6JJX.js → chunk-JV76ZEIA.js} +12 -27
- package/dist/{chunk-72PKW2HM.js → chunk-UL2Q3N26.js} +1 -1
- package/dist/{chunk-GVLJ3HAI.js → chunk-WAC6ATNP.js} +1 -1
- package/dist/cookie-consent-banner.cjs +13 -78
- package/dist/cookie-consent-banner.js +2 -2
- package/dist/cookie-settings-view.cjs +11 -26
- package/dist/cookie-settings-view.js +2 -2
- package/dist/index.cjs +405 -180
- package/dist/index.d.cts +143 -4
- package/dist/index.d.ts +143 -4
- package/dist/index.js +318 -117
- package/dist/network-bar.js +2 -2
- package/dist/network-copyright.js +2 -2
- package/dist/network.js +1 -1
- package/dist/{snapshot-CxuyMF39.d.ts → snapshot-DmRw8G_B.d.ts} +1 -1
- package/dist/{snapshot-C0IGpt-B.d.cts → snapshot-Dx4Lv-lB.d.cts} +1 -1
- package/dist/snapshot-file.d.cts +2 -2
- package/dist/snapshot-file.d.ts +2 -2
- package/dist/sponsorship-view.cjs +75 -0
- package/dist/sponsorship-view.d.cts +11 -0
- package/dist/sponsorship-view.d.ts +11 -0
- package/dist/sponsorship-view.js +62 -0
- package/dist/sponsorships-CtnBe3S8.d.cts +137 -0
- package/dist/sponsorships-CtnBe3S8.d.ts +137 -0
- package/dist/{types-DFDCZHbS.d.cts → types-BJFCWWi0.d.cts} +1 -1
- package/dist/{types-DFDCZHbS.d.ts → types-BJFCWWi0.d.ts} +1 -1
- package/dist/verified-card.d.cts +1 -1
- package/dist/verified-card.d.ts +1 -1
- package/package.json +11 -4
- package/sponsorship.css +78 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { safeSponsorUrl } from './chunk-66GI2IX6.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
function SponsorAcknowledgment({
|
|
5
|
+
creative,
|
|
6
|
+
label = "Community Partner",
|
|
7
|
+
preview = false,
|
|
8
|
+
acknowledgment
|
|
9
|
+
}) {
|
|
10
|
+
const logo = safeSponsorUrl(creative.logo_url);
|
|
11
|
+
const destination = safeSponsorUrl(creative.destination_url);
|
|
12
|
+
return /* @__PURE__ */ jsxs(
|
|
13
|
+
"aside",
|
|
14
|
+
{
|
|
15
|
+
className: "sm-sponsorship",
|
|
16
|
+
"aria-label": `${label}: ${creative.name}`,
|
|
17
|
+
"data-sponsorship": preview ? void 0 : acknowledgment?.campaign_id,
|
|
18
|
+
"data-placement-id": preview ? void 0 : acknowledgment?.placement_id,
|
|
19
|
+
"data-publication-id": preview ? void 0 : acknowledgment?.publication_id,
|
|
20
|
+
"data-sponsor-id": preview ? void 0 : acknowledgment?.sponsor_id,
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsxs("div", { className: "sm-sponsorship-copy", children: [
|
|
23
|
+
/* @__PURE__ */ jsxs("p", { className: "sm-sponsorship-label", children: [
|
|
24
|
+
label,
|
|
25
|
+
preview ? " \xB7 Illustrative preview" : ""
|
|
26
|
+
] }),
|
|
27
|
+
/* @__PURE__ */ jsx("p", { className: "sm-sponsorship-name", children: creative.name }),
|
|
28
|
+
creative.description && /* @__PURE__ */ jsx("p", { className: "sm-sponsorship-description", children: creative.description }),
|
|
29
|
+
destination && /* @__PURE__ */ jsxs(
|
|
30
|
+
"a",
|
|
31
|
+
{
|
|
32
|
+
href: destination,
|
|
33
|
+
rel: "sponsored noopener noreferrer",
|
|
34
|
+
referrerPolicy: "no-referrer",
|
|
35
|
+
"data-analytics-skip": "true",
|
|
36
|
+
children: [
|
|
37
|
+
creative.link_label || "Learn more",
|
|
38
|
+
/* @__PURE__ */ jsxs("span", { className: "sm-sponsorship-sr", children: [
|
|
39
|
+
" about ",
|
|
40
|
+
creative.name
|
|
41
|
+
] })
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
] }),
|
|
46
|
+
logo && /* @__PURE__ */ jsx(
|
|
47
|
+
"img",
|
|
48
|
+
{
|
|
49
|
+
src: logo,
|
|
50
|
+
alt: `${creative.name} logo`,
|
|
51
|
+
loading: "lazy",
|
|
52
|
+
decoding: "async",
|
|
53
|
+
referrerPolicy: "no-referrer",
|
|
54
|
+
className: "sm-sponsorship-logo"
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { SponsorAcknowledgment };
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/** Community sponsorship contract. Prices are proposals until agreed in writing. */
|
|
2
|
+
type PlacementType = "community_partner" | "community_calendar" | "daily_briefing" | "community_guide";
|
|
3
|
+
type CampaignStatus = "draft" | "proposed" | "approved" | "scheduled" | "active" | "paused" | "completed" | "cancelled";
|
|
4
|
+
type Measurement = {
|
|
5
|
+
status: "measured" | "estimated" | "unavailable";
|
|
6
|
+
value: number | null;
|
|
7
|
+
methodology: string;
|
|
8
|
+
from?: string;
|
|
9
|
+
to?: string;
|
|
10
|
+
};
|
|
11
|
+
type Creative = {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
logo_url?: string | null;
|
|
15
|
+
destination_url?: string | null;
|
|
16
|
+
link_label?: string;
|
|
17
|
+
};
|
|
18
|
+
type SponsorParty = {
|
|
19
|
+
id: string;
|
|
20
|
+
revision: number;
|
|
21
|
+
kind: "sponsor" | "agency";
|
|
22
|
+
name: string;
|
|
23
|
+
website?: string | null;
|
|
24
|
+
logo_url?: string | null;
|
|
25
|
+
description: string;
|
|
26
|
+
contact_name: string;
|
|
27
|
+
contact_email: string;
|
|
28
|
+
billing_account_ref?: string | null;
|
|
29
|
+
agency_ids: string[];
|
|
30
|
+
status: "active" | "archived";
|
|
31
|
+
};
|
|
32
|
+
type Placement = {
|
|
33
|
+
id: string;
|
|
34
|
+
revision: number;
|
|
35
|
+
application_id: string;
|
|
36
|
+
publication_id: string;
|
|
37
|
+
placement_type: PlacementType;
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
communities: string[];
|
|
41
|
+
product_path: string;
|
|
42
|
+
active: boolean;
|
|
43
|
+
availability: "coming_soon" | "available" | "unavailable";
|
|
44
|
+
max_sponsors: number;
|
|
45
|
+
price_cents: number | null;
|
|
46
|
+
currency: "USD";
|
|
47
|
+
price_interval: "month" | "fixed" | "custom";
|
|
48
|
+
verification_url?: string | null;
|
|
49
|
+
verified_at?: string | null;
|
|
50
|
+
reporting: string[];
|
|
51
|
+
editorial_restrictions: string;
|
|
52
|
+
};
|
|
53
|
+
type CampaignTarget = {
|
|
54
|
+
application_id: string;
|
|
55
|
+
publication_id: string;
|
|
56
|
+
placement_id: string;
|
|
57
|
+
communities: string[];
|
|
58
|
+
};
|
|
59
|
+
type Campaign = {
|
|
60
|
+
id: string;
|
|
61
|
+
revision: number;
|
|
62
|
+
name: string;
|
|
63
|
+
sponsor_id: string;
|
|
64
|
+
agency_id?: string | null;
|
|
65
|
+
status: CampaignStatus;
|
|
66
|
+
starts_at: string;
|
|
67
|
+
ends_at: string;
|
|
68
|
+
targets: CampaignTarget[];
|
|
69
|
+
creative: Creative;
|
|
70
|
+
approved_revision: number | null;
|
|
71
|
+
archived: boolean;
|
|
72
|
+
price_cents: number | null;
|
|
73
|
+
currency: "USD";
|
|
74
|
+
price_interval: "month" | "fixed" | "custom";
|
|
75
|
+
invoice_ref?: string | null;
|
|
76
|
+
contract_ref?: string | null;
|
|
77
|
+
billing_party: "sponsor" | "agency";
|
|
78
|
+
payment_status: "not_invoiced" | "invoiced" | "paid" | "overdue" | "waived";
|
|
79
|
+
notes: string;
|
|
80
|
+
};
|
|
81
|
+
type PublicAcknowledgment = {
|
|
82
|
+
campaign_id: string;
|
|
83
|
+
placement_id: string;
|
|
84
|
+
publication_id: string;
|
|
85
|
+
sponsor_id: string;
|
|
86
|
+
placement_type: PlacementType;
|
|
87
|
+
creative: Creative;
|
|
88
|
+
starts_at: string;
|
|
89
|
+
ends_at: string;
|
|
90
|
+
};
|
|
91
|
+
declare const SPONSORSHIP_POLICY = "Sponsors receive clearly identified recognition. Sponsorship does not influence reporting, event selection, factual information, rankings or editorial recommendations.";
|
|
92
|
+
declare const SPONSORSHIP_OFFERINGS: readonly [{
|
|
93
|
+
readonly type: "community_partner";
|
|
94
|
+
readonly name: "Publication Community Partner";
|
|
95
|
+
readonly price_cents: 35000;
|
|
96
|
+
readonly duration: "One calendar month; exact start and end dates in the agreement.";
|
|
97
|
+
readonly deliverables: "One acknowledgment on the publication's community partners page and one compact acknowledgment below the community calendar. No article placements.";
|
|
98
|
+
readonly acknowledgments: "Two defined web locations; recurring display during the campaign, subject to reader repetition limits.";
|
|
99
|
+
readonly creative: "Name, approved logo, up to 140 characters of copy and one HTTPS link.";
|
|
100
|
+
readonly max_sponsors: 2;
|
|
101
|
+
readonly product_path: "/community-partners";
|
|
102
|
+
}, {
|
|
103
|
+
readonly type: "community_calendar";
|
|
104
|
+
readonly name: "Community Calendar Sponsor";
|
|
105
|
+
readonly price_cents: 25000;
|
|
106
|
+
readonly duration: "One calendar month; exact start and end dates in the agreement.";
|
|
107
|
+
readonly deliverables: "One acknowledgment above the independently curated community events calendar.";
|
|
108
|
+
readonly acknowledgments: "One web location; recurring display during the campaign, subject to reader repetition limits.";
|
|
109
|
+
readonly creative: "Name, approved logo, up to 140 characters of copy and one HTTPS link.";
|
|
110
|
+
readonly max_sponsors: 1;
|
|
111
|
+
readonly product_path: "/this-week";
|
|
112
|
+
}, {
|
|
113
|
+
readonly type: "daily_briefing";
|
|
114
|
+
readonly name: "Daily Briefing Sponsor";
|
|
115
|
+
readonly price_cents: 30000;
|
|
116
|
+
readonly duration: "One calendar month after verified newsletter delivery is operational.";
|
|
117
|
+
readonly deliverables: "One acknowledgment per agreed briefing edition. Edition dates and count must be specified in the agreement before booking.";
|
|
118
|
+
readonly acknowledgments: "One per contracted edition; no minimum send count is promised before launch.";
|
|
119
|
+
readonly creative: "Name, optional logo, up to 140 characters of approved copy and one HTTPS link.";
|
|
120
|
+
readonly max_sponsors: 1;
|
|
121
|
+
readonly product_path: "/newsletter";
|
|
122
|
+
}, {
|
|
123
|
+
readonly type: "community_guide";
|
|
124
|
+
readonly name: "Community Guide Sponsor";
|
|
125
|
+
readonly price_cents: null;
|
|
126
|
+
readonly duration: "Fixed dates agreed for a named guide.";
|
|
127
|
+
readonly deliverables: "One acknowledgment on one named, independently edited community guide; scope and updates agreed in writing.";
|
|
128
|
+
readonly acknowledgments: "One web location per contracted guide.";
|
|
129
|
+
readonly creative: "Name, approved logo, up to 140 characters of copy and one HTTPS link.";
|
|
130
|
+
readonly max_sponsors: 1;
|
|
131
|
+
readonly product_path: "/guides";
|
|
132
|
+
}];
|
|
133
|
+
declare function safeSponsorUrl(value: unknown): string | undefined;
|
|
134
|
+
/** Never turn a website existence check into a claim of sellable inventory. */
|
|
135
|
+
declare function placementAvailable(placement: Placement, now?: number): boolean;
|
|
136
|
+
|
|
137
|
+
export { type Creative as C, type Measurement as M, type PublicAcknowledgment as P, SPONSORSHIP_OFFERINGS as S, type Campaign as a, type CampaignStatus as b, type CampaignTarget as c, type Placement as d, type PlacementType as e, SPONSORSHIP_POLICY as f, type SponsorParty as g, placementAvailable as p, safeSponsorUrl as s };
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/** Community sponsorship contract. Prices are proposals until agreed in writing. */
|
|
2
|
+
type PlacementType = "community_partner" | "community_calendar" | "daily_briefing" | "community_guide";
|
|
3
|
+
type CampaignStatus = "draft" | "proposed" | "approved" | "scheduled" | "active" | "paused" | "completed" | "cancelled";
|
|
4
|
+
type Measurement = {
|
|
5
|
+
status: "measured" | "estimated" | "unavailable";
|
|
6
|
+
value: number | null;
|
|
7
|
+
methodology: string;
|
|
8
|
+
from?: string;
|
|
9
|
+
to?: string;
|
|
10
|
+
};
|
|
11
|
+
type Creative = {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
logo_url?: string | null;
|
|
15
|
+
destination_url?: string | null;
|
|
16
|
+
link_label?: string;
|
|
17
|
+
};
|
|
18
|
+
type SponsorParty = {
|
|
19
|
+
id: string;
|
|
20
|
+
revision: number;
|
|
21
|
+
kind: "sponsor" | "agency";
|
|
22
|
+
name: string;
|
|
23
|
+
website?: string | null;
|
|
24
|
+
logo_url?: string | null;
|
|
25
|
+
description: string;
|
|
26
|
+
contact_name: string;
|
|
27
|
+
contact_email: string;
|
|
28
|
+
billing_account_ref?: string | null;
|
|
29
|
+
agency_ids: string[];
|
|
30
|
+
status: "active" | "archived";
|
|
31
|
+
};
|
|
32
|
+
type Placement = {
|
|
33
|
+
id: string;
|
|
34
|
+
revision: number;
|
|
35
|
+
application_id: string;
|
|
36
|
+
publication_id: string;
|
|
37
|
+
placement_type: PlacementType;
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
communities: string[];
|
|
41
|
+
product_path: string;
|
|
42
|
+
active: boolean;
|
|
43
|
+
availability: "coming_soon" | "available" | "unavailable";
|
|
44
|
+
max_sponsors: number;
|
|
45
|
+
price_cents: number | null;
|
|
46
|
+
currency: "USD";
|
|
47
|
+
price_interval: "month" | "fixed" | "custom";
|
|
48
|
+
verification_url?: string | null;
|
|
49
|
+
verified_at?: string | null;
|
|
50
|
+
reporting: string[];
|
|
51
|
+
editorial_restrictions: string;
|
|
52
|
+
};
|
|
53
|
+
type CampaignTarget = {
|
|
54
|
+
application_id: string;
|
|
55
|
+
publication_id: string;
|
|
56
|
+
placement_id: string;
|
|
57
|
+
communities: string[];
|
|
58
|
+
};
|
|
59
|
+
type Campaign = {
|
|
60
|
+
id: string;
|
|
61
|
+
revision: number;
|
|
62
|
+
name: string;
|
|
63
|
+
sponsor_id: string;
|
|
64
|
+
agency_id?: string | null;
|
|
65
|
+
status: CampaignStatus;
|
|
66
|
+
starts_at: string;
|
|
67
|
+
ends_at: string;
|
|
68
|
+
targets: CampaignTarget[];
|
|
69
|
+
creative: Creative;
|
|
70
|
+
approved_revision: number | null;
|
|
71
|
+
archived: boolean;
|
|
72
|
+
price_cents: number | null;
|
|
73
|
+
currency: "USD";
|
|
74
|
+
price_interval: "month" | "fixed" | "custom";
|
|
75
|
+
invoice_ref?: string | null;
|
|
76
|
+
contract_ref?: string | null;
|
|
77
|
+
billing_party: "sponsor" | "agency";
|
|
78
|
+
payment_status: "not_invoiced" | "invoiced" | "paid" | "overdue" | "waived";
|
|
79
|
+
notes: string;
|
|
80
|
+
};
|
|
81
|
+
type PublicAcknowledgment = {
|
|
82
|
+
campaign_id: string;
|
|
83
|
+
placement_id: string;
|
|
84
|
+
publication_id: string;
|
|
85
|
+
sponsor_id: string;
|
|
86
|
+
placement_type: PlacementType;
|
|
87
|
+
creative: Creative;
|
|
88
|
+
starts_at: string;
|
|
89
|
+
ends_at: string;
|
|
90
|
+
};
|
|
91
|
+
declare const SPONSORSHIP_POLICY = "Sponsors receive clearly identified recognition. Sponsorship does not influence reporting, event selection, factual information, rankings or editorial recommendations.";
|
|
92
|
+
declare const SPONSORSHIP_OFFERINGS: readonly [{
|
|
93
|
+
readonly type: "community_partner";
|
|
94
|
+
readonly name: "Publication Community Partner";
|
|
95
|
+
readonly price_cents: 35000;
|
|
96
|
+
readonly duration: "One calendar month; exact start and end dates in the agreement.";
|
|
97
|
+
readonly deliverables: "One acknowledgment on the publication's community partners page and one compact acknowledgment below the community calendar. No article placements.";
|
|
98
|
+
readonly acknowledgments: "Two defined web locations; recurring display during the campaign, subject to reader repetition limits.";
|
|
99
|
+
readonly creative: "Name, approved logo, up to 140 characters of copy and one HTTPS link.";
|
|
100
|
+
readonly max_sponsors: 2;
|
|
101
|
+
readonly product_path: "/community-partners";
|
|
102
|
+
}, {
|
|
103
|
+
readonly type: "community_calendar";
|
|
104
|
+
readonly name: "Community Calendar Sponsor";
|
|
105
|
+
readonly price_cents: 25000;
|
|
106
|
+
readonly duration: "One calendar month; exact start and end dates in the agreement.";
|
|
107
|
+
readonly deliverables: "One acknowledgment above the independently curated community events calendar.";
|
|
108
|
+
readonly acknowledgments: "One web location; recurring display during the campaign, subject to reader repetition limits.";
|
|
109
|
+
readonly creative: "Name, approved logo, up to 140 characters of copy and one HTTPS link.";
|
|
110
|
+
readonly max_sponsors: 1;
|
|
111
|
+
readonly product_path: "/this-week";
|
|
112
|
+
}, {
|
|
113
|
+
readonly type: "daily_briefing";
|
|
114
|
+
readonly name: "Daily Briefing Sponsor";
|
|
115
|
+
readonly price_cents: 30000;
|
|
116
|
+
readonly duration: "One calendar month after verified newsletter delivery is operational.";
|
|
117
|
+
readonly deliverables: "One acknowledgment per agreed briefing edition. Edition dates and count must be specified in the agreement before booking.";
|
|
118
|
+
readonly acknowledgments: "One per contracted edition; no minimum send count is promised before launch.";
|
|
119
|
+
readonly creative: "Name, optional logo, up to 140 characters of approved copy and one HTTPS link.";
|
|
120
|
+
readonly max_sponsors: 1;
|
|
121
|
+
readonly product_path: "/newsletter";
|
|
122
|
+
}, {
|
|
123
|
+
readonly type: "community_guide";
|
|
124
|
+
readonly name: "Community Guide Sponsor";
|
|
125
|
+
readonly price_cents: null;
|
|
126
|
+
readonly duration: "Fixed dates agreed for a named guide.";
|
|
127
|
+
readonly deliverables: "One acknowledgment on one named, independently edited community guide; scope and updates agreed in writing.";
|
|
128
|
+
readonly acknowledgments: "One web location per contracted guide.";
|
|
129
|
+
readonly creative: "Name, approved logo, up to 140 characters of copy and one HTTPS link.";
|
|
130
|
+
readonly max_sponsors: 1;
|
|
131
|
+
readonly product_path: "/guides";
|
|
132
|
+
}];
|
|
133
|
+
declare function safeSponsorUrl(value: unknown): string | undefined;
|
|
134
|
+
/** Never turn a website existence check into a claim of sellable inventory. */
|
|
135
|
+
declare function placementAvailable(placement: Placement, now?: number): boolean;
|
|
136
|
+
|
|
137
|
+
export { type Creative as C, type Measurement as M, type PublicAcknowledgment as P, SPONSORSHIP_OFFERINGS as S, type Campaign as a, type CampaignStatus as b, type CampaignTarget as c, type Placement as d, type PlacementType as e, SPONSORSHIP_POLICY as f, type SponsorParty as g, placementAvailable as p, safeSponsorUrl as s };
|
|
@@ -238,4 +238,4 @@ type EditorialSection = {
|
|
|
238
238
|
items: NewsItem[];
|
|
239
239
|
};
|
|
240
240
|
|
|
241
|
-
export { type ArticleCitation as A, type CouponOffer as C, type EditorialSection as E, type FeatureName as F, type HomepageSelection as H, type NewsPublication as N, type PublicationInput as P, type ReferralSettings as R, type StoryDisplay as S, type TagRef as T, type VerifiedCard as V, type PublicationTheme as a, type
|
|
241
|
+
export { type ArticleCitation as A, type CouponOffer as C, type EditorialSection as E, type FeatureName as F, type HomepageSelection as H, type NewsPublication as N, type PublicationInput as P, type ReferralSettings as R, type StoryDisplay as S, type TagRef as T, type VerifiedCard as V, type PublicationTheme as a, type NewsItem as b, type NearbyUpdate as c, type NewsArticle as d, type CardType as e, type CategoryRef as f, type CouponSettings as g, type CoverImageMetadata as h, FEATURE_NAMES as i, type FeatureFlags as j, type NewsFeed as k, type NewsLayoutId as l, type PublicationModules as m, type VerifiedCardAction as n, type VerifiedCardFact as o, type VerifiedCardImage as p };
|
|
@@ -238,4 +238,4 @@ type EditorialSection = {
|
|
|
238
238
|
items: NewsItem[];
|
|
239
239
|
};
|
|
240
240
|
|
|
241
|
-
export { type ArticleCitation as A, type CouponOffer as C, type EditorialSection as E, type FeatureName as F, type HomepageSelection as H, type NewsPublication as N, type PublicationInput as P, type ReferralSettings as R, type StoryDisplay as S, type TagRef as T, type VerifiedCard as V, type PublicationTheme as a, type
|
|
241
|
+
export { type ArticleCitation as A, type CouponOffer as C, type EditorialSection as E, type FeatureName as F, type HomepageSelection as H, type NewsPublication as N, type PublicationInput as P, type ReferralSettings as R, type StoryDisplay as S, type TagRef as T, type VerifiedCard as V, type PublicationTheme as a, type NewsItem as b, type NearbyUpdate as c, type NewsArticle as d, type CardType as e, type CategoryRef as f, type CouponSettings as g, type CoverImageMetadata as h, FEATURE_NAMES as i, type FeatureFlags as j, type NewsFeed as k, type NewsLayoutId as l, type PublicationModules as m, type VerifiedCardAction as n, type VerifiedCardFact as o, type VerifiedCardImage as p };
|
package/dist/verified-card.d.cts
CHANGED
package/dist/verified-card.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scalemule/news-publication",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.47",
|
|
4
4
|
"description": "Shared server framework for ScaleMule local news publications. Walnut Creek Times is the broadsheet default; each paper supplies its own identity and feature flags.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -96,7 +96,13 @@
|
|
|
96
96
|
"types": "./dist/community-maps-view.d.ts",
|
|
97
97
|
"import": "./dist/community-maps-view.js",
|
|
98
98
|
"require": "./dist/community-maps-view.cjs"
|
|
99
|
-
}
|
|
99
|
+
},
|
|
100
|
+
"./sponsorship-view": {
|
|
101
|
+
"types": "./dist/sponsorship-view.d.ts",
|
|
102
|
+
"import": "./dist/sponsorship-view.js",
|
|
103
|
+
"require": "./dist/sponsorship-view.cjs"
|
|
104
|
+
},
|
|
105
|
+
"./sponsorship.css": "./sponsorship.css"
|
|
100
106
|
},
|
|
101
107
|
"files": [
|
|
102
108
|
"dist",
|
|
@@ -106,7 +112,8 @@
|
|
|
106
112
|
"verified-card.css",
|
|
107
113
|
"README.md",
|
|
108
114
|
"LICENSE",
|
|
109
|
-
"story-review.css"
|
|
115
|
+
"story-review.css",
|
|
116
|
+
"sponsorship.css"
|
|
110
117
|
],
|
|
111
118
|
"peerDependencies": {
|
|
112
119
|
"@scalemule/react": "0.0.21",
|
|
@@ -161,7 +168,7 @@
|
|
|
161
168
|
"registry": "https://registry.npmjs.org/"
|
|
162
169
|
},
|
|
163
170
|
"dependencies": {
|
|
164
|
-
"@scalemule/compliance": "
|
|
171
|
+
"@scalemule/compliance": "0.0.7",
|
|
165
172
|
"@scalemule/react": "0.0.21",
|
|
166
173
|
"@scalemule/sdk": "0.0.75"
|
|
167
174
|
}
|
package/sponsorship.css
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
.sm-sponsorship {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
justify-content: space-between;
|
|
5
|
+
gap: 1.5rem;
|
|
6
|
+
padding: 1.25rem 0;
|
|
7
|
+
border-block: 1px solid var(--pub-rule, #d8dcd9);
|
|
8
|
+
color: var(--pub-ink, #171917);
|
|
9
|
+
font-family: var(--pub-sans, inherit);
|
|
10
|
+
overflow-wrap: anywhere;
|
|
11
|
+
max-width: 48rem;
|
|
12
|
+
}
|
|
13
|
+
.sm-sponsorship p {
|
|
14
|
+
margin: 0;
|
|
15
|
+
}
|
|
16
|
+
.sm-sponsorship .sm-sponsorship-label {
|
|
17
|
+
font: 600 0.72rem/1.5 var(--pub-sans, var(--font-sans, Arial, sans-serif));
|
|
18
|
+
letter-spacing: 0.04em;
|
|
19
|
+
color: var(--pub-muted, #455448);
|
|
20
|
+
margin-bottom: 0.4rem;
|
|
21
|
+
}
|
|
22
|
+
.sm-sponsorship .sm-sponsorship-name {
|
|
23
|
+
font-family: var(--pub-serif, inherit);
|
|
24
|
+
font-size: 1.1rem;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
line-height: 1.35;
|
|
27
|
+
}
|
|
28
|
+
.sm-sponsorship .sm-sponsorship-description {
|
|
29
|
+
font-size: 0.9rem;
|
|
30
|
+
line-height: 1.5;
|
|
31
|
+
margin-top: 0.3rem;
|
|
32
|
+
max-width: 42ch;
|
|
33
|
+
}
|
|
34
|
+
.sm-sponsorship a {
|
|
35
|
+
display: inline-block;
|
|
36
|
+
font-size: 0.85rem;
|
|
37
|
+
color: inherit;
|
|
38
|
+
text-decoration: underline;
|
|
39
|
+
text-underline-offset: 3px;
|
|
40
|
+
margin-top: 0.5rem;
|
|
41
|
+
min-height: 24px;
|
|
42
|
+
}
|
|
43
|
+
.sm-sponsorship a:focus-visible {
|
|
44
|
+
outline: 2px solid currentColor;
|
|
45
|
+
outline-offset: 4px;
|
|
46
|
+
}
|
|
47
|
+
.sm-sponsorship-logo {
|
|
48
|
+
width: auto;
|
|
49
|
+
height: auto;
|
|
50
|
+
max-width: 112px;
|
|
51
|
+
max-height: 64px;
|
|
52
|
+
object-fit: contain;
|
|
53
|
+
flex-shrink: 0;
|
|
54
|
+
}
|
|
55
|
+
.sm-sponsorship-sr {
|
|
56
|
+
position: absolute;
|
|
57
|
+
width: 1px;
|
|
58
|
+
height: 1px;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
clip-path: inset(50%);
|
|
61
|
+
}
|
|
62
|
+
@media (max-width: 420px) {
|
|
63
|
+
.sm-sponsorship {
|
|
64
|
+
gap: 1rem;
|
|
65
|
+
}
|
|
66
|
+
.sm-sponsorship-logo {
|
|
67
|
+
max-width: 76px;
|
|
68
|
+
max-height: 52px;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
@media (prefers-color-scheme: dark) {
|
|
72
|
+
.sm-sponsorship {
|
|
73
|
+
border-color: var(--pub-rule, #777);
|
|
74
|
+
}
|
|
75
|
+
.sm-sponsorship .sm-sponsorship-label {
|
|
76
|
+
color: inherit;
|
|
77
|
+
}
|
|
78
|
+
}
|