@scalemule/news-publication 0.0.61 → 0.0.63
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/dist/chunk-3QU6BJVF.js +540 -0
- package/dist/chunk-4WVAT5M2.js +213 -0
- package/dist/chunk-6SBK3D3B.js +347 -0
- package/dist/chunk-CHF3YPDV.js +314 -0
- package/dist/chunk-FHRO2Z3F.js +174 -0
- package/dist/{chunk-DM4KQNJH.js → chunk-FWEYKWKP.js} +1 -1
- package/dist/{chunk-FMCHQI7K.js → chunk-KYUVXEJY.js} +34 -12
- package/dist/{chunk-F53CPZQO.js → chunk-Q77T2S7B.js} +1 -1
- package/dist/chunk-SKG5C3MS.js +379 -0
- package/dist/{chunk-GYYUJYI4.js → chunk-X7AU7DV6.js} +2 -3
- package/dist/{chunk-XPOZGZTM.js → chunk-XSAVJJVW.js} +11 -4
- package/dist/{chunk-6S5FARL3.js → chunk-XWXPERLK.js} +2 -2
- package/dist/cookie-consent-banner.cjs +10 -3
- package/dist/cookie-consent-banner.d.cts +1 -1
- package/dist/cookie-consent-banner.d.ts +1 -1
- package/dist/cookie-consent-banner.js +2 -2
- package/dist/cookie-settings-view.cjs +2 -3
- package/dist/cookie-settings-view.js +2 -2
- package/dist/index.cjs +60 -18
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.js +10 -8
- package/dist/meet-view.d.cts +1 -1
- package/dist/meet-view.d.ts +1 -1
- package/dist/network-bar.js +2 -2
- package/dist/network-copyright.js +2 -2
- package/dist/network.js +1 -1
- package/dist/pets-plugin.js +4 -347
- package/dist/{snapshot-DmRw8G_B.d.ts → snapshot-CjP7bSXJ.d.ts} +1 -1
- package/dist/snapshot-file.d.cts +2 -2
- package/dist/snapshot-file.d.ts +2 -2
- package/dist/{snapshot-Dx4Lv-lB.d.cts → snapshot-qj4BeNzB.d.cts} +1 -1
- package/dist/toys-forms.cjs +609 -0
- package/dist/toys-forms.d.cts +35 -0
- package/dist/toys-forms.d.ts +35 -0
- package/dist/toys-forms.js +4 -0
- package/dist/toys-interactions.cjs +594 -0
- package/dist/toys-interactions.d.cts +54 -0
- package/dist/toys-interactions.d.ts +54 -0
- package/dist/toys-interactions.js +520 -0
- package/dist/toys-plugin.cjs +713 -0
- package/dist/toys-plugin.d.cts +88 -0
- package/dist/toys-plugin.d.ts +88 -0
- package/dist/toys-plugin.js +10 -0
- package/dist/toys-publication.cjs +437 -0
- package/dist/toys-publication.d.cts +26 -0
- package/dist/toys-publication.d.ts +26 -0
- package/dist/toys-publication.js +72 -0
- package/dist/toys-server.cjs +275 -0
- package/dist/toys-server.d.cts +28 -0
- package/dist/toys-server.d.ts +28 -0
- package/dist/toys-server.js +4 -0
- package/dist/toys-view.cjs +420 -0
- package/dist/toys-view.d.cts +55 -0
- package/dist/toys-view.d.ts +55 -0
- package/dist/toys-view.js +2 -0
- package/dist/toys.cjs +196 -0
- package/dist/toys.d.cts +278 -0
- package/dist/toys.d.ts +278 -0
- package/dist/toys.js +1 -0
- package/dist/{types-BJFCWWi0.d.cts → types-DBi49N8m.d.cts} +12 -3
- package/dist/{types-BJFCWWi0.d.ts → types-DBi49N8m.d.ts} +12 -3
- package/dist/verified-card.cjs +34 -12
- package/dist/verified-card.d.cts +1 -1
- package/dist/verified-card.d.ts +1 -1
- package/dist/verified-card.js +1 -1
- package/package.json +41 -4
- package/toys.css +823 -0
package/dist/index.cjs
CHANGED
|
@@ -303,6 +303,7 @@ function newsArticleJsonLd(publication, article, canonical, authorName) {
|
|
|
303
303
|
headline: article.title,
|
|
304
304
|
description: article.excerpt ?? void 0,
|
|
305
305
|
datePublished: article.published_at,
|
|
306
|
+
...article.metadata?.editorial?.modified_at ? { dateModified: article.metadata.editorial.modified_at } : {},
|
|
306
307
|
// updated_at also changes for media/operational maintenance. A trusted
|
|
307
308
|
// editorial modification timestamp is required before emitting dateModified.
|
|
308
309
|
image: image ? [image] : void 0,
|
|
@@ -672,6 +673,7 @@ var NETWORK_NAVIGATION = [
|
|
|
672
673
|
editorial("transportation", "Transportation", { group: "news-knowledge", order: 50, more: true }),
|
|
673
674
|
// More — Local life.
|
|
674
675
|
{ id: "pets", label: "Pets", href: "/pets", kind: "product", group: "local-life", order: 10, more: true },
|
|
676
|
+
{ id: "toys", label: "Toy Swap", href: "/toys", kind: "product", group: "local-life", order: 15, more: true },
|
|
675
677
|
{ id: "celebrations", label: "Celebrations", href: "/sections/celebrations", kind: "product", group: "local-life", order: 20, more: true, enabled: false },
|
|
676
678
|
{ id: "community-maps", label: "Community maps", href: "/community-maps", kind: "product", group: "local-life", order: 30, more: true },
|
|
677
679
|
{ id: "town-chat", label: "Town chat", href: "/chat", kind: "product", group: "local-life", order: 40, more: true, feature: "chat" },
|
|
@@ -1525,7 +1527,7 @@ var COOKIE_CATEGORIES = [
|
|
|
1525
1527
|
id: "performance",
|
|
1526
1528
|
title: "Performance & Analytics Cookies",
|
|
1527
1529
|
shortDescription: "Help us measure reader engagement, story completion, and site reliability.",
|
|
1528
|
-
fullDescription: "
|
|
1530
|
+
fullDescription: "We always count page views and reading activity without cookies or any identifier stored on your device: the server derives a daily-rotating, non-reversible hash that cannot be linked back to you, and your IP address is truncated before it is stored. With these cookies turned on, first-party identifiers additionally let us recognise a return visit and measure sessions. In the United States and most other regions they are on by default and you can turn them off here; in the EU, EEA, UK and Switzerland they stay off until you accept them.",
|
|
1529
1531
|
required: false,
|
|
1530
1532
|
cookies: [
|
|
1531
1533
|
{
|
|
@@ -1605,6 +1607,12 @@ function CookieConsentBanner({
|
|
|
1605
1607
|
const [visible, setVisible] = react.useState(false);
|
|
1606
1608
|
react.useEffect(() => {
|
|
1607
1609
|
setMounted(true);
|
|
1610
|
+
if (countryCode && /^[A-Za-z]{2}$/.test(countryCode)) {
|
|
1611
|
+
try {
|
|
1612
|
+
document.cookie = `sm_geo_country=${countryCode.toUpperCase()}; Path=/; SameSite=Lax`;
|
|
1613
|
+
} catch {
|
|
1614
|
+
}
|
|
1615
|
+
}
|
|
1608
1616
|
const url = new URL(window.location.href);
|
|
1609
1617
|
if (url.searchParams.has("sm_consent")) {
|
|
1610
1618
|
if (url.searchParams.get("sm_consent") === "0" && !compliance.hasConsented())
|
|
@@ -1612,11 +1620,12 @@ function CookieConsentBanner({
|
|
|
1612
1620
|
url.searchParams.delete("sm_consent");
|
|
1613
1621
|
window.history.replaceState(window.history.state, "", url);
|
|
1614
1622
|
}
|
|
1615
|
-
|
|
1623
|
+
const asks = forceShow || compliance.consentModel(countryCode) === "opt-in";
|
|
1624
|
+
setVisible(asks && !compliance.hasConsented() && !compliance.isGpcActive());
|
|
1616
1625
|
}, [countryCode, forceShow, consentHubUrl]);
|
|
1617
1626
|
react.useEffect(() => {
|
|
1618
1627
|
const onConsentChange = () => {
|
|
1619
|
-
setVisible(!compliance.hasConsented() && !compliance.isGpcActive());
|
|
1628
|
+
setVisible((visible2) => visible2 && !compliance.hasConsented() && !compliance.isGpcActive());
|
|
1620
1629
|
};
|
|
1621
1630
|
window.addEventListener(compliance.COOKIE_CONSENT_EVENT, onConsentChange);
|
|
1622
1631
|
return () => window.removeEventListener(compliance.COOKIE_CONSENT_EVENT, onConsentChange);
|
|
@@ -1639,7 +1648,7 @@ function CookieConsentBanner({
|
|
|
1639
1648
|
});
|
|
1640
1649
|
};
|
|
1641
1650
|
const defaultText = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1642
|
-
"With your permission,
|
|
1651
|
+
"We count page views without cookies or identifiers. With your permission, first-party cookies also let us measure reading sessions and sponsor acknowledgments. You can read the publication with optional cookies turned off. View",
|
|
1643
1652
|
" ",
|
|
1644
1653
|
/* @__PURE__ */ jsxRuntime.jsx("a", { href: settingsUrl, className: "sm-cookie-banner-link", children: "Cookie Settings" }),
|
|
1645
1654
|
" ",
|
|
@@ -1691,8 +1700,7 @@ function CookieSettingsView({
|
|
|
1691
1700
|
publicationSlug
|
|
1692
1701
|
}) {
|
|
1693
1702
|
const [preferences, setPreferences] = react.useState(() => {
|
|
1694
|
-
|
|
1695
|
-
return existing ? existing.preferences : { ...compliance.DEFAULT_PREFERENCES_ACCEPTED };
|
|
1703
|
+
return { ...compliance.effectivePreferences() };
|
|
1696
1704
|
});
|
|
1697
1705
|
const [expandedCategories, setExpandedCategories] = react.useState({
|
|
1698
1706
|
essential: false,
|
|
@@ -2938,7 +2946,13 @@ var ALLOWED_CARD_TYPES = /* @__PURE__ */ new Set([
|
|
|
2938
2946
|
"ACTIVITY",
|
|
2939
2947
|
"EVENT",
|
|
2940
2948
|
"ORGANIZATION",
|
|
2941
|
-
"PRODUCT"
|
|
2949
|
+
"PRODUCT",
|
|
2950
|
+
"FRAMEWORK",
|
|
2951
|
+
"STANDARD",
|
|
2952
|
+
"SPECIFICATION",
|
|
2953
|
+
"TOPIC",
|
|
2954
|
+
"RESOURCE",
|
|
2955
|
+
"REFERENCE"
|
|
2942
2956
|
]);
|
|
2943
2957
|
function clip(val, maxChars) {
|
|
2944
2958
|
if (typeof val !== "string") return void 0;
|
|
@@ -2980,9 +2994,18 @@ function parseRawCards(rawCards) {
|
|
|
2980
2994
|
const id = clip(c.id, 64);
|
|
2981
2995
|
const title = clip(c.title, 300);
|
|
2982
2996
|
if (!id || !title) continue;
|
|
2983
|
-
const
|
|
2984
|
-
|
|
2985
|
-
|
|
2997
|
+
const rawKind = (typeof c.card_type === "string" ? c.card_type : typeof c.cardType === "string" ? c.cardType : "").trim().toUpperCase();
|
|
2998
|
+
let cardType;
|
|
2999
|
+
if (ALLOWED_CARD_TYPES.has(rawKind)) {
|
|
3000
|
+
cardType = rawKind;
|
|
3001
|
+
} else if (rawKind === "RESEARCH_FRAMEWORK") {
|
|
3002
|
+
cardType = "FRAMEWORK";
|
|
3003
|
+
} else if (c.address && c.hours) {
|
|
3004
|
+
cardType = "PLACE";
|
|
3005
|
+
} else {
|
|
3006
|
+
cardType = "REFERENCE";
|
|
3007
|
+
}
|
|
3008
|
+
const kicker = clip(c.kicker, 120) || (cardType === "PLACE" ? "LOCAL VENUE \xB7 DIRECTORY" : cardType === "EVENT" ? "COMMUNITY EVENT \xB7 FACTSHEET" : cardType === "ACTIVITY" ? "COMMUNITY ACTIVITY \xB7 FACTSHEET" : cardType === "ORGANIZATION" ? "ORGANIZATION \xB7 DIRECTORY" : cardType === "PRODUCT" ? "PRODUCT \xB7 FACTSHEET" : cardType === "FRAMEWORK" ? "TECHNICAL FRAMEWORK" : cardType === "STANDARD" ? "TECHNICAL STANDARD" : cardType === "SPECIFICATION" ? "SPECIFICATION" : cardType === "TOPIC" ? "TOPIC REFERENCE" : cardType === "RESOURCE" ? "DIGITAL RESOURCE" : "FACTSHEET");
|
|
2986
3009
|
const subtitle = clip(c.subtitle, 300);
|
|
2987
3010
|
const summary = clip(c.summary, 1e3);
|
|
2988
3011
|
const badge = clip(c.badge, 64);
|
|
@@ -3003,16 +3026,23 @@ function parseRawCards(rawCards) {
|
|
|
3003
3026
|
} else {
|
|
3004
3027
|
const timeframe = clip(c.timeframe, 200);
|
|
3005
3028
|
if (timeframe) facts.push({ label: "Timeframe", value: timeframe });
|
|
3029
|
+
const isPhysicalPlace = cardType === "PLACE" || cardType === "EVENT" || cardType === "ACTIVITY";
|
|
3006
3030
|
const address = clip(c.address, 300);
|
|
3007
3031
|
if (address) {
|
|
3008
3032
|
facts.push({
|
|
3009
|
-
label: "Address",
|
|
3033
|
+
label: isPhysicalPlace ? "Address" : "Location",
|
|
3010
3034
|
value: address,
|
|
3011
|
-
href: `https://maps.google.com/?q=${encodeURIComponent(address)}`
|
|
3035
|
+
href: isPhysicalPlace ? `https://maps.google.com/?q=${encodeURIComponent(address)}` : void 0
|
|
3012
3036
|
});
|
|
3013
3037
|
}
|
|
3014
3038
|
const hours = clip(c.hours, 300);
|
|
3015
|
-
if (hours)
|
|
3039
|
+
if (hours) {
|
|
3040
|
+
facts.push({ label: isPhysicalPlace ? "Hours" : "Details", value: hours });
|
|
3041
|
+
}
|
|
3042
|
+
const website = clip(c.website || c.url, 500);
|
|
3043
|
+
if (website && isSafeActionUrl(website)) {
|
|
3044
|
+
facts.push({ label: "Website", value: website.replace(/^https?:\/\//, ""), href: website });
|
|
3045
|
+
}
|
|
3016
3046
|
const phone = clip(c.phone, 80);
|
|
3017
3047
|
if (phone) {
|
|
3018
3048
|
facts.push({
|
|
@@ -3060,8 +3090,8 @@ function parseRawCards(rawCards) {
|
|
|
3060
3090
|
};
|
|
3061
3091
|
}
|
|
3062
3092
|
}
|
|
3063
|
-
const verificationNote = clip(c.verification_note || c.verificationNote, 300)
|
|
3064
|
-
const verifiedAt = clip(c.verified_at || c.verifiedAt, 100)
|
|
3093
|
+
const verificationNote = clip(c.verification_note || c.verificationNote, 300);
|
|
3094
|
+
const verifiedAt = clip(c.verified_at || c.verifiedAt, 100);
|
|
3065
3095
|
let rating = void 0;
|
|
3066
3096
|
if (typeof c.rating === "number" || typeof c.rating === "string") {
|
|
3067
3097
|
rating = c.rating;
|
|
@@ -3139,12 +3169,12 @@ function VerifiedCardComponent({
|
|
|
3139
3169
|
},
|
|
3140
3170
|
i
|
|
3141
3171
|
)) }),
|
|
3142
|
-
/* @__PURE__ */ jsxRuntime.jsxs("footer", { className: "article-verified-card__footer", children: [
|
|
3143
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "article-verified-card__seal", children: [
|
|
3172
|
+
(card.verificationNote || card.verifiedAt) && /* @__PURE__ */ jsxRuntime.jsxs("footer", { className: "article-verified-card__footer", children: [
|
|
3173
|
+
card.verificationNote && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "article-verified-card__seal", children: [
|
|
3144
3174
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "article-verified-card__seal-check", "aria-hidden": "true", children: "\u2713" }),
|
|
3145
3175
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: card.verificationNote })
|
|
3146
3176
|
] }),
|
|
3147
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "article-verified-card__date", children: card.verifiedAt })
|
|
3177
|
+
card.verifiedAt && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "article-verified-card__date", children: card.verifiedAt })
|
|
3148
3178
|
] })
|
|
3149
3179
|
]
|
|
3150
3180
|
}
|
|
@@ -3574,10 +3604,18 @@ Object.defineProperty(exports, "clearCookieConsent", {
|
|
|
3574
3604
|
enumerable: true,
|
|
3575
3605
|
get: function () { return compliance.clearCookieConsent; }
|
|
3576
3606
|
});
|
|
3607
|
+
Object.defineProperty(exports, "consentModel", {
|
|
3608
|
+
enumerable: true,
|
|
3609
|
+
get: function () { return compliance.consentModel; }
|
|
3610
|
+
});
|
|
3577
3611
|
Object.defineProperty(exports, "decorateNetworkUrl", {
|
|
3578
3612
|
enumerable: true,
|
|
3579
3613
|
get: function () { return compliance.decorateNetworkUrl; }
|
|
3580
3614
|
});
|
|
3615
|
+
Object.defineProperty(exports, "effectivePreferences", {
|
|
3616
|
+
enumerable: true,
|
|
3617
|
+
get: function () { return compliance.effectivePreferences; }
|
|
3618
|
+
});
|
|
3581
3619
|
Object.defineProperty(exports, "getCookieConsent", {
|
|
3582
3620
|
enumerable: true,
|
|
3583
3621
|
get: function () { return compliance.getCookieConsent; }
|
|
@@ -3586,6 +3624,10 @@ Object.defineProperty(exports, "hasConsented", {
|
|
|
3586
3624
|
enumerable: true,
|
|
3587
3625
|
get: function () { return compliance.hasConsented; }
|
|
3588
3626
|
});
|
|
3627
|
+
Object.defineProperty(exports, "impliedPreferences", {
|
|
3628
|
+
enumerable: true,
|
|
3629
|
+
get: function () { return compliance.impliedPreferences; }
|
|
3630
|
+
});
|
|
3589
3631
|
Object.defineProperty(exports, "isCategoryAllowed", {
|
|
3590
3632
|
enumerable: true,
|
|
3591
3633
|
get: function () { return compliance.isCategoryAllowed; }
|
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as PublicationTheme, P as PublicationInput, N as NewsPublication, F as FeatureName, b as NewsItem, H as HomepageSelection, c as NearbyUpdate, E as EditorialSection, d as NewsArticle, C as CouponOffer } from './types-
|
|
2
|
-
export { A as ArticleCitation, e as CardType, f as CategoryRef, g as CouponSettings, h as CoverImageMetadata, i as FEATURE_NAMES, j as FeatureFlags, k as NewsFeed, l as NewsLayoutId, m as PublicationModules, R as ReferralSettings, S as StoryDisplay, T as TagRef, V as VerifiedCard, n as VerifiedCardAction, o as VerifiedCardFact, p as VerifiedCardImage } from './types-
|
|
1
|
+
import { a as PublicationTheme, P as PublicationInput, N as NewsPublication, F as FeatureName, b as NewsItem, H as HomepageSelection, c as NearbyUpdate, E as EditorialSection, d as NewsArticle, C as CouponOffer } from './types-DBi49N8m.cjs';
|
|
2
|
+
export { A as ArticleCitation, e as CardType, f as CategoryRef, g as CouponSettings, h as CoverImageMetadata, i as FEATURE_NAMES, j as FeatureFlags, k as NewsFeed, l as NewsLayoutId, m as PublicationModules, R as ReferralSettings, S as StoryDisplay, T as TagRef, V as VerifiedCard, n as VerifiedCardAction, o as VerifiedCardFact, p as VerifiedCardImage } from './types-DBi49N8m.cjs';
|
|
3
3
|
export { M as MEET_ACTIVITIES, b as MeetActivity, c as MeetupInput, a as PreparedMeetup, P as PublicPlace, d as activityLabel, e as canHostMeetup, i as isAdult, p as prepareMeetup, s as screenMessage } from './meet-CO9Unz5M.cjs';
|
|
4
4
|
export { b as CLASSIFIED_CATEGORIES, c as ClassifiedCategory, C as ClassifiedListing, E as EmploymentType, J as JOB_EMPLOYMENT_TYPES, d as PreparedClassified, e as PreparedJob, P as PublicDeal, f as PublicDealOffer, a as PublicJob, g as categoryLabel, h as classifiedPath, i as classifiedSearchPath, j as clipChars, k as dealDollars, l as dealGoPath, m as dealsFeedPath, n as employmentLabel, o as isClassifiedCategory, p as isEmploymentType, q as jobEmployerBody, r as jobOpeningBody, s as jobPostingBody, t as prepareClassified, u as prepareJobPost, v as publicJobPath, w as publicJobsPath } from './marketplace-29i5w4LS.cjs';
|
|
5
|
-
export { b as PublicationRecord, P as PublicationSnapshot, S as SnapshotHooks, c as SyncSource, a as SyncedPublication, d as acceptRemoteRecord, e as acceptSnapshot, p as parseSnapshot, f as publicationFromSnapshot, g as publicationRecord, s as snapshotFromRecord, h as syncPublication } from './snapshot-
|
|
5
|
+
export { b as PublicationRecord, P as PublicationSnapshot, S as SnapshotHooks, c as SyncSource, a as SyncedPublication, d as acceptRemoteRecord, e as acceptSnapshot, p as parseSnapshot, f as publicationFromSnapshot, g as publicationRecord, s as snapshotFromRecord, h as syncPublication } from './snapshot-qj4BeNzB.cjs';
|
|
6
6
|
import { CookieCategoryDefinition, CookieConsentRecord } from '@scalemule/compliance';
|
|
7
|
-
export { COOKIE_CONSENT_BACKUP_KEY, COOKIE_CONSENT_EVENT, COOKIE_CONSENT_KEY, COOKIE_CONSENT_MAX_AGE_SECONDS, CookieCategory, CookieCategoryDefinition, CookieConsentRecord, CookieDisclosure, CookiePreferences, DEFAULT_CONSENT_HUB_URL, DEFAULT_PREFERENCES_ACCEPTED, DEFAULT_PREFERENCES_REJECTED, EU_EEA_UK_COUNTRIES, NETWORK_CONSENT_STORAGE_KEY, acceptAllCookies, checkUrlConsentBridge, clearCookieConsent, decorateNetworkUrl, getCookieConsent, hasConsented, isCategoryAllowed, isGeoConsentRequired, queryNetworkConsentHub, rejectOptionalCookies, setCookieConsent, setNetworkConsentHub } from '@scalemule/compliance';
|
|
7
|
+
export { COOKIE_CONSENT_BACKUP_KEY, COOKIE_CONSENT_EVENT, COOKIE_CONSENT_KEY, COOKIE_CONSENT_MAX_AGE_SECONDS, CookieCategory, CookieCategoryDefinition, CookieConsentRecord, CookieDisclosure, CookiePreferences, DEFAULT_CONSENT_HUB_URL, DEFAULT_PREFERENCES_ACCEPTED, DEFAULT_PREFERENCES_REJECTED, EU_EEA_UK_COUNTRIES, NETWORK_CONSENT_STORAGE_KEY, acceptAllCookies, checkUrlConsentBridge, clearCookieConsent, consentModel, decorateNetworkUrl, effectivePreferences, getCookieConsent, hasConsented, impliedPreferences, isCategoryAllowed, isGeoConsentRequired, queryNetworkConsentHub, rejectOptionalCookies, setCookieConsent, setNetworkConsentHub } from '@scalemule/compliance';
|
|
8
8
|
export { CookieConsentBanner, CookieConsentBannerProps } from './cookie-consent-banner.cjs';
|
|
9
9
|
export { CookieSettingsView, CookieSettingsViewProps } from './cookie-settings-view.cjs';
|
|
10
10
|
export { ThemeToggle, ThemeToggleProps } from './theme-toggle.cjs';
|
|
@@ -397,14 +397,15 @@ declare function newsArticleJsonLd(publication: NewsPublication, article: NewsAr
|
|
|
397
397
|
url: string;
|
|
398
398
|
};
|
|
399
399
|
isBasedOn?: string | undefined;
|
|
400
|
+
image: string[] | undefined;
|
|
401
|
+
mainEntityOfPage: string;
|
|
402
|
+
url: string;
|
|
403
|
+
dateModified?: string | undefined;
|
|
400
404
|
"@context": string;
|
|
401
405
|
"@type": string;
|
|
402
406
|
headline: string;
|
|
403
407
|
description: string | undefined;
|
|
404
408
|
datePublished: string;
|
|
405
|
-
image: string[] | undefined;
|
|
406
|
-
mainEntityOfPage: string;
|
|
407
|
-
url: string;
|
|
408
409
|
};
|
|
409
410
|
declare function publicationJsonLd(publication: NewsPublication, canonical: string): {
|
|
410
411
|
"@context": string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as PublicationTheme, P as PublicationInput, N as NewsPublication, F as FeatureName, b as NewsItem, H as HomepageSelection, c as NearbyUpdate, E as EditorialSection, d as NewsArticle, C as CouponOffer } from './types-
|
|
2
|
-
export { A as ArticleCitation, e as CardType, f as CategoryRef, g as CouponSettings, h as CoverImageMetadata, i as FEATURE_NAMES, j as FeatureFlags, k as NewsFeed, l as NewsLayoutId, m as PublicationModules, R as ReferralSettings, S as StoryDisplay, T as TagRef, V as VerifiedCard, n as VerifiedCardAction, o as VerifiedCardFact, p as VerifiedCardImage } from './types-
|
|
1
|
+
import { a as PublicationTheme, P as PublicationInput, N as NewsPublication, F as FeatureName, b as NewsItem, H as HomepageSelection, c as NearbyUpdate, E as EditorialSection, d as NewsArticle, C as CouponOffer } from './types-DBi49N8m.js';
|
|
2
|
+
export { A as ArticleCitation, e as CardType, f as CategoryRef, g as CouponSettings, h as CoverImageMetadata, i as FEATURE_NAMES, j as FeatureFlags, k as NewsFeed, l as NewsLayoutId, m as PublicationModules, R as ReferralSettings, S as StoryDisplay, T as TagRef, V as VerifiedCard, n as VerifiedCardAction, o as VerifiedCardFact, p as VerifiedCardImage } from './types-DBi49N8m.js';
|
|
3
3
|
export { M as MEET_ACTIVITIES, b as MeetActivity, c as MeetupInput, a as PreparedMeetup, P as PublicPlace, d as activityLabel, e as canHostMeetup, i as isAdult, p as prepareMeetup, s as screenMessage } from './meet-BWpxY20X.js';
|
|
4
4
|
export { b as CLASSIFIED_CATEGORIES, c as ClassifiedCategory, C as ClassifiedListing, E as EmploymentType, J as JOB_EMPLOYMENT_TYPES, d as PreparedClassified, e as PreparedJob, P as PublicDeal, f as PublicDealOffer, a as PublicJob, g as categoryLabel, h as classifiedPath, i as classifiedSearchPath, j as clipChars, k as dealDollars, l as dealGoPath, m as dealsFeedPath, n as employmentLabel, o as isClassifiedCategory, p as isEmploymentType, q as jobEmployerBody, r as jobOpeningBody, s as jobPostingBody, t as prepareClassified, u as prepareJobPost, v as publicJobPath, w as publicJobsPath } from './marketplace-29i5w4LS.js';
|
|
5
|
-
export { b as PublicationRecord, P as PublicationSnapshot, S as SnapshotHooks, c as SyncSource, a as SyncedPublication, d as acceptRemoteRecord, e as acceptSnapshot, p as parseSnapshot, f as publicationFromSnapshot, g as publicationRecord, s as snapshotFromRecord, h as syncPublication } from './snapshot-
|
|
5
|
+
export { b as PublicationRecord, P as PublicationSnapshot, S as SnapshotHooks, c as SyncSource, a as SyncedPublication, d as acceptRemoteRecord, e as acceptSnapshot, p as parseSnapshot, f as publicationFromSnapshot, g as publicationRecord, s as snapshotFromRecord, h as syncPublication } from './snapshot-CjP7bSXJ.js';
|
|
6
6
|
import { CookieCategoryDefinition, CookieConsentRecord } from '@scalemule/compliance';
|
|
7
|
-
export { COOKIE_CONSENT_BACKUP_KEY, COOKIE_CONSENT_EVENT, COOKIE_CONSENT_KEY, COOKIE_CONSENT_MAX_AGE_SECONDS, CookieCategory, CookieCategoryDefinition, CookieConsentRecord, CookieDisclosure, CookiePreferences, DEFAULT_CONSENT_HUB_URL, DEFAULT_PREFERENCES_ACCEPTED, DEFAULT_PREFERENCES_REJECTED, EU_EEA_UK_COUNTRIES, NETWORK_CONSENT_STORAGE_KEY, acceptAllCookies, checkUrlConsentBridge, clearCookieConsent, decorateNetworkUrl, getCookieConsent, hasConsented, isCategoryAllowed, isGeoConsentRequired, queryNetworkConsentHub, rejectOptionalCookies, setCookieConsent, setNetworkConsentHub } from '@scalemule/compliance';
|
|
7
|
+
export { COOKIE_CONSENT_BACKUP_KEY, COOKIE_CONSENT_EVENT, COOKIE_CONSENT_KEY, COOKIE_CONSENT_MAX_AGE_SECONDS, CookieCategory, CookieCategoryDefinition, CookieConsentRecord, CookieDisclosure, CookiePreferences, DEFAULT_CONSENT_HUB_URL, DEFAULT_PREFERENCES_ACCEPTED, DEFAULT_PREFERENCES_REJECTED, EU_EEA_UK_COUNTRIES, NETWORK_CONSENT_STORAGE_KEY, acceptAllCookies, checkUrlConsentBridge, clearCookieConsent, consentModel, decorateNetworkUrl, effectivePreferences, getCookieConsent, hasConsented, impliedPreferences, isCategoryAllowed, isGeoConsentRequired, queryNetworkConsentHub, rejectOptionalCookies, setCookieConsent, setNetworkConsentHub } from '@scalemule/compliance';
|
|
8
8
|
export { CookieConsentBanner, CookieConsentBannerProps } from './cookie-consent-banner.js';
|
|
9
9
|
export { CookieSettingsView, CookieSettingsViewProps } from './cookie-settings-view.js';
|
|
10
10
|
export { ThemeToggle, ThemeToggleProps } from './theme-toggle.js';
|
|
@@ -397,14 +397,15 @@ declare function newsArticleJsonLd(publication: NewsPublication, article: NewsAr
|
|
|
397
397
|
url: string;
|
|
398
398
|
};
|
|
399
399
|
isBasedOn?: string | undefined;
|
|
400
|
+
image: string[] | undefined;
|
|
401
|
+
mainEntityOfPage: string;
|
|
402
|
+
url: string;
|
|
403
|
+
dateModified?: string | undefined;
|
|
400
404
|
"@context": string;
|
|
401
405
|
"@type": string;
|
|
402
406
|
headline: string;
|
|
403
407
|
description: string | undefined;
|
|
404
408
|
datePublished: string;
|
|
405
|
-
image: string[] | undefined;
|
|
406
|
-
mainEntityOfPage: string;
|
|
407
|
-
url: string;
|
|
408
409
|
};
|
|
409
410
|
declare function publicationJsonLd(publication: NewsPublication, canonical: string): {
|
|
410
411
|
"@context": string;
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export { CookieConsentBanner } from './chunk-XPOZGZTM.js';
|
|
5
|
-
export { CookieSettingsView } from './chunk-GYYUJYI4.js';
|
|
1
|
+
export { CURATED_COMMUNITY_CARDS, VerifiedCardComponent, VerifiedCardSection, getArticleCards, isSafeActionUrl } from './chunk-KYUVXEJY.js';
|
|
2
|
+
export { CookieConsentBanner } from './chunk-XSAVJJVW.js';
|
|
3
|
+
export { CookieSettingsView } from './chunk-X7AU7DV6.js';
|
|
6
4
|
export { THEME_COOKIE, THEME_EVENT, THEME_MAX_AGE_SECONDS, THEME_STORAGE_KEY, ThemeToggle, applyTheme, clearTheme, getStoredTheme, getSystemTheme, resolveEffectiveTheme, setTheme, subscribeTheme, themeInitScript } from './chunk-NQD3M7ZY.js';
|
|
7
|
-
export { LocalNetworkBar } from './chunk-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export { LocalNetworkBar } from './chunk-Q77T2S7B.js';
|
|
6
|
+
export { NetworkCopyrightNotice } from './chunk-FWEYKWKP.js';
|
|
7
|
+
import { localPublications } from './chunk-XWXPERLK.js';
|
|
8
|
+
export { COOKIE_CATEGORIES, COOKIE_CONSENT_BACKUP_KEY, COOKIE_CONSENT_EVENT, COOKIE_CONSENT_KEY, COOKIE_CONSENT_MAX_AGE_SECONDS, DEFAULT_CONSENT_HUB_URL, DEFAULT_PREFERENCES_ACCEPTED, DEFAULT_PREFERENCES_REJECTED, EDITORIAL_PRINCIPLES, EU_EEA_UK_COUNTRIES, NETWORK_CONSENT_STORAGE_KEY, NETWORK_PARENT, acceptAllCookies, checkUrlConsentBridge, clearCookieConsent, communityPublications, consentModel, decorateNetworkUrl, effectivePreferences, findPublicationByHost, findPublicationBySlug, getCookieConsent, getNetworkPublicationUrl, hasConsented, impliedPreferences, isCategoryAllowed, isGeoConsentRequired, listedPublications, localPublications, queryNetworkConsentHub, recordConsentToCompliance, rejectOptionalCookies, setCookieConsent, setNetworkConsentHub, topicalPublications } from './chunk-XWXPERLK.js';
|
|
10
9
|
export { communityMapEmbeds } from './chunk-IMYBSG7J.js';
|
|
11
10
|
export { formatArtworkCaption, parseDocumentBlocks, renderArticleBlocksToHtml, sanitizeInlineMarkdown } from './chunk-OISLCYER.js';
|
|
12
11
|
import { definePublication } from './chunk-57YVL6BD.js';
|
|
13
12
|
export { BROADSHEET_THEME, FEATURE_NAMES, LAYOUT_COOKIE, acceptRemoteRecord, acceptSnapshot, definePublication, featureEnabled, parseSnapshot, publicationFromSnapshot, publicationRecord, resolveLayout, snapshotFromRecord, syncPublication } from './chunk-57YVL6BD.js';
|
|
14
13
|
export { CLASSIFIED_CATEGORIES, JOB_EMPLOYMENT_TYPES, categoryLabel, classifiedPath, classifiedSearchPath, clipChars, dealDollars, dealGoPath, dealsFeedPath, employmentLabel, isClassifiedCategory, isEmploymentType, jobEmployerBody, jobOpeningBody, jobPostingBody, prepareClassified, prepareJobPost, publicJobPath, publicJobsPath } from './chunk-C7ZPLH2K.js';
|
|
14
|
+
export { MEET_ACTIVITIES, activityLabel, canHostMeetup, isAdult, prepareMeetup, screenMessage } from './chunk-AMLVCZDP.js';
|
|
15
15
|
export { SPONSORSHIP_OFFERINGS, SPONSORSHIP_POLICY, placementAvailable, safeSponsorUrl } from './chunk-66GI2IX6.js';
|
|
16
16
|
import './chunk-AFJ6S5WJ.js';
|
|
17
17
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -246,6 +246,7 @@ function newsArticleJsonLd(publication, article, canonical, authorName) {
|
|
|
246
246
|
headline: article.title,
|
|
247
247
|
description: article.excerpt ?? void 0,
|
|
248
248
|
datePublished: article.published_at,
|
|
249
|
+
...article.metadata?.editorial?.modified_at ? { dateModified: article.metadata.editorial.modified_at } : {},
|
|
249
250
|
// updated_at also changes for media/operational maintenance. A trusted
|
|
250
251
|
// editorial modification timestamp is required before emitting dateModified.
|
|
251
252
|
image: image ? [image] : void 0,
|
|
@@ -615,6 +616,7 @@ var NETWORK_NAVIGATION = [
|
|
|
615
616
|
editorial("transportation", "Transportation", { group: "news-knowledge", order: 50, more: true }),
|
|
616
617
|
// More — Local life.
|
|
617
618
|
{ id: "pets", label: "Pets", href: "/pets", kind: "product", group: "local-life", order: 10, more: true },
|
|
619
|
+
{ id: "toys", label: "Toy Swap", href: "/toys", kind: "product", group: "local-life", order: 15, more: true },
|
|
618
620
|
{ id: "celebrations", label: "Celebrations", href: "/sections/celebrations", kind: "product", group: "local-life", order: 20, more: true, enabled: false },
|
|
619
621
|
{ id: "community-maps", label: "Community maps", href: "/community-maps", kind: "product", group: "local-life", order: 30, more: true },
|
|
620
622
|
{ id: "town-chat", label: "Town chat", href: "/chat", kind: "product", group: "local-life", order: 40, more: true, feature: "chat" },
|
package/dist/meet-view.d.cts
CHANGED
|
@@ -18,7 +18,7 @@ declare function MeetupDetail({ meetup, joined }: {
|
|
|
18
18
|
joined: boolean;
|
|
19
19
|
}): React.JSX.Element;
|
|
20
20
|
declare function activityChoices(): {
|
|
21
|
-
value: "walk" | "other" | "coffee" | "hike" | "pickleball" | "tennis" | "soccer" | "bike" | "dogs" | "books" | "
|
|
21
|
+
value: "walk" | "other" | "games" | "coffee" | "hike" | "pickleball" | "tennis" | "soccer" | "bike" | "dogs" | "books" | "kids" | "volunteer";
|
|
22
22
|
label: string;
|
|
23
23
|
}[];
|
|
24
24
|
|
package/dist/meet-view.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ declare function MeetupDetail({ meetup, joined }: {
|
|
|
18
18
|
joined: boolean;
|
|
19
19
|
}): React.JSX.Element;
|
|
20
20
|
declare function activityChoices(): {
|
|
21
|
-
value: "walk" | "other" | "coffee" | "hike" | "pickleball" | "tennis" | "soccer" | "bike" | "dogs" | "books" | "
|
|
21
|
+
value: "walk" | "other" | "games" | "coffee" | "hike" | "pickleball" | "tennis" | "soccer" | "bike" | "dogs" | "books" | "kids" | "volunteer";
|
|
22
22
|
label: string;
|
|
23
23
|
}[];
|
|
24
24
|
|
package/dist/network-bar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { LocalNetworkBar } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { LocalNetworkBar } from './chunk-Q77T2S7B.js';
|
|
2
|
+
import './chunk-XWXPERLK.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { NetworkCopyrightNotice } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { NetworkCopyrightNotice } from './chunk-FWEYKWKP.js';
|
|
2
|
+
import './chunk-XWXPERLK.js';
|
package/dist/network.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { EDITORIAL_PRINCIPLES, NETWORK_PARENT, communityPublications, findPublicationByHost, findPublicationBySlug, getNetworkPublicationUrl, isNetworkHostname, listedPublications, localPublications, topicalPublications } from './chunk-
|
|
1
|
+
export { EDITORIAL_PRINCIPLES, NETWORK_PARENT, communityPublications, findPublicationByHost, findPublicationBySlug, getNetworkPublicationUrl, isNetworkHostname, listedPublications, localPublications, topicalPublications } from './chunk-XWXPERLK.js';
|