@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
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
import { SponsorAcknowledgment } from './chunk-4JRWZXAP.js';
|
|
2
|
+
import { PET_SAFETY, safePetLink, adoptionAvailability } from './chunk-AFJ6S5WJ.js';
|
|
3
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function PawMark({ size = 36 }) {
|
|
6
|
+
return /* @__PURE__ */ jsxs(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
width: size,
|
|
10
|
+
height: size,
|
|
11
|
+
viewBox: "0 0 48 48",
|
|
12
|
+
fill: "currentColor",
|
|
13
|
+
"aria-hidden": "true",
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx(
|
|
16
|
+
"ellipse",
|
|
17
|
+
{
|
|
18
|
+
cx: "10",
|
|
19
|
+
cy: "19",
|
|
20
|
+
rx: "5.1",
|
|
21
|
+
ry: "6.5",
|
|
22
|
+
transform: "rotate(-25 10 19)"
|
|
23
|
+
}
|
|
24
|
+
),
|
|
25
|
+
/* @__PURE__ */ jsx("ellipse", { cx: "20", cy: "10", rx: "5", ry: "6.5", transform: "rotate(-8 20 10)" }),
|
|
26
|
+
/* @__PURE__ */ jsx("ellipse", { cx: "32", cy: "12", rx: "5", ry: "6.5", transform: "rotate(14 32 12)" }),
|
|
27
|
+
/* @__PURE__ */ jsx("ellipse", { cx: "40", cy: "23", rx: "4.7", ry: "6.2", transform: "rotate(30 40 23)" }),
|
|
28
|
+
/* @__PURE__ */ jsx("path", { d: "M11 35c0-5 7-16 13-16s14 11 14 16c0 6-6 9-11 6-2-1-4-1-6 0-5 3-10 0-10-6Z" })
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function PawNeighborhoodIllustration() {
|
|
34
|
+
return /* @__PURE__ */ jsxs(
|
|
35
|
+
"svg",
|
|
36
|
+
{
|
|
37
|
+
className: "paw-neighborhood-art",
|
|
38
|
+
viewBox: "0 0 520 460",
|
|
39
|
+
fill: "none",
|
|
40
|
+
"aria-hidden": "true",
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ jsx(
|
|
43
|
+
"path",
|
|
44
|
+
{
|
|
45
|
+
d: "M42 233C42 111 124 29 257 29c134 0 220 102 220 218v153H42V233Z",
|
|
46
|
+
fill: "var(--paw-art-sky)"
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ jsx("circle", { cx: "366", cy: "112", r: "44", fill: "var(--paw-sun)" }),
|
|
50
|
+
/* @__PURE__ */ jsx(
|
|
51
|
+
"path",
|
|
52
|
+
{
|
|
53
|
+
d: "M42 262c93-99 132-19 203-52 91-43 145-27 232 52v138H42V262Z",
|
|
54
|
+
fill: "var(--paw-art-hill)"
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
/* @__PURE__ */ jsx(
|
|
58
|
+
"path",
|
|
59
|
+
{
|
|
60
|
+
d: "M42 331c89-59 161-27 216-3 81 36 145-47 219-21v93H42v-69Z",
|
|
61
|
+
fill: "var(--paw-art-ground)"
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ jsx(
|
|
65
|
+
"path",
|
|
66
|
+
{
|
|
67
|
+
d: "M310 239c34-18 68-21 103-14M311 249c34-18 68-21 103-14",
|
|
68
|
+
stroke: "var(--paw-art-line)",
|
|
69
|
+
strokeWidth: "2",
|
|
70
|
+
strokeLinecap: "round",
|
|
71
|
+
opacity: ".45"
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
/* @__PURE__ */ jsx(
|
|
75
|
+
"path",
|
|
76
|
+
{
|
|
77
|
+
d: "M90 190v75m29-85v75m-44-46h61m-57 31c14-15 32-15 51-7",
|
|
78
|
+
stroke: "var(--paw-art-line)",
|
|
79
|
+
strokeWidth: "3",
|
|
80
|
+
strokeLinecap: "round",
|
|
81
|
+
opacity: ".45"
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
"path",
|
|
86
|
+
{
|
|
87
|
+
d: "M167 341c-29-24-33-67-5-88 16-12 44-6 59 17l27 47c15 26 36 38 58 44H167v-20Z",
|
|
88
|
+
fill: "var(--paw-terracotta)"
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
/* @__PURE__ */ jsx(
|
|
92
|
+
"path",
|
|
93
|
+
{
|
|
94
|
+
d: "M173 340c-17-9-39-15-54-31-14-16-13-27-11-38",
|
|
95
|
+
stroke: "var(--paw-terracotta)",
|
|
96
|
+
strokeWidth: "17",
|
|
97
|
+
strokeLinecap: "round"
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
/* @__PURE__ */ jsx(
|
|
101
|
+
"path",
|
|
102
|
+
{
|
|
103
|
+
d: "M229 283c26-17 39-43 31-67-8-25-35-34-57-18-23 17-13 49 1 68",
|
|
104
|
+
fill: "var(--paw-terracotta)"
|
|
105
|
+
}
|
|
106
|
+
),
|
|
107
|
+
/* @__PURE__ */ jsx(
|
|
108
|
+
"path",
|
|
109
|
+
{
|
|
110
|
+
d: "M251 224l34 5c14 2 13 23 0 28l-36 13",
|
|
111
|
+
fill: "var(--paw-terracotta)"
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ jsx(
|
|
115
|
+
"path",
|
|
116
|
+
{
|
|
117
|
+
d: "M206 203c-15 1-31 13-29 33 1 11 6 18 15 17 13-1 21-18 25-37",
|
|
118
|
+
fill: "var(--paw-art-line)"
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
/* @__PURE__ */ jsx(
|
|
122
|
+
"path",
|
|
123
|
+
{
|
|
124
|
+
d: "M231 285l-10 67c-1 7 9 11 28 11M264 280l2 70c0 10 10 13 25 13",
|
|
125
|
+
stroke: "var(--paw-terracotta)",
|
|
126
|
+
strokeWidth: "19",
|
|
127
|
+
strokeLinecap: "round"
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
/* @__PURE__ */ jsx(
|
|
131
|
+
"path",
|
|
132
|
+
{
|
|
133
|
+
d: "M215 273l38-7",
|
|
134
|
+
stroke: "var(--paw-art-line)",
|
|
135
|
+
strokeWidth: "9",
|
|
136
|
+
strokeLinecap: "round"
|
|
137
|
+
}
|
|
138
|
+
),
|
|
139
|
+
/* @__PURE__ */ jsx("circle", { cx: "248", cy: "223", r: "3.5", fill: "var(--paw-art-line)" }),
|
|
140
|
+
/* @__PURE__ */ jsx("path", { d: "M283 229h9c1 8-3 13-9 13", fill: "var(--paw-art-line)" }),
|
|
141
|
+
/* @__PURE__ */ jsx(
|
|
142
|
+
"path",
|
|
143
|
+
{
|
|
144
|
+
d: "M292 348c-9-46 1-79 33-79 33 0 47 37 48 77l-1 17h-80v-15Z",
|
|
145
|
+
fill: "var(--paw-art-cat)"
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
/* @__PURE__ */ jsx("path", { d: "M303 277l-6-43 26 20 23-22 2 48", fill: "var(--paw-art-cat)" }),
|
|
149
|
+
/* @__PURE__ */ jsx(
|
|
150
|
+
"path",
|
|
151
|
+
{
|
|
152
|
+
d: "M365 351c27-4 45-15 41-39-2-11-15-16-24-10",
|
|
153
|
+
stroke: "var(--paw-art-cat)",
|
|
154
|
+
strokeWidth: "12",
|
|
155
|
+
strokeLinecap: "round"
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
/* @__PURE__ */ jsx(
|
|
159
|
+
"path",
|
|
160
|
+
{
|
|
161
|
+
d: "M316 277h3m17-2h3m-13 10 3 2-3 3m-21-5-15-3m16 9-17 2m54-10 16-5m-14 13 15 1",
|
|
162
|
+
stroke: "var(--paw-art-line)",
|
|
163
|
+
strokeWidth: "2.5",
|
|
164
|
+
strokeLinecap: "round"
|
|
165
|
+
}
|
|
166
|
+
),
|
|
167
|
+
/* @__PURE__ */ jsx(
|
|
168
|
+
"path",
|
|
169
|
+
{
|
|
170
|
+
d: "M145 378h245",
|
|
171
|
+
stroke: "var(--paw-art-line)",
|
|
172
|
+
strokeWidth: "2",
|
|
173
|
+
strokeLinecap: "round",
|
|
174
|
+
opacity: ".3"
|
|
175
|
+
}
|
|
176
|
+
),
|
|
177
|
+
/* @__PURE__ */ jsx("circle", { cx: "99", cy: "365", r: "16", fill: "var(--paw-sun)" }),
|
|
178
|
+
/* @__PURE__ */ jsx(
|
|
179
|
+
"path",
|
|
180
|
+
{
|
|
181
|
+
d: "M93 351c16 8 18 18 12 28",
|
|
182
|
+
stroke: "var(--paw-art-line)",
|
|
183
|
+
strokeWidth: "2"
|
|
184
|
+
}
|
|
185
|
+
),
|
|
186
|
+
/* @__PURE__ */ jsx(
|
|
187
|
+
"path",
|
|
188
|
+
{
|
|
189
|
+
d: "M426 352v-43m0 22c-14-1-20-10-20-20 15 2 21 11 20 20m0-9c0-15 6-25 20-28 2 13-6 24-20 28",
|
|
190
|
+
stroke: "var(--paw-art-line)",
|
|
191
|
+
strokeWidth: "3",
|
|
192
|
+
strokeLinecap: "round"
|
|
193
|
+
}
|
|
194
|
+
),
|
|
195
|
+
/* @__PURE__ */ jsx(
|
|
196
|
+
"path",
|
|
197
|
+
{
|
|
198
|
+
d: "m406 153 8-6 8 6m-234-33 8-6 8 6",
|
|
199
|
+
stroke: "var(--paw-art-line)",
|
|
200
|
+
strokeWidth: "2.5",
|
|
201
|
+
strokeLinecap: "round"
|
|
202
|
+
}
|
|
203
|
+
)
|
|
204
|
+
]
|
|
205
|
+
}
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
function Photo({
|
|
209
|
+
resource,
|
|
210
|
+
mediaUrl,
|
|
211
|
+
large = false
|
|
212
|
+
}) {
|
|
213
|
+
const photo = resource.media.find((m) => m.status === "PUBLISHED");
|
|
214
|
+
const src = photo && safePetLink(mediaUrl(resource.id, photo.id));
|
|
215
|
+
if (!src)
|
|
216
|
+
return /* @__PURE__ */ jsxs("div", { className: "paw-photo-empty", children: [
|
|
217
|
+
/* @__PURE__ */ jsx(PawMark, { size: 64 }),
|
|
218
|
+
/* @__PURE__ */ jsx("span", { children: "A story from your community" })
|
|
219
|
+
] });
|
|
220
|
+
const separator = src.includes("?") ? "&" : "?";
|
|
221
|
+
return /* @__PURE__ */ jsxs("figure", { className: "paw-photo", children: [
|
|
222
|
+
/* @__PURE__ */ jsxs("picture", { children: [
|
|
223
|
+
/* @__PURE__ */ jsx(
|
|
224
|
+
"source",
|
|
225
|
+
{
|
|
226
|
+
type: "image/webp",
|
|
227
|
+
srcSet: `${src}${separator}width=640&format=webp 640w, ${src}${separator}width=1280&format=webp 1280w`,
|
|
228
|
+
sizes: large ? "(max-width: 700px) 100vw, 65vw" : "(max-width: 700px) 100vw, 33vw"
|
|
229
|
+
}
|
|
230
|
+
),
|
|
231
|
+
/* @__PURE__ */ jsx(
|
|
232
|
+
"img",
|
|
233
|
+
{
|
|
234
|
+
src: `${src}${separator}width=1280&format=jpeg`,
|
|
235
|
+
srcSet: `${src}${separator}width=640&format=jpeg 640w, ${src}${separator}width=1280&format=jpeg 1280w`,
|
|
236
|
+
sizes: large ? "(max-width: 700px) 100vw, 65vw" : "(max-width: 700px) 100vw, 33vw",
|
|
237
|
+
alt: photo.caption || resource.content.name,
|
|
238
|
+
width: large ? 1200 : 640,
|
|
239
|
+
height: large ? 900 : 480,
|
|
240
|
+
loading: large ? "eager" : "lazy"
|
|
241
|
+
}
|
|
242
|
+
)
|
|
243
|
+
] }),
|
|
244
|
+
photo.attribution && /* @__PURE__ */ jsxs("figcaption", { children: [
|
|
245
|
+
"Photograph: ",
|
|
246
|
+
photo.attribution
|
|
247
|
+
] })
|
|
248
|
+
] });
|
|
249
|
+
}
|
|
250
|
+
function ResourceCard(props) {
|
|
251
|
+
const href = safePetLink(props.href);
|
|
252
|
+
return /* @__PURE__ */ jsxs("article", { className: `paw-resource${props.memorial ? " paw-memorial" : ""}`, children: [
|
|
253
|
+
/* @__PURE__ */ jsx(Photo, { ...props }),
|
|
254
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-resource-copy", children: [
|
|
255
|
+
/* @__PURE__ */ jsxs("p", { className: "paw-context", children: [
|
|
256
|
+
props.label,
|
|
257
|
+
" \xB7 ",
|
|
258
|
+
props.community
|
|
259
|
+
] }),
|
|
260
|
+
/* @__PURE__ */ jsx("h3", { children: href ? /* @__PURE__ */ jsx("a", { href, children: props.resource.content.name }) : props.resource.content.name }),
|
|
261
|
+
/* @__PURE__ */ jsx("p", { children: props.resource.content.story }),
|
|
262
|
+
props.resource.content.attribution && /* @__PURE__ */ jsxs("p", { className: "paw-credit", children: [
|
|
263
|
+
"Shared by ",
|
|
264
|
+
props.resource.content.attribution
|
|
265
|
+
] })
|
|
266
|
+
] })
|
|
267
|
+
] });
|
|
268
|
+
}
|
|
269
|
+
function PetProfileCard(props) {
|
|
270
|
+
return /* @__PURE__ */ jsx(ResourceCard, { ...props, label: "Meet a neighbor" });
|
|
271
|
+
}
|
|
272
|
+
function PetCelebrationCard(props) {
|
|
273
|
+
return /* @__PURE__ */ jsx(
|
|
274
|
+
ResourceCard,
|
|
275
|
+
{
|
|
276
|
+
...props,
|
|
277
|
+
memorial: props.resource.content.category === "memorial",
|
|
278
|
+
label: props.resource.content.category === "memorial" ? "In loving memory" : "A little joy worth sharing"
|
|
279
|
+
}
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
function LostPetNotice(props) {
|
|
283
|
+
return /* @__PURE__ */ jsxs("div", { className: "paw-notice", children: [
|
|
284
|
+
/* @__PURE__ */ jsx(
|
|
285
|
+
ResourceCard,
|
|
286
|
+
{
|
|
287
|
+
...props,
|
|
288
|
+
label: props.resource.reunited_at ? "Reported reunited" : props.resource.kind === "found" ? "Found pet" : "Lost pet"
|
|
289
|
+
}
|
|
290
|
+
),
|
|
291
|
+
/* @__PURE__ */ jsx("p", { className: "paw-safety", children: PET_SAFETY.recovery })
|
|
292
|
+
] });
|
|
293
|
+
}
|
|
294
|
+
function AdoptionListingCard(props) {
|
|
295
|
+
const source = props.resource.content.source;
|
|
296
|
+
const url = source && safePetLink(source.official_url);
|
|
297
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
298
|
+
/* @__PURE__ */ jsx(ResourceCard, { ...props, label: "Adoption discovery" }),
|
|
299
|
+
source && /* @__PURE__ */ jsxs("p", { className: "paw-source", children: [
|
|
300
|
+
adoptionAvailability(source) === "confirmed" ? "Availability recently confirmed." : "Check current availability with the organization.",
|
|
301
|
+
" ",
|
|
302
|
+
url && /* @__PURE__ */ jsxs("a", { href: url, rel: "noopener noreferrer", children: [
|
|
303
|
+
"Visit ",
|
|
304
|
+
source.organization
|
|
305
|
+
] }),
|
|
306
|
+
source.verified_at && /* @__PURE__ */ jsxs("small", { children: [
|
|
307
|
+
"Source checked",
|
|
308
|
+
" ",
|
|
309
|
+
new Date(source.verified_at).toLocaleDateString("en-US", {
|
|
310
|
+
timeZone: "America/Los_Angeles"
|
|
311
|
+
})
|
|
312
|
+
] })
|
|
313
|
+
] })
|
|
314
|
+
] });
|
|
315
|
+
}
|
|
316
|
+
function PetEventCard(props) {
|
|
317
|
+
const event = props.resource.content.event, source = props.resource.content.source;
|
|
318
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
319
|
+
/* @__PURE__ */ jsx(ResourceCard, { ...props, label: "Pet community event" }),
|
|
320
|
+
event && /* @__PURE__ */ jsxs("p", { className: "paw-source", children: [
|
|
321
|
+
/* @__PURE__ */ jsx("time", { dateTime: event.starts_at, children: new Date(event.starts_at).toLocaleString("en-US", {
|
|
322
|
+
timeZone: "America/Los_Angeles",
|
|
323
|
+
dateStyle: "medium",
|
|
324
|
+
timeStyle: "short"
|
|
325
|
+
}) }),
|
|
326
|
+
" ",
|
|
327
|
+
"\xB7 Pacific time",
|
|
328
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
329
|
+
event.cost_verified && event.cost === "free" ? "Verified free event" : event.cost_verified && event.cost === "paid" ? "Paid event \u2014 check official pricing" : "Check the official organization for cost"
|
|
330
|
+
] }),
|
|
331
|
+
source && /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsxs("a", { href: safePetLink(source.official_url), rel: "noopener noreferrer", children: [
|
|
332
|
+
"Official details from ",
|
|
333
|
+
source.organization
|
|
334
|
+
] }) })
|
|
335
|
+
] });
|
|
336
|
+
}
|
|
337
|
+
function PawOfTheWeekCard(props) {
|
|
338
|
+
const href = safePetLink(props.href);
|
|
339
|
+
return /* @__PURE__ */ jsxs("article", { className: "paw-spotlight", children: [
|
|
340
|
+
/* @__PURE__ */ jsx(Photo, { ...props, large: true }),
|
|
341
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-spotlight-copy", children: [
|
|
342
|
+
/* @__PURE__ */ jsxs("p", { className: "paw-context", children: [
|
|
343
|
+
props.community,
|
|
344
|
+
"\u2019s Paw of the Week"
|
|
345
|
+
] }),
|
|
346
|
+
/* @__PURE__ */ jsxs("h2", { children: [
|
|
347
|
+
"Meet ",
|
|
348
|
+
props.resource.content.name,
|
|
349
|
+
"."
|
|
350
|
+
] }),
|
|
351
|
+
/* @__PURE__ */ jsx("p", { children: props.resource.content.story }),
|
|
352
|
+
href && /* @__PURE__ */ jsx("a", { className: "paw-button", href, children: "Read the story" }),
|
|
353
|
+
/* @__PURE__ */ jsx("p", { className: "paw-credit", children: "Chosen by our editors. Always free to submit." })
|
|
354
|
+
] })
|
|
355
|
+
] });
|
|
356
|
+
}
|
|
357
|
+
function PetFriendlyPlaceCard({
|
|
358
|
+
name,
|
|
359
|
+
description,
|
|
360
|
+
href,
|
|
361
|
+
verified,
|
|
362
|
+
verifiedAt
|
|
363
|
+
}) {
|
|
364
|
+
const url = safePetLink(href);
|
|
365
|
+
return /* @__PURE__ */ jsxs("article", { className: "paw-place", children: [
|
|
366
|
+
/* @__PURE__ */ jsx("p", { className: "paw-context", children: verified ? "Verified directory information" : "Community suggestion \u2014 not verified" }),
|
|
367
|
+
/* @__PURE__ */ jsx("h3", { children: url ? /* @__PURE__ */ jsx("a", { href: url, children: name }) : name }),
|
|
368
|
+
/* @__PURE__ */ jsx("p", { children: description }),
|
|
369
|
+
verifiedAt && /* @__PURE__ */ jsxs("small", { children: [
|
|
370
|
+
"Last checked ",
|
|
371
|
+
verifiedAt
|
|
372
|
+
] })
|
|
373
|
+
] });
|
|
374
|
+
}
|
|
375
|
+
function SponsorAcknowledgment2({
|
|
376
|
+
acknowledgment,
|
|
377
|
+
now = Date.now()
|
|
378
|
+
}) {
|
|
379
|
+
const start = Date.parse(acknowledgment.starts_at), end = Date.parse(acknowledgment.ends_at);
|
|
380
|
+
if (!(start <= now && now < end)) return null;
|
|
381
|
+
return /* @__PURE__ */ jsxs("div", { className: "paw-sponsor", children: [
|
|
382
|
+
/* @__PURE__ */ jsx(
|
|
383
|
+
SponsorAcknowledgment,
|
|
384
|
+
{
|
|
385
|
+
creative: acknowledgment.creative,
|
|
386
|
+
acknowledgment,
|
|
387
|
+
label: "Sponsored"
|
|
388
|
+
}
|
|
389
|
+
),
|
|
390
|
+
/* @__PURE__ */ jsx("small", { children: "Paid community sponsorship. Sponsorship does not influence editorial selections and is not an endorsement." })
|
|
391
|
+
] });
|
|
392
|
+
}
|
|
393
|
+
function PetsSection({
|
|
394
|
+
name = "Bay Area Paw",
|
|
395
|
+
tagline = "Happier pets. Closer communities.",
|
|
396
|
+
community,
|
|
397
|
+
communities,
|
|
398
|
+
resources,
|
|
399
|
+
spotlight,
|
|
400
|
+
acknowledgments = [],
|
|
401
|
+
basePath = "/pets",
|
|
402
|
+
mediaUrl,
|
|
403
|
+
contributeUrl,
|
|
404
|
+
placesUrl,
|
|
405
|
+
walksUrl,
|
|
406
|
+
nextUrl,
|
|
407
|
+
unavailable,
|
|
408
|
+
regionLabel,
|
|
409
|
+
resourceBasePath,
|
|
410
|
+
browseBasePath = "/browse",
|
|
411
|
+
eventsUrl,
|
|
412
|
+
accountUrl
|
|
413
|
+
}) {
|
|
414
|
+
const location = community?.name || regionLabel || "the Bay Area";
|
|
415
|
+
const link = (id) => `${resourceBasePath || basePath}/${encodeURIComponent(id)}`;
|
|
416
|
+
const local = (id) => communities.find((c) => c.id === id)?.name || "Our community";
|
|
417
|
+
const communityQuery = community ? "?community=" + encodeURIComponent(community.slug) : "";
|
|
418
|
+
const photoBoard = resources.filter(
|
|
419
|
+
(r) => r.kind === "photo" || r.kind === "profile"
|
|
420
|
+
);
|
|
421
|
+
const celebrations = resources.filter((r) => r.kind === "celebration");
|
|
422
|
+
const notices = resources.filter((r) => ["lost", "found"].includes(r.kind));
|
|
423
|
+
const adoptions = resources.filter((r) => r.kind === "adoption");
|
|
424
|
+
return /* @__PURE__ */ jsxs("div", { className: "paw", children: [
|
|
425
|
+
/* @__PURE__ */ jsxs("header", { className: "paw-masthead", children: [
|
|
426
|
+
/* @__PURE__ */ jsxs("a", { href: basePath || "/", className: "paw-brand", children: [
|
|
427
|
+
/* @__PURE__ */ jsx(PawMark, {}),
|
|
428
|
+
/* @__PURE__ */ jsx("span", { children: name })
|
|
429
|
+
] }),
|
|
430
|
+
/* @__PURE__ */ jsx("p", { children: tagline }),
|
|
431
|
+
accountUrl && /* @__PURE__ */ jsx("a", { href: safePetLink(accountUrl), children: "My pets" }),
|
|
432
|
+
contributeUrl && /* @__PURE__ */ jsx("a", { className: "paw-button", href: safePetLink(contributeUrl), children: "Share your pet" })
|
|
433
|
+
] }),
|
|
434
|
+
/* @__PURE__ */ jsxs("nav", { className: "paw-nav", "aria-label": "Pet community", children: [
|
|
435
|
+
/* @__PURE__ */ jsx("a", { href: "#neighbors", children: "Our pets" }),
|
|
436
|
+
/* @__PURE__ */ jsx("a", { href: "#lost-found", children: "Lost & found" }),
|
|
437
|
+
walksUrl && /* @__PURE__ */ jsx("a", { href: safePetLink(walksUrl), children: "Paw Walks" }),
|
|
438
|
+
placesUrl && /* @__PURE__ */ jsx("a", { href: safePetLink(placesUrl), children: "Paw Places" }),
|
|
439
|
+
/* @__PURE__ */ jsx("a", { href: "#adoption", children: "Adoption" }),
|
|
440
|
+
/* @__PURE__ */ jsx("a", { href: "#celebrations", children: "Celebrations" }),
|
|
441
|
+
eventsUrl && /* @__PURE__ */ jsx("a", { href: safePetLink(eventsUrl), children: "Events" })
|
|
442
|
+
] }),
|
|
443
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-community", children: [
|
|
444
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
445
|
+
"A little closer to ",
|
|
446
|
+
location,
|
|
447
|
+
"."
|
|
448
|
+
] }),
|
|
449
|
+
/* @__PURE__ */ jsxs("form", { action: basePath || "/", method: "get", children: [
|
|
450
|
+
/* @__PURE__ */ jsx("label", { htmlFor: "paw-community", children: "Your community" }),
|
|
451
|
+
/* @__PURE__ */ jsxs(
|
|
452
|
+
"select",
|
|
453
|
+
{
|
|
454
|
+
id: "paw-community",
|
|
455
|
+
name: "community",
|
|
456
|
+
defaultValue: community?.slug || "",
|
|
457
|
+
children: [
|
|
458
|
+
/* @__PURE__ */ jsx("option", { value: "", children: "All communities" }),
|
|
459
|
+
communities.map((c) => /* @__PURE__ */ jsx("option", { value: c.slug, children: c.name }, c.id))
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
),
|
|
463
|
+
/* @__PURE__ */ jsx("button", { type: "submit", children: "Explore" })
|
|
464
|
+
] })
|
|
465
|
+
] }),
|
|
466
|
+
unavailable ? /* @__PURE__ */ jsxs("div", { role: "status", className: "paw-empty", children: [
|
|
467
|
+
/* @__PURE__ */ jsx("h1", { children: "Your community is on its way." }),
|
|
468
|
+
/* @__PURE__ */ jsx("p", { children: "We can\u2019t load the pet community right now. Please try again shortly." })
|
|
469
|
+
] }) : spotlight ? /* @__PURE__ */ jsx(
|
|
470
|
+
PawOfTheWeekCard,
|
|
471
|
+
{
|
|
472
|
+
resource: spotlight,
|
|
473
|
+
community: local(spotlight.area_id),
|
|
474
|
+
href: link(spotlight.id),
|
|
475
|
+
mediaUrl
|
|
476
|
+
}
|
|
477
|
+
) : /* @__PURE__ */ jsxs("section", { className: "paw-welcome", children: [
|
|
478
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
479
|
+
/* @__PURE__ */ jsx("p", { className: "paw-eyebrow", children: "Life is better together" }),
|
|
480
|
+
/* @__PURE__ */ jsxs("h1", { children: [
|
|
481
|
+
"Every pet.",
|
|
482
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
483
|
+
/* @__PURE__ */ jsx("em", { children: "A local story." })
|
|
484
|
+
] }),
|
|
485
|
+
/* @__PURE__ */ jsx("p", { children: "A place for familiar faces, happy reunions and the everyday joy of life with pets." }),
|
|
486
|
+
contributeUrl && /* @__PURE__ */ jsx("a", { className: "paw-button", href: safePetLink(contributeUrl), children: "Submit for Paw of the Week" }),
|
|
487
|
+
/* @__PURE__ */ jsx("small", { children: "Free to enter. Thoughtfully selected by local editors." })
|
|
488
|
+
] }),
|
|
489
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-illustration", children: [
|
|
490
|
+
/* @__PURE__ */ jsx(PawNeighborhoodIllustration, {}),
|
|
491
|
+
/* @__PURE__ */ jsx("p", { children: "Good neighbors. Great companions." })
|
|
492
|
+
] })
|
|
493
|
+
] }),
|
|
494
|
+
!unavailable && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
495
|
+
/* @__PURE__ */ jsxs("section", { id: "neighbors", className: "paw-section", children: [
|
|
496
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-section-heading", children: [
|
|
497
|
+
/* @__PURE__ */ jsx("h2", { children: "Friends around the corner" }),
|
|
498
|
+
/* @__PURE__ */ jsx("p", { children: "Small moments. Very good company." })
|
|
499
|
+
] }),
|
|
500
|
+
photoBoard.length ? /* @__PURE__ */ jsx("div", { className: "paw-gallery", children: photoBoard.map((r) => /* @__PURE__ */ jsx(
|
|
501
|
+
PetProfileCard,
|
|
502
|
+
{
|
|
503
|
+
resource: r,
|
|
504
|
+
community: local(r.area_id),
|
|
505
|
+
href: link(r.id),
|
|
506
|
+
mediaUrl
|
|
507
|
+
},
|
|
508
|
+
r.id
|
|
509
|
+
)) }) : /* @__PURE__ */ jsx("p", { className: "paw-empty", children: "The photo board is ready for its first neighbors. Share a photograph and a few words about your pet." }),
|
|
510
|
+
/* @__PURE__ */ jsx(
|
|
511
|
+
"a",
|
|
512
|
+
{
|
|
513
|
+
href: safePetLink(browseBasePath + "/neighbors" + communityQuery),
|
|
514
|
+
children: "Browse all community pets"
|
|
515
|
+
}
|
|
516
|
+
)
|
|
517
|
+
] }),
|
|
518
|
+
/* @__PURE__ */ jsxs("section", { id: "lost-found", className: "paw-section paw-recovery", children: [
|
|
519
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-section-heading", children: [
|
|
520
|
+
/* @__PURE__ */ jsx("h2", { children: "Let\u2019s help them get home." }),
|
|
521
|
+
/* @__PURE__ */ jsx("p", { children: "Lost & found is always free." })
|
|
522
|
+
] }),
|
|
523
|
+
notices.length ? /* @__PURE__ */ jsx("div", { className: "paw-gallery", children: notices.map((r) => /* @__PURE__ */ jsx(
|
|
524
|
+
LostPetNotice,
|
|
525
|
+
{
|
|
526
|
+
resource: r,
|
|
527
|
+
community: local(r.area_id),
|
|
528
|
+
href: link(r.id),
|
|
529
|
+
mediaUrl
|
|
530
|
+
},
|
|
531
|
+
r.id
|
|
532
|
+
)) }) : /* @__PURE__ */ jsx("p", { children: "No current, reviewed notices in this community." }),
|
|
533
|
+
/* @__PURE__ */ jsx("p", { className: "paw-safety", children: PET_SAFETY.recovery }),
|
|
534
|
+
/* @__PURE__ */ jsx(
|
|
535
|
+
"a",
|
|
536
|
+
{
|
|
537
|
+
href: safePetLink(
|
|
538
|
+
browseBasePath + "/lost_found" + communityQuery
|
|
539
|
+
),
|
|
540
|
+
children: "Open the lost & found board"
|
|
541
|
+
}
|
|
542
|
+
)
|
|
543
|
+
] }),
|
|
544
|
+
/* @__PURE__ */ jsxs("section", { id: "celebrations", className: "paw-section", children: [
|
|
545
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-section-heading", children: [
|
|
546
|
+
/* @__PURE__ */ jsx("h2", { children: "A life full of little milestones" }),
|
|
547
|
+
/* @__PURE__ */ jsx("p", { children: "Birthdays, adoption days, new beginnings and fond memories." })
|
|
548
|
+
] }),
|
|
549
|
+
celebrations.length ? /* @__PURE__ */ jsx("div", { className: "paw-gallery", children: celebrations.map((r) => /* @__PURE__ */ jsx(
|
|
550
|
+
PetCelebrationCard,
|
|
551
|
+
{
|
|
552
|
+
resource: r,
|
|
553
|
+
community: local(r.area_id),
|
|
554
|
+
href: link(r.id),
|
|
555
|
+
mediaUrl
|
|
556
|
+
},
|
|
557
|
+
r.id
|
|
558
|
+
)) }) : /* @__PURE__ */ jsx("p", { className: "paw-empty", children: "Celebrate someone who makes your days brighter. Every story is reviewed with care." }),
|
|
559
|
+
/* @__PURE__ */ jsx(
|
|
560
|
+
"a",
|
|
561
|
+
{
|
|
562
|
+
href: safePetLink(
|
|
563
|
+
browseBasePath + "/celebration" + communityQuery
|
|
564
|
+
),
|
|
565
|
+
children: "More pet celebrations"
|
|
566
|
+
}
|
|
567
|
+
)
|
|
568
|
+
] }),
|
|
569
|
+
/* @__PURE__ */ jsxs("section", { id: "adoption", className: "paw-section", children: [
|
|
570
|
+
/* @__PURE__ */ jsxs("div", { className: "paw-section-heading", children: [
|
|
571
|
+
/* @__PURE__ */ jsx("h2", { children: "A new chapter starts with hello." }),
|
|
572
|
+
/* @__PURE__ */ jsx("p", { children: "Discover animals through local shelters and rescue organizations." })
|
|
573
|
+
] }),
|
|
574
|
+
adoptions.length ? /* @__PURE__ */ jsx("div", { className: "paw-gallery", children: adoptions.map((r) => /* @__PURE__ */ jsx(
|
|
575
|
+
AdoptionListingCard,
|
|
576
|
+
{
|
|
577
|
+
resource: r,
|
|
578
|
+
community: local(r.area_id),
|
|
579
|
+
href: link(r.id),
|
|
580
|
+
mediaUrl
|
|
581
|
+
},
|
|
582
|
+
r.id
|
|
583
|
+
)) }) : /* @__PURE__ */ jsx("p", { className: "paw-empty", children: "Our editors are gathering official shelter and rescue listings. Check directly with your local organization for current availability." }),
|
|
584
|
+
/* @__PURE__ */ jsx("p", { className: "paw-safety", children: PET_SAFETY.adoption }),
|
|
585
|
+
/* @__PURE__ */ jsx(
|
|
586
|
+
"a",
|
|
587
|
+
{
|
|
588
|
+
href: safePetLink(browseBasePath + "/adoption" + communityQuery),
|
|
589
|
+
children: "Explore adoption listings"
|
|
590
|
+
}
|
|
591
|
+
)
|
|
592
|
+
] }),
|
|
593
|
+
nextUrl && /* @__PURE__ */ jsx("a", { className: "paw-button", href: safePetLink(nextUrl), children: "More community pets" })
|
|
594
|
+
] }),
|
|
595
|
+
acknowledgments.length > 0 && /* @__PURE__ */ jsxs("section", { "aria-label": "Community support", children: [
|
|
596
|
+
/* @__PURE__ */ jsx("p", { children: "Bay Area Paw is made possible with support from our community partners." }),
|
|
597
|
+
acknowledgments.map((item) => /* @__PURE__ */ jsx(
|
|
598
|
+
SponsorAcknowledgment2,
|
|
599
|
+
{
|
|
600
|
+
acknowledgment: item
|
|
601
|
+
},
|
|
602
|
+
item.campaign_id + item.placement_id
|
|
603
|
+
))
|
|
604
|
+
] }),
|
|
605
|
+
/* @__PURE__ */ jsxs("footer", { className: "paw-footer", children: [
|
|
606
|
+
/* @__PURE__ */ jsx(PawMark, { size: 24 }),
|
|
607
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
608
|
+
"A community project from Bay Area News Network.",
|
|
609
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
610
|
+
tagline
|
|
611
|
+
] })
|
|
612
|
+
] })
|
|
613
|
+
] });
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
export { AdoptionListingCard, LostPetNotice, PawMark, PawNeighborhoodIllustration, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, SponsorAcknowledgment2 as SponsorAcknowledgment };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { CommunityMapCollection, CommunityMapFeature, CommunityCityAtlasConfig } from '@scalemule/react/community-maps';
|
|
3
3
|
export { c as communityMapEmbeds } from './community-maps-DKcYhQYN.cjs';
|
|
4
4
|
|
|
@@ -13,11 +13,11 @@ interface PublicationCommunityMapPageProps {
|
|
|
13
13
|
atlas?: CommunityCityAtlasConfig;
|
|
14
14
|
}
|
|
15
15
|
/** The newspaper supplies its chrome and inherited type. The platform owns map behavior. */
|
|
16
|
-
declare function PublicationCommunityMapPage({ collection, feature, mode, areaId, correctionFor, basePath, apiPath, atlas, }: PublicationCommunityMapPageProps):
|
|
16
|
+
declare function PublicationCommunityMapPage({ collection, feature, mode, areaId, correctionFor, basePath, apiPath, atlas, }: PublicationCommunityMapPageProps): React.JSX.Element;
|
|
17
17
|
|
|
18
18
|
declare function CommunityMapArticleEmbeds({ metadata, apiPath, }: {
|
|
19
19
|
metadata: unknown;
|
|
20
20
|
apiPath?: string;
|
|
21
|
-
}):
|
|
21
|
+
}): React.JSX.Element;
|
|
22
22
|
|
|
23
23
|
export { CommunityMapArticleEmbeds, PublicationCommunityMapPage, type PublicationCommunityMapPageProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { CommunityMapCollection, CommunityMapFeature, CommunityCityAtlasConfig } from '@scalemule/react/community-maps';
|
|
3
3
|
export { c as communityMapEmbeds } from './community-maps-DKcYhQYN.js';
|
|
4
4
|
|
|
@@ -13,11 +13,11 @@ interface PublicationCommunityMapPageProps {
|
|
|
13
13
|
atlas?: CommunityCityAtlasConfig;
|
|
14
14
|
}
|
|
15
15
|
/** The newspaper supplies its chrome and inherited type. The platform owns map behavior. */
|
|
16
|
-
declare function PublicationCommunityMapPage({ collection, feature, mode, areaId, correctionFor, basePath, apiPath, atlas, }: PublicationCommunityMapPageProps):
|
|
16
|
+
declare function PublicationCommunityMapPage({ collection, feature, mode, areaId, correctionFor, basePath, apiPath, atlas, }: PublicationCommunityMapPageProps): React.JSX.Element;
|
|
17
17
|
|
|
18
18
|
declare function CommunityMapArticleEmbeds({ metadata, apiPath, }: {
|
|
19
19
|
metadata: unknown;
|
|
20
20
|
apiPath?: string;
|
|
21
|
-
}):
|
|
21
|
+
}): React.JSX.Element;
|
|
22
22
|
|
|
23
23
|
export { CommunityMapArticleEmbeds, PublicationCommunityMapPage, type PublicationCommunityMapPageProps };
|
|
@@ -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 };
|