@scalemule/news-publication 0.0.48 → 0.0.50
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 +54 -0
- package/dist/chunk-4JRWZXAP.js +62 -0
- package/dist/chunk-ABPJMDUG.js +251 -0
- package/dist/chunk-AFJ6S5WJ.js +124 -0
- package/dist/{chunk-GB36YM56.js → chunk-AMLVCZDP.js} +11 -1
- package/dist/chunk-QW3OZB22.js +616 -0
- package/dist/community-maps-view.d.cts +3 -3
- package/dist/community-maps-view.d.ts +3 -3
- package/dist/cookie-consent-banner.d.cts +2 -2
- package/dist/cookie-consent-banner.d.ts +2 -2
- package/dist/cookie-settings-view.d.cts +2 -2
- package/dist/cookie-settings-view.d.ts +2 -2
- package/dist/index.cjs +29 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +3 -2
- package/dist/marketplace-forms.d.cts +3 -3
- package/dist/marketplace-forms.d.ts +3 -3
- package/dist/marketplace-view.d.cts +5 -5
- package/dist/marketplace-view.d.ts +5 -5
- package/dist/{meet-RWmfj3I3.d.cts → meet-BWpxY20X.d.ts} +5 -0
- package/dist/{meet-RWmfj3I3.d.ts → meet-CO9Unz5M.d.cts} +5 -0
- package/dist/meet-forms.d.cts +7 -6
- package/dist/meet-forms.d.ts +7 -6
- package/dist/meet-forms.js +2 -1
- package/dist/meet-view.cjs +22 -2
- package/dist/meet-view.d.cts +7 -5
- package/dist/meet-view.d.ts +7 -5
- package/dist/meet-view.js +21 -4
- package/dist/network-bar.d.cts +2 -2
- package/dist/network-bar.d.ts +2 -2
- package/dist/network-copyright.d.cts +2 -2
- package/dist/network-copyright.d.ts +2 -2
- package/dist/pets-auth-server.cjs +257 -0
- package/dist/pets-auth-server.d.cts +23 -0
- package/dist/pets-auth-server.d.ts +23 -0
- package/dist/pets-auth-server.js +198 -0
- package/dist/pets-forms.cjs +764 -0
- package/dist/pets-forms.d.cts +28 -0
- package/dist/pets-forms.d.ts +28 -0
- package/dist/pets-forms.js +714 -0
- package/dist/pets-interactions.cjs +333 -0
- package/dist/pets-interactions.d.cts +23 -0
- package/dist/pets-interactions.d.ts +23 -0
- package/dist/pets-interactions.js +320 -0
- package/dist/pets-plugin.cjs +546 -0
- package/dist/pets-plugin.d.cts +50 -0
- package/dist/pets-plugin.d.ts +50 -0
- package/dist/pets-plugin.js +312 -0
- package/dist/pets-publication.cjs +1014 -0
- package/dist/pets-publication.d.cts +40 -0
- package/dist/pets-publication.d.ts +40 -0
- package/dist/pets-publication.js +201 -0
- package/dist/pets-server.cjs +289 -0
- package/dist/pets-server.d.cts +42 -0
- package/dist/pets-server.d.ts +42 -0
- package/dist/pets-server.js +2 -0
- package/dist/pets-view.cjs +714 -0
- package/dist/pets-view.d.cts +58 -0
- package/dist/pets-view.d.ts +58 -0
- package/dist/pets-view.js +4 -0
- package/dist/pets.cjs +138 -0
- package/dist/pets.d.cts +127 -0
- package/dist/pets.d.ts +127 -0
- package/dist/pets.js +1 -0
- package/dist/sponsorship-view.d.cts +2 -2
- package/dist/sponsorship-view.d.ts +2 -2
- package/dist/sponsorship-view.js +2 -62
- package/dist/story-review.d.cts +6 -6
- package/dist/story-review.d.ts +6 -6
- package/dist/theme-toggle.d.cts +2 -2
- package/dist/theme-toggle.d.ts +2 -2
- package/dist/verified-card.d.cts +3 -3
- package/dist/verified-card.d.ts +3 -3
- package/package.json +45 -3
- package/pets.css +746 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
interface CookieConsentBannerProps {
|
|
4
4
|
/** Title displayed in banner. Default: "Help Us Improve Our Website with Cookies" */
|
|
@@ -20,6 +20,6 @@ interface CookieConsentBannerProps {
|
|
|
20
20
|
/** URL of the central network consent iframe bridge. Default: "https://bayareachronicle.com/consent-bridge.html" */
|
|
21
21
|
consentHubUrl?: string;
|
|
22
22
|
}
|
|
23
|
-
declare function CookieConsentBanner({ title, text, settingsUrl, className, publicationSlug, complianceEndpoint, countryCode, forceShow, consentHubUrl, }: CookieConsentBannerProps):
|
|
23
|
+
declare function CookieConsentBanner({ title, text, settingsUrl, className, publicationSlug, complianceEndpoint, countryCode, forceShow, consentHubUrl, }: CookieConsentBannerProps): React__default.JSX.Element | null;
|
|
24
24
|
|
|
25
25
|
export { CookieConsentBanner, type CookieConsentBannerProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
interface CookieSettingsViewProps {
|
|
4
4
|
/** The publication display name (e.g., "San Ramon Times") */
|
|
@@ -10,6 +10,6 @@ interface CookieSettingsViewProps {
|
|
|
10
10
|
/** Optional publication slug for metadata */
|
|
11
11
|
publicationSlug?: string;
|
|
12
12
|
}
|
|
13
|
-
declare function CookieSettingsView({ publicationName, region, complianceEndpoint, publicationSlug, }: CookieSettingsViewProps):
|
|
13
|
+
declare function CookieSettingsView({ publicationName, region, complianceEndpoint, publicationSlug, }: CookieSettingsViewProps): React__default.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { CookieSettingsView, type CookieSettingsViewProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
interface CookieSettingsViewProps {
|
|
4
4
|
/** The publication display name (e.g., "San Ramon Times") */
|
|
@@ -10,6 +10,6 @@ interface CookieSettingsViewProps {
|
|
|
10
10
|
/** Optional publication slug for metadata */
|
|
11
11
|
publicationSlug?: string;
|
|
12
12
|
}
|
|
13
|
-
declare function CookieSettingsView({ publicationName, region, complianceEndpoint, publicationSlug, }: CookieSettingsViewProps):
|
|
13
|
+
declare function CookieSettingsView({ publicationName, region, complianceEndpoint, publicationSlug, }: CookieSettingsViewProps): React__default.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { CookieSettingsView, type CookieSettingsViewProps };
|
package/dist/index.cjs
CHANGED
|
@@ -752,6 +752,26 @@ function referralCode(publication, url) {
|
|
|
752
752
|
}
|
|
753
753
|
}
|
|
754
754
|
|
|
755
|
+
// src/pets.ts
|
|
756
|
+
function preparePawWalk(value) {
|
|
757
|
+
if (!Number.isInteger(value.duration_minutes) || value.duration_minutes < 10 || value.duration_minutes > 240)
|
|
758
|
+
throw new Error("Choose a walk duration from 10 to 240 minutes.");
|
|
759
|
+
if (value.distance_km !== void 0 && (!Number.isFinite(value.distance_km) || value.distance_km < 0 || value.distance_km > 30))
|
|
760
|
+
throw new Error("Choose a walking distance from 0 to 30 km.");
|
|
761
|
+
if (value.leash !== "required" && value.leash !== "venue_rules")
|
|
762
|
+
throw new Error("Choose the leash requirements.");
|
|
763
|
+
for (const field of [value.size_guidance, value.accessibility])
|
|
764
|
+
if (typeof field !== "string" || Array.from(field).length > 500)
|
|
765
|
+
throw new Error("Keep walk guidance within 500 characters.");
|
|
766
|
+
return {
|
|
767
|
+
duration_minutes: value.duration_minutes,
|
|
768
|
+
distance_km: value.distance_km,
|
|
769
|
+
leash: value.leash,
|
|
770
|
+
size_guidance: value.size_guidance,
|
|
771
|
+
accessibility: value.accessibility
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
|
|
755
775
|
// src/meet.ts
|
|
756
776
|
var MEET_ACTIVITIES = [
|
|
757
777
|
{ value: "coffee", label: "Coffee" },
|
|
@@ -811,6 +831,13 @@ function prepareMeetup(input, places, now = /* @__PURE__ */ new Date()) {
|
|
|
811
831
|
if (!notes.ok) throw new Error(notes.reason);
|
|
812
832
|
const capacity = Number(input.capacity ?? 6);
|
|
813
833
|
if (!Number.isInteger(capacity) || capacity < 2 || capacity > 12) throw new Error("Choose a group size from 2 to 12.");
|
|
834
|
+
const walk = activity === "dogs" && input.walk ? preparePawWalk(input.walk) : void 0;
|
|
835
|
+
if (walk) for (const guidance of [walk.size_guidance, walk.accessibility]) {
|
|
836
|
+
if (guidance.trim()) {
|
|
837
|
+
const screened = screenMessage(guidance);
|
|
838
|
+
if (!screened.ok) throw new Error(screened.reason);
|
|
839
|
+
}
|
|
840
|
+
}
|
|
814
841
|
return {
|
|
815
842
|
activity,
|
|
816
843
|
activityLabel: label,
|
|
@@ -819,7 +846,8 @@ function prepareMeetup(input, places, now = /* @__PURE__ */ new Date()) {
|
|
|
819
846
|
placeDetail: place.detail,
|
|
820
847
|
startsAt: new Date(starts).toISOString(),
|
|
821
848
|
notes: notes.text,
|
|
822
|
-
capacity
|
|
849
|
+
capacity,
|
|
850
|
+
...walk ? { walk } : {}
|
|
823
851
|
};
|
|
824
852
|
}
|
|
825
853
|
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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-BJFCWWi0.cjs';
|
|
2
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-BJFCWWi0.cjs';
|
|
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-
|
|
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
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-Dx4Lv-lB.cjs';
|
|
6
6
|
import { CookieCategoryDefinition, CookieConsentRecord } from '@scalemule/compliance';
|
|
@@ -11,12 +11,13 @@ export { ThemeToggle, ThemeToggleProps } from './theme-toggle.cjs';
|
|
|
11
11
|
export { EDITORIAL_PRINCIPLES, EditorialPrinciple, NETWORK_PARENT, NetworkParent, PublicationNetworkItem, communityPublications, findPublicationByHost, findPublicationBySlug, getNetworkPublicationUrl, listedPublications, localPublications } from './network.cjs';
|
|
12
12
|
export { LocalNetworkBar, LocalNetworkBarProps } from './network-bar.cjs';
|
|
13
13
|
export { NetworkCopyrightNotice, NetworkCopyrightNoticeProps } from './network-copyright.cjs';
|
|
14
|
-
import * as
|
|
14
|
+
import * as React from 'react';
|
|
15
15
|
export { VerifiedCardComponent, VerifiedCardSection, getArticleCards, isSafeActionUrl } from './verified-card.cjs';
|
|
16
16
|
export { C as CommunityMapArticleEmbed, c as communityMapEmbeds } from './community-maps-DKcYhQYN.cjs';
|
|
17
17
|
export { C as ContentBlock, S as StructuredDocument, a as StructuredMedia, f as formatArtworkCaption, p as parseDocumentBlocks, r as renderArticleBlocksToHtml, s as sanitizeInlineMarkdown } from './article-blocks-DsabIDmH.cjs';
|
|
18
18
|
import { M as Measurement } from './sponsorships-CtnBe3S8.cjs';
|
|
19
19
|
export { a as Campaign, b as CampaignStatus, c as CampaignTarget, C as Creative, d as Placement, e as PlacementType, P as PublicAcknowledgment, S as SPONSORSHIP_OFFERINGS, f as SPONSORSHIP_POLICY, g as SponsorParty, p as placementAvailable, s as safeSponsorUrl } from './sponsorships-CtnBe3S8.cjs';
|
|
20
|
+
import './pets.cjs';
|
|
20
21
|
|
|
21
22
|
/** Walnut Creek Times broadsheet colors. A paper overrides only what it changes. */
|
|
22
23
|
declare const BROADSHEET_THEME: PublicationTheme;
|
|
@@ -424,7 +425,7 @@ declare function subscribeTheme(listener: () => void): () => void;
|
|
|
424
425
|
declare function themeInitScript(): string;
|
|
425
426
|
|
|
426
427
|
/** A reader projection, never an internal reporting package. */
|
|
427
|
-
declare function ArticleProvenance({ metadata }: Pick<NewsArticle, 'metadata'>):
|
|
428
|
+
declare function ArticleProvenance({ metadata }: Pick<NewsArticle, 'metadata'>): React.JSX.Element | null;
|
|
428
429
|
declare function readerSources(input: unknown): {
|
|
429
430
|
url: string;
|
|
430
431
|
title?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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-BJFCWWi0.js';
|
|
2
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-BJFCWWi0.js';
|
|
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-
|
|
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
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-DmRw8G_B.js';
|
|
6
6
|
import { CookieCategoryDefinition, CookieConsentRecord } from '@scalemule/compliance';
|
|
@@ -11,12 +11,13 @@ export { ThemeToggle, ThemeToggleProps } from './theme-toggle.js';
|
|
|
11
11
|
export { EDITORIAL_PRINCIPLES, EditorialPrinciple, NETWORK_PARENT, NetworkParent, PublicationNetworkItem, communityPublications, findPublicationByHost, findPublicationBySlug, getNetworkPublicationUrl, listedPublications, localPublications } from './network.js';
|
|
12
12
|
export { LocalNetworkBar, LocalNetworkBarProps } from './network-bar.js';
|
|
13
13
|
export { NetworkCopyrightNotice, NetworkCopyrightNoticeProps } from './network-copyright.js';
|
|
14
|
-
import * as
|
|
14
|
+
import * as React from 'react';
|
|
15
15
|
export { VerifiedCardComponent, VerifiedCardSection, getArticleCards, isSafeActionUrl } from './verified-card.js';
|
|
16
16
|
export { C as CommunityMapArticleEmbed, c as communityMapEmbeds } from './community-maps-DKcYhQYN.js';
|
|
17
17
|
export { C as ContentBlock, S as StructuredDocument, a as StructuredMedia, f as formatArtworkCaption, p as parseDocumentBlocks, r as renderArticleBlocksToHtml, s as sanitizeInlineMarkdown } from './article-blocks-DsabIDmH.js';
|
|
18
18
|
import { M as Measurement } from './sponsorships-CtnBe3S8.js';
|
|
19
19
|
export { a as Campaign, b as CampaignStatus, c as CampaignTarget, C as Creative, d as Placement, e as PlacementType, P as PublicAcknowledgment, S as SPONSORSHIP_OFFERINGS, f as SPONSORSHIP_POLICY, g as SponsorParty, p as placementAvailable, s as safeSponsorUrl } from './sponsorships-CtnBe3S8.js';
|
|
20
|
+
import './pets.js';
|
|
20
21
|
|
|
21
22
|
/** Walnut Creek Times broadsheet colors. A paper overrides only what it changes. */
|
|
22
23
|
declare const BROADSHEET_THEME: PublicationTheme;
|
|
@@ -424,7 +425,7 @@ declare function subscribeTheme(listener: () => void): () => void;
|
|
|
424
425
|
declare function themeInitScript(): string;
|
|
425
426
|
|
|
426
427
|
/** A reader projection, never an internal reporting package. */
|
|
427
|
-
declare function ArticleProvenance({ metadata }: Pick<NewsArticle, 'metadata'>):
|
|
428
|
+
declare function ArticleProvenance({ metadata }: Pick<NewsArticle, 'metadata'>): React.JSX.Element | null;
|
|
428
429
|
declare function readerSources(input: unknown): {
|
|
429
430
|
url: string;
|
|
430
431
|
title?: string;
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
export { NetworkCopyrightNotice } from './chunk-WAC6ATNP.js';
|
|
2
2
|
export { CURATED_COMMUNITY_CARDS, VerifiedCardComponent, VerifiedCardSection, getArticleCards, isSafeActionUrl } from './chunk-FMCHQI7K.js';
|
|
3
|
-
export { MEET_ACTIVITIES, activityLabel, canHostMeetup, isAdult, prepareMeetup, screenMessage } from './chunk-
|
|
3
|
+
export { MEET_ACTIVITIES, activityLabel, canHostMeetup, isAdult, prepareMeetup, screenMessage } from './chunk-AMLVCZDP.js';
|
|
4
4
|
export { CookieConsentBanner } from './chunk-GOWOYMSG.js';
|
|
5
5
|
export { CookieSettingsView } from './chunk-UL2Q3N26.js';
|
|
6
6
|
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
7
|
export { LocalNetworkBar } from './chunk-2XSW7JZS.js';
|
|
8
8
|
import { localPublications } from './chunk-JV76ZEIA.js';
|
|
9
9
|
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, decorateNetworkUrl, findPublicationByHost, findPublicationBySlug, getCookieConsent, getNetworkPublicationUrl, hasConsented, isCategoryAllowed, isGeoConsentRequired, listedPublications, localPublications, queryNetworkConsentHub, recordConsentToCompliance, rejectOptionalCookies, setCookieConsent, setNetworkConsentHub } from './chunk-JV76ZEIA.js';
|
|
10
|
-
export { SPONSORSHIP_OFFERINGS, SPONSORSHIP_POLICY, placementAvailable, safeSponsorUrl } from './chunk-66GI2IX6.js';
|
|
11
10
|
export { communityMapEmbeds } from './chunk-IMYBSG7J.js';
|
|
12
11
|
export { formatArtworkCaption, parseDocumentBlocks, renderArticleBlocksToHtml, sanitizeInlineMarkdown } from './chunk-OISLCYER.js';
|
|
13
12
|
import { definePublication } from './chunk-57YVL6BD.js';
|
|
14
13
|
export { BROADSHEET_THEME, FEATURE_NAMES, LAYOUT_COOKIE, acceptRemoteRecord, acceptSnapshot, definePublication, featureEnabled, parseSnapshot, publicationFromSnapshot, publicationRecord, resolveLayout, snapshotFromRecord, syncPublication } from './chunk-57YVL6BD.js';
|
|
15
14
|
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';
|
|
15
|
+
export { SPONSORSHIP_OFFERINGS, SPONSORSHIP_POLICY, placementAvailable, safeSponsorUrl } from './chunk-66GI2IX6.js';
|
|
16
|
+
import './chunk-AFJ6S5WJ.js';
|
|
16
17
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
17
18
|
|
|
18
19
|
// src/editorial.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
declare function JobPostForm({ towns }: {
|
|
4
4
|
towns: string[];
|
|
5
|
-
}):
|
|
5
|
+
}): React.JSX.Element;
|
|
6
6
|
declare function ClassifiedPostForm({ towns }: {
|
|
7
7
|
towns: string[];
|
|
8
|
-
}):
|
|
8
|
+
}): React.JSX.Element;
|
|
9
9
|
|
|
10
10
|
export { ClassifiedPostForm, JobPostForm };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
declare function JobPostForm({ towns }: {
|
|
4
4
|
towns: string[];
|
|
5
|
-
}):
|
|
5
|
+
}): React.JSX.Element;
|
|
6
6
|
declare function ClassifiedPostForm({ towns }: {
|
|
7
7
|
towns: string[];
|
|
8
|
-
}):
|
|
8
|
+
}): React.JSX.Element;
|
|
9
9
|
|
|
10
10
|
export { ClassifiedPostForm, JobPostForm };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { C as ClassifiedListing, P as PublicDeal, a as PublicJob } from './marketplace-29i5w4LS.cjs';
|
|
3
3
|
|
|
4
4
|
declare function JobsBoard({ region, jobs, query }: {
|
|
5
5
|
region: string;
|
|
6
6
|
jobs: PublicJob[];
|
|
7
7
|
query: string;
|
|
8
|
-
}):
|
|
8
|
+
}): React.JSX.Element;
|
|
9
9
|
declare function JobArticle({ job }: {
|
|
10
10
|
job: PublicJob;
|
|
11
|
-
}):
|
|
11
|
+
}): React.JSX.Element;
|
|
12
12
|
declare function ClassifiedsBoard({ region, listings, category, deals, }: {
|
|
13
13
|
region: string;
|
|
14
14
|
listings: ClassifiedListing[];
|
|
15
15
|
category: string;
|
|
16
16
|
deals?: PublicDeal[];
|
|
17
|
-
}):
|
|
17
|
+
}): React.JSX.Element;
|
|
18
18
|
declare function ClassifiedArticle({ listing }: {
|
|
19
19
|
listing: ClassifiedListing;
|
|
20
|
-
}):
|
|
20
|
+
}): React.JSX.Element;
|
|
21
21
|
|
|
22
22
|
export { ClassifiedArticle, ClassifiedsBoard, JobArticle, JobsBoard };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { C as ClassifiedListing, P as PublicDeal, a as PublicJob } from './marketplace-29i5w4LS.js';
|
|
3
3
|
|
|
4
4
|
declare function JobsBoard({ region, jobs, query }: {
|
|
5
5
|
region: string;
|
|
6
6
|
jobs: PublicJob[];
|
|
7
7
|
query: string;
|
|
8
|
-
}):
|
|
8
|
+
}): React.JSX.Element;
|
|
9
9
|
declare function JobArticle({ job }: {
|
|
10
10
|
job: PublicJob;
|
|
11
|
-
}):
|
|
11
|
+
}): React.JSX.Element;
|
|
12
12
|
declare function ClassifiedsBoard({ region, listings, category, deals, }: {
|
|
13
13
|
region: string;
|
|
14
14
|
listings: ClassifiedListing[];
|
|
15
15
|
category: string;
|
|
16
16
|
deals?: PublicDeal[];
|
|
17
|
-
}):
|
|
17
|
+
}): React.JSX.Element;
|
|
18
18
|
declare function ClassifiedArticle({ listing }: {
|
|
19
19
|
listing: ClassifiedListing;
|
|
20
|
-
}):
|
|
20
|
+
}): React.JSX.Element;
|
|
21
21
|
|
|
22
22
|
export { ClassifiedArticle, ClassifiedsBoard, JobArticle, JobsBoard };
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { PawWalkDetails } from './pets.js';
|
|
2
|
+
|
|
1
3
|
/** Rules for in-person meetups and the paper's chat. */
|
|
4
|
+
|
|
2
5
|
declare const MEET_ACTIVITIES: readonly [{
|
|
3
6
|
readonly value: "coffee";
|
|
4
7
|
readonly label: "Coffee";
|
|
@@ -52,6 +55,7 @@ type MeetupInput = {
|
|
|
52
55
|
startsAt?: unknown;
|
|
53
56
|
notes?: unknown;
|
|
54
57
|
capacity?: unknown;
|
|
58
|
+
walk?: Partial<PawWalkDetails>;
|
|
55
59
|
};
|
|
56
60
|
type PreparedMeetup = {
|
|
57
61
|
activity: MeetActivity;
|
|
@@ -62,6 +66,7 @@ type PreparedMeetup = {
|
|
|
62
66
|
startsAt: string;
|
|
63
67
|
notes: string;
|
|
64
68
|
capacity: number;
|
|
69
|
+
walk?: PawWalkDetails;
|
|
65
70
|
};
|
|
66
71
|
declare function isAdult(bornOn: string, now?: Date): boolean;
|
|
67
72
|
declare function canHostMeetup(accountCreatedAt: string, now?: Date): boolean;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { PawWalkDetails } from './pets.cjs';
|
|
2
|
+
|
|
1
3
|
/** Rules for in-person meetups and the paper's chat. */
|
|
4
|
+
|
|
2
5
|
declare const MEET_ACTIVITIES: readonly [{
|
|
3
6
|
readonly value: "coffee";
|
|
4
7
|
readonly label: "Coffee";
|
|
@@ -52,6 +55,7 @@ type MeetupInput = {
|
|
|
52
55
|
startsAt?: unknown;
|
|
53
56
|
notes?: unknown;
|
|
54
57
|
capacity?: unknown;
|
|
58
|
+
walk?: Partial<PawWalkDetails>;
|
|
55
59
|
};
|
|
56
60
|
type PreparedMeetup = {
|
|
57
61
|
activity: MeetActivity;
|
|
@@ -62,6 +66,7 @@ type PreparedMeetup = {
|
|
|
62
66
|
startsAt: string;
|
|
63
67
|
notes: string;
|
|
64
68
|
capacity: number;
|
|
69
|
+
walk?: PawWalkDetails;
|
|
65
70
|
};
|
|
66
71
|
declare function isAdult(bornOn: string, now?: Date): boolean;
|
|
67
72
|
declare function canHostMeetup(accountCreatedAt: string, now?: Date): boolean;
|
package/dist/meet-forms.d.cts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { P as PublicPlace } from './meet-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { P as PublicPlace } from './meet-CO9Unz5M.cjs';
|
|
3
|
+
import './pets.cjs';
|
|
3
4
|
|
|
4
5
|
declare function MeetHostForm({ places }: {
|
|
5
6
|
places: PublicPlace[];
|
|
6
|
-
}):
|
|
7
|
-
declare function PhoneCheckForm():
|
|
8
|
-
declare function BirthdayForm():
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
declare function PhoneCheckForm(): React.JSX.Element;
|
|
9
|
+
declare function BirthdayForm(): React.JSX.Element;
|
|
9
10
|
declare function MeetupChat({ meetupId }: {
|
|
10
11
|
meetupId: string;
|
|
11
|
-
}):
|
|
12
|
+
}): React.JSX.Element;
|
|
12
13
|
|
|
13
14
|
export { BirthdayForm, MeetHostForm, MeetupChat, PhoneCheckForm };
|
package/dist/meet-forms.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { P as PublicPlace } from './meet-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { P as PublicPlace } from './meet-BWpxY20X.js';
|
|
3
|
+
import './pets.js';
|
|
3
4
|
|
|
4
5
|
declare function MeetHostForm({ places }: {
|
|
5
6
|
places: PublicPlace[];
|
|
6
|
-
}):
|
|
7
|
-
declare function PhoneCheckForm():
|
|
8
|
-
declare function BirthdayForm():
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
declare function PhoneCheckForm(): React.JSX.Element;
|
|
9
|
+
declare function BirthdayForm(): React.JSX.Element;
|
|
9
10
|
declare function MeetupChat({ meetupId }: {
|
|
10
11
|
meetupId: string;
|
|
11
|
-
}):
|
|
12
|
+
}): React.JSX.Element;
|
|
12
13
|
|
|
13
14
|
export { BirthdayForm, MeetHostForm, MeetupChat, PhoneCheckForm };
|
package/dist/meet-forms.js
CHANGED
package/dist/meet-view.cjs
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
|
|
5
|
+
// src/pets.ts
|
|
6
|
+
var PET_SAFETY = {
|
|
7
|
+
walks: "Walks are independently organized. Bay Area Paw does not supervise meetups or guarantee participants\u2019 safety. Meet in a public place, follow leash rules and respect other people and animals."};
|
|
8
|
+
|
|
5
9
|
// src/meet.ts
|
|
6
10
|
var MEET_ACTIVITIES = [
|
|
7
11
|
{ value: "coffee", label: "Coffee" },
|
|
@@ -69,8 +73,24 @@ function MeetupDetail({ meetup, joined }) {
|
|
|
69
73
|
meetup.capacity
|
|
70
74
|
] }),
|
|
71
75
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "body", children: meetup.notes }),
|
|
72
|
-
|
|
73
|
-
|
|
76
|
+
meetup.activity === "dogs" && /* @__PURE__ */ jsxRuntime.jsxs("aside", { children: [
|
|
77
|
+
meetup.walk && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
78
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
79
|
+
meetup.walk.duration_minutes,
|
|
80
|
+
" minutes",
|
|
81
|
+
meetup.walk.distance_km !== void 0 ? ` \xB7 ${meetup.walk.distance_km} km` : "",
|
|
82
|
+
" \xB7 ",
|
|
83
|
+
meetup.walk.leash === "required" ? "Leashes required" : "Follow venue leash rules"
|
|
84
|
+
] }),
|
|
85
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: meetup.walk.size_guidance }),
|
|
86
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: meetup.walk.accessibility })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: PET_SAFETY.walks })
|
|
89
|
+
] }),
|
|
90
|
+
meetup.status === "cancelled" && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "status", children: "This meetup has been cancelled." }),
|
|
91
|
+
meetup.status !== "cancelled" && !joined && meetup.going < meetup.capacity && /* @__PURE__ */ jsxRuntime.jsx("form", { className: "actions", method: "post", action: `/api/meet/${encodeURIComponent(meetup.id)}/join`, children: /* @__PURE__ */ jsxRuntime.jsx("button", { className: "primary", type: "submit", children: "I\u2019ll be there" }) }),
|
|
92
|
+
meetup.status !== "cancelled" && joined && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "meta", children: "You\u2019re going. Use the chat below. Keep phone numbers for when you meet." }),
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: "/corrections?resource=" + encodeURIComponent(`/meet/${meetup.id}`), children: "Report this meetup to the publication" }) })
|
|
74
94
|
] });
|
|
75
95
|
}
|
|
76
96
|
function activityChoices() {
|
package/dist/meet-view.d.cts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { a as PreparedMeetup } from './meet-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { a as PreparedMeetup } from './meet-CO9Unz5M.cjs';
|
|
3
|
+
import './pets.cjs';
|
|
3
4
|
|
|
4
5
|
type MeetupCard = PreparedMeetup & {
|
|
5
6
|
id: string;
|
|
6
7
|
hostName: string;
|
|
7
8
|
going: number;
|
|
8
9
|
conversationId?: string | null;
|
|
10
|
+
status?: "open" | "cancelled";
|
|
9
11
|
};
|
|
10
12
|
declare function MeetBoard({ region, meetups }: {
|
|
11
13
|
region: string;
|
|
12
14
|
meetups: MeetupCard[];
|
|
13
|
-
}):
|
|
15
|
+
}): React.JSX.Element;
|
|
14
16
|
declare function MeetupDetail({ meetup, joined }: {
|
|
15
17
|
meetup: MeetupCard;
|
|
16
18
|
joined: boolean;
|
|
17
|
-
}):
|
|
19
|
+
}): React.JSX.Element;
|
|
18
20
|
declare function activityChoices(): {
|
|
19
|
-
value: "
|
|
21
|
+
value: "walk" | "other" | "coffee" | "hike" | "pickleball" | "tennis" | "soccer" | "bike" | "dogs" | "books" | "games" | "kids" | "volunteer";
|
|
20
22
|
label: string;
|
|
21
23
|
}[];
|
|
22
24
|
|
package/dist/meet-view.d.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { a as PreparedMeetup } from './meet-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { a as PreparedMeetup } from './meet-BWpxY20X.js';
|
|
3
|
+
import './pets.js';
|
|
3
4
|
|
|
4
5
|
type MeetupCard = PreparedMeetup & {
|
|
5
6
|
id: string;
|
|
6
7
|
hostName: string;
|
|
7
8
|
going: number;
|
|
8
9
|
conversationId?: string | null;
|
|
10
|
+
status?: "open" | "cancelled";
|
|
9
11
|
};
|
|
10
12
|
declare function MeetBoard({ region, meetups }: {
|
|
11
13
|
region: string;
|
|
12
14
|
meetups: MeetupCard[];
|
|
13
|
-
}):
|
|
15
|
+
}): React.JSX.Element;
|
|
14
16
|
declare function MeetupDetail({ meetup, joined }: {
|
|
15
17
|
meetup: MeetupCard;
|
|
16
18
|
joined: boolean;
|
|
17
|
-
}):
|
|
19
|
+
}): React.JSX.Element;
|
|
18
20
|
declare function activityChoices(): {
|
|
19
|
-
value: "
|
|
21
|
+
value: "walk" | "other" | "coffee" | "hike" | "pickleball" | "tennis" | "soccer" | "bike" | "dogs" | "books" | "games" | "kids" | "volunteer";
|
|
20
22
|
label: string;
|
|
21
23
|
}[];
|
|
22
24
|
|
package/dist/meet-view.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { MEET_ACTIVITIES, activityLabel } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { MEET_ACTIVITIES, activityLabel } from './chunk-AMLVCZDP.js';
|
|
2
|
+
import { PET_SAFETY } from './chunk-AFJ6S5WJ.js';
|
|
3
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
4
|
|
|
4
5
|
function MeetBoard({ region, meetups }) {
|
|
5
6
|
return /* @__PURE__ */ jsxs("div", { className: "np-market", children: [
|
|
@@ -48,8 +49,24 @@ function MeetupDetail({ meetup, joined }) {
|
|
|
48
49
|
meetup.capacity
|
|
49
50
|
] }),
|
|
50
51
|
/* @__PURE__ */ jsx("div", { className: "body", children: meetup.notes }),
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
meetup.activity === "dogs" && /* @__PURE__ */ jsxs("aside", { children: [
|
|
53
|
+
meetup.walk && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
54
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
55
|
+
meetup.walk.duration_minutes,
|
|
56
|
+
" minutes",
|
|
57
|
+
meetup.walk.distance_km !== void 0 ? ` \xB7 ${meetup.walk.distance_km} km` : "",
|
|
58
|
+
" \xB7 ",
|
|
59
|
+
meetup.walk.leash === "required" ? "Leashes required" : "Follow venue leash rules"
|
|
60
|
+
] }),
|
|
61
|
+
/* @__PURE__ */ jsx("p", { children: meetup.walk.size_guidance }),
|
|
62
|
+
/* @__PURE__ */ jsx("p", { children: meetup.walk.accessibility })
|
|
63
|
+
] }),
|
|
64
|
+
/* @__PURE__ */ jsx("p", { children: PET_SAFETY.walks })
|
|
65
|
+
] }),
|
|
66
|
+
meetup.status === "cancelled" && /* @__PURE__ */ jsx("p", { role: "status", children: "This meetup has been cancelled." }),
|
|
67
|
+
meetup.status !== "cancelled" && !joined && meetup.going < meetup.capacity && /* @__PURE__ */ jsx("form", { className: "actions", method: "post", action: `/api/meet/${encodeURIComponent(meetup.id)}/join`, children: /* @__PURE__ */ jsx("button", { className: "primary", type: "submit", children: "I\u2019ll be there" }) }),
|
|
68
|
+
meetup.status !== "cancelled" && joined && /* @__PURE__ */ jsx("p", { className: "meta", children: "You\u2019re going. Use the chat below. Keep phone numbers for when you meet." }),
|
|
69
|
+
/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("a", { href: "/corrections?resource=" + encodeURIComponent(`/meet/${meetup.id}`), children: "Report this meetup to the publication" }) })
|
|
53
70
|
] });
|
|
54
71
|
}
|
|
55
72
|
function activityChoices() {
|
package/dist/network-bar.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { CSSProperties } from 'react';
|
|
3
3
|
|
|
4
4
|
interface LocalNetworkBarProps {
|
|
@@ -10,6 +10,6 @@ interface LocalNetworkBarProps {
|
|
|
10
10
|
* Global navigation bar for the Bay Area Local News network.
|
|
11
11
|
* Links across independent publication origins, transferring consent tokens automatically.
|
|
12
12
|
*/
|
|
13
|
-
declare function LocalNetworkBar({ currentSlug, className, style }: LocalNetworkBarProps):
|
|
13
|
+
declare function LocalNetworkBar({ currentSlug, className, style }: LocalNetworkBarProps): React.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { LocalNetworkBar, type LocalNetworkBarProps };
|
package/dist/network-bar.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { CSSProperties } from 'react';
|
|
3
3
|
|
|
4
4
|
interface LocalNetworkBarProps {
|
|
@@ -10,6 +10,6 @@ interface LocalNetworkBarProps {
|
|
|
10
10
|
* Global navigation bar for the Bay Area Local News network.
|
|
11
11
|
* Links across independent publication origins, transferring consent tokens automatically.
|
|
12
12
|
*/
|
|
13
|
-
declare function LocalNetworkBar({ currentSlug, className, style }: LocalNetworkBarProps):
|
|
13
|
+
declare function LocalNetworkBar({ currentSlug, className, style }: LocalNetworkBarProps): React.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { LocalNetworkBar, type LocalNetworkBarProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default, { CSSProperties } from 'react';
|
|
2
2
|
|
|
3
3
|
interface NetworkCopyrightNoticeProps {
|
|
4
4
|
className?: string;
|
|
@@ -13,6 +13,6 @@ interface NetworkCopyrightNoticeProps {
|
|
|
13
13
|
* Reusable copyright and institutional network parent attribution notice for all ScaleMule news publications.
|
|
14
14
|
* Links to the official Bay Area News Network institutional website.
|
|
15
15
|
*/
|
|
16
|
-
declare function NetworkCopyrightNotice({ className, style, publicationName, showPublicationNotice, targetBlank, prefix, showRightsReserved, }: NetworkCopyrightNoticeProps):
|
|
16
|
+
declare function NetworkCopyrightNotice({ className, style, publicationName, showPublicationNotice, targetBlank, prefix, showRightsReserved, }: NetworkCopyrightNoticeProps): React__default.JSX.Element;
|
|
17
17
|
|
|
18
18
|
export { NetworkCopyrightNotice, type NetworkCopyrightNoticeProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default, { CSSProperties } from 'react';
|
|
2
2
|
|
|
3
3
|
interface NetworkCopyrightNoticeProps {
|
|
4
4
|
className?: string;
|
|
@@ -13,6 +13,6 @@ interface NetworkCopyrightNoticeProps {
|
|
|
13
13
|
* Reusable copyright and institutional network parent attribution notice for all ScaleMule news publications.
|
|
14
14
|
* Links to the official Bay Area News Network institutional website.
|
|
15
15
|
*/
|
|
16
|
-
declare function NetworkCopyrightNotice({ className, style, publicationName, showPublicationNotice, targetBlank, prefix, showRightsReserved, }: NetworkCopyrightNoticeProps):
|
|
16
|
+
declare function NetworkCopyrightNotice({ className, style, publicationName, showPublicationNotice, targetBlank, prefix, showRightsReserved, }: NetworkCopyrightNoticeProps): React__default.JSX.Element;
|
|
17
17
|
|
|
18
18
|
export { NetworkCopyrightNotice, type NetworkCopyrightNoticeProps };
|