@scalemule/news-publication 0.0.49 → 0.0.51

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.
Files changed (39) hide show
  1. package/README.md +26 -0
  2. package/dist/{chunk-ZXH3O537.js → chunk-ABPJMDUG.js} +1 -1
  3. package/dist/{chunk-MBBPEFDA.js → chunk-AFJ6S5WJ.js} +1 -1
  4. package/dist/{chunk-2MEYHM7M.js → chunk-AMLVCZDP.js} +1 -1
  5. package/dist/{chunk-TTLM7YOH.js → chunk-QW3OZB22.js} +183 -11
  6. package/dist/index.js +3 -3
  7. package/dist/meet-forms.js +2 -2
  8. package/dist/meet-view.d.cts +1 -1
  9. package/dist/meet-view.d.ts +1 -1
  10. package/dist/meet-view.js +2 -2
  11. package/dist/pets-auth-server.cjs +59 -14
  12. package/dist/pets-auth-server.d.cts +7 -1
  13. package/dist/pets-auth-server.d.ts +7 -1
  14. package/dist/pets-auth-server.js +60 -17
  15. package/dist/pets-forms.cjs +8 -4
  16. package/dist/pets-forms.d.cts +4 -2
  17. package/dist/pets-forms.d.ts +4 -2
  18. package/dist/pets-forms.js +10 -6
  19. package/dist/pets-interactions.cjs +6 -5
  20. package/dist/pets-interactions.d.cts +5 -2
  21. package/dist/pets-interactions.d.ts +5 -2
  22. package/dist/pets-interactions.js +7 -6
  23. package/dist/pets-plugin.cjs +551 -0
  24. package/dist/pets-plugin.d.cts +50 -0
  25. package/dist/pets-plugin.d.ts +50 -0
  26. package/dist/pets-plugin.js +317 -0
  27. package/dist/pets-publication.cjs +230 -34
  28. package/dist/pets-publication.d.cts +7 -3
  29. package/dist/pets-publication.d.ts +7 -3
  30. package/dist/pets-publication.js +51 -27
  31. package/dist/pets-server.js +2 -2
  32. package/dist/pets-view.cjs +182 -9
  33. package/dist/pets-view.d.cts +3 -1
  34. package/dist/pets-view.d.ts +3 -1
  35. package/dist/pets-view.js +2 -2
  36. package/dist/pets.cjs +1 -1
  37. package/dist/pets.js +1 -1
  38. package/package.json +6 -1
  39. package/pets.css +215 -7
@@ -10,26 +10,30 @@ type PetPageQuery = {
10
10
  community?: string;
11
11
  after?: string;
12
12
  };
13
- declare function PublicationPetsSection({ scope, query, region, canonicalOrigin, defaultCommunity, walksUrl, cleanCaption, }: {
13
+ declare function PublicationPetsSection({ scope, query, region, canonicalOrigin, defaultCommunity, rememberedCommunity, walksUrl, native, cleanCaption, }: {
14
14
  scope: PetScope;
15
15
  query: PetPageQuery;
16
16
  region: string;
17
17
  canonicalOrigin: string;
18
18
  defaultCommunity?: string;
19
+ rememberedCommunity?: string;
19
20
  walksUrl?: string;
21
+ native?: boolean;
20
22
  cleanCaption?: (caption: string) => string;
21
23
  }): Promise<React__default.JSX.Element>;
22
- declare function PublicationPetReferences({ scope, metadata, canonicalOrigin, communities, cleanCaption, }: {
24
+ declare function PublicationPetReferences({ scope, metadata, canonicalOrigin, native, communities, cleanCaption, }: {
23
25
  scope: PetScope;
24
26
  metadata: unknown;
25
27
  canonicalOrigin: string;
28
+ native?: boolean;
26
29
  communities?: PetCommunity[];
27
30
  cleanCaption?: (value: string) => string;
28
31
  }): Promise<React__default.JSX.Element | null>;
29
32
  /** Extends the existing publication calendar with reviewed source references. */
30
- declare function PublicationPetEvents({ scope, canonicalOrigin, cleanCaption, }: {
33
+ declare function PublicationPetEvents({ scope, canonicalOrigin, native, cleanCaption, }: {
31
34
  scope: PetScope;
32
35
  canonicalOrigin: string;
36
+ native?: boolean;
33
37
  cleanCaption?: (value: string) => string;
34
38
  }): Promise<React__default.JSX.Element | null>;
35
39
 
@@ -10,26 +10,30 @@ type PetPageQuery = {
10
10
  community?: string;
11
11
  after?: string;
12
12
  };
13
- declare function PublicationPetsSection({ scope, query, region, canonicalOrigin, defaultCommunity, walksUrl, cleanCaption, }: {
13
+ declare function PublicationPetsSection({ scope, query, region, canonicalOrigin, defaultCommunity, rememberedCommunity, walksUrl, native, cleanCaption, }: {
14
14
  scope: PetScope;
15
15
  query: PetPageQuery;
16
16
  region: string;
17
17
  canonicalOrigin: string;
18
18
  defaultCommunity?: string;
19
+ rememberedCommunity?: string;
19
20
  walksUrl?: string;
21
+ native?: boolean;
20
22
  cleanCaption?: (caption: string) => string;
21
23
  }): Promise<React__default.JSX.Element>;
22
- declare function PublicationPetReferences({ scope, metadata, canonicalOrigin, communities, cleanCaption, }: {
24
+ declare function PublicationPetReferences({ scope, metadata, canonicalOrigin, native, communities, cleanCaption, }: {
23
25
  scope: PetScope;
24
26
  metadata: unknown;
25
27
  canonicalOrigin: string;
28
+ native?: boolean;
26
29
  communities?: PetCommunity[];
27
30
  cleanCaption?: (value: string) => string;
28
31
  }): Promise<React__default.JSX.Element | null>;
29
32
  /** Extends the existing publication calendar with reviewed source references. */
30
- declare function PublicationPetEvents({ scope, canonicalOrigin, cleanCaption, }: {
33
+ declare function PublicationPetEvents({ scope, canonicalOrigin, native, cleanCaption, }: {
31
34
  scope: PetScope;
32
35
  canonicalOrigin: string;
36
+ native?: boolean;
33
37
  cleanCaption?: (value: string) => string;
34
38
  }): Promise<React__default.JSX.Element | null>;
35
39
 
@@ -1,9 +1,10 @@
1
- import { PetsSection, PawOfTheWeekCard, AdoptionListingCard, PetEventCard, PetCelebrationCard, LostPetNotice, PetProfileCard } from './chunk-TTLM7YOH.js';
1
+ import { PetsSection, PawOfTheWeekCard, AdoptionListingCard, PetEventCard, PetCelebrationCard, LostPetNotice, PetProfileCard } from './chunk-QW3OZB22.js';
2
2
  import './chunk-4JRWZXAP.js';
3
- import { petRequest, petAcknowledgments, resolvePetReferences } from './chunk-ZXH3O537.js';
4
3
  import './chunk-66GI2IX6.js';
5
- import { resolvePetCommunity } from './chunk-MBBPEFDA.js';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import { petRequest, petAcknowledgments, resolvePetReferences } from './chunk-ABPJMDUG.js';
5
+ import { resolvePetCommunity } from './chunk-AFJ6S5WJ.js';
6
+ import { PetCommunityMemory } from '@scalemule/news-publication/pets-interactions';
7
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
8
  import { createElement } from 'react';
8
9
 
9
10
  async function PublicationPetsSection({
@@ -12,7 +13,9 @@ async function PublicationPetsSection({
12
13
  region,
13
14
  canonicalOrigin,
14
15
  defaultCommunity,
16
+ rememberedCommunity,
15
17
  walksUrl,
18
+ native = false,
16
19
  cleanCaption = (v) => v
17
20
  }) {
18
21
  const root = `/v1/knowledge/community-maps/collections/${scope.collectionSlug}`;
@@ -22,10 +25,19 @@ async function PublicationPetsSection({
22
25
  const home = defaultCommunity || collection.areas.find(
23
26
  (area) => area.name.toLocaleLowerCase() === region.toLocaleLowerCase()
24
27
  )?.id;
28
+ let remembered = rememberedCommunity, signedIn = false;
29
+ if (native && scope.accessToken) {
30
+ try {
31
+ const saved = await petRequest(scope, root + "/pets/preferences");
32
+ remembered = saved.preferences.home_area_id || (saved.revision > 0 ? "all" : void 0);
33
+ signedIn = true;
34
+ } catch {
35
+ }
36
+ }
25
37
  const chosen = resolvePetCommunity(
26
38
  collection.areas,
27
39
  query.community,
28
- void 0,
40
+ remembered,
29
41
  home
30
42
  );
31
43
  const filter = new URLSearchParams();
@@ -67,25 +79,35 @@ async function PublicationPetsSection({
67
79
  }))
68
80
  });
69
81
  const local = chosen ? "?community=" + encodeURIComponent(chosen.slug) : "";
70
- return /* @__PURE__ */ jsx(
71
- PetsSection,
72
- {
73
- basePath: "/pets",
74
- regionLabel: region,
75
- resourceBasePath: canonicalOrigin + "/pets",
76
- communities: collection.areas,
77
- community: chosen,
78
- acknowledgments: await petAcknowledgments(scope, chosen?.slug),
79
- resources: feeds.flatMap((feed) => feed.items).map(clean),
80
- spotlight: spotlights.items[0] && clean(spotlights.items[0]),
81
- mediaUrl,
82
- contributeUrl: canonicalOrigin + "/submit" + local,
83
- placesUrl: canonicalOrigin + "/places" + local,
84
- walksUrl,
85
- browseBasePath: canonicalOrigin + "/browse",
86
- eventsUrl: canonicalOrigin + "/events"
87
- }
88
- );
82
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
83
+ native && /* @__PURE__ */ jsx(
84
+ PetCommunityMemory,
85
+ {
86
+ signedIn,
87
+ selected: query.community === void 0 ? void 0 : chosen?.id || null
88
+ }
89
+ ),
90
+ /* @__PURE__ */ jsx(
91
+ PetsSection,
92
+ {
93
+ basePath: "/pets",
94
+ regionLabel: region,
95
+ resourceBasePath: native ? "/pets" : canonicalOrigin + "/pets",
96
+ accountUrl: native ? "/pets/account" : void 0,
97
+ communities: collection.areas,
98
+ community: chosen,
99
+ acknowledgments: await petAcknowledgments(scope, chosen?.slug),
100
+ resources: feeds.flatMap((feed) => feed.items).map(clean),
101
+ spotlight: spotlights.items[0] && clean(spotlights.items[0]),
102
+ mediaUrl,
103
+ contributeUrl: (native ? "/pets/submit" : canonicalOrigin + "/submit") + local,
104
+ placesUrl: canonicalOrigin + "/places" + local,
105
+ walksUrl,
106
+ browseBasePath: native ? "/pets/browse" : canonicalOrigin + "/browse",
107
+ eventsUrl: native ? "/pets/browse/event" : canonicalOrigin + "/events"
108
+ }
109
+ )
110
+ ] });
89
111
  } catch {
90
112
  return /* @__PURE__ */ jsx(
91
113
  PetsSection,
@@ -103,6 +125,7 @@ async function PublicationPetReferences({
103
125
  scope,
104
126
  metadata,
105
127
  canonicalOrigin,
128
+ native = false,
106
129
  communities,
107
130
  cleanCaption = (v) => v
108
131
  }) {
@@ -124,7 +147,7 @@ async function PublicationPetReferences({
124
147
  }))
125
148
  },
126
149
  community: communities?.find((c) => c.id === resource.area_id)?.name || "Our community",
127
- href: `${canonicalOrigin}/pets/${resource.id}`,
150
+ href: `${native ? "" : canonicalOrigin}/pets/${resource.id}`,
128
151
  mediaUrl: (id, photo) => `/api/pets/${id}/media/${photo}`
129
152
  };
130
153
  const Card = resource.kind === "spotlight" ? PawOfTheWeekCard : resource.kind === "adoption" ? AdoptionListingCard : resource.kind === "event" ? PetEventCard : resource.kind === "celebration" ? PetCelebrationCard : ["lost", "found"].includes(resource.kind) ? LostPetNotice : PetProfileCard;
@@ -134,6 +157,7 @@ async function PublicationPetReferences({
134
157
  async function PublicationPetEvents({
135
158
  scope,
136
159
  canonicalOrigin,
160
+ native = false,
137
161
  cleanCaption = (value) => value
138
162
  }) {
139
163
  try {
@@ -162,12 +186,12 @@ async function PublicationPetEvents({
162
186
  }))
163
187
  },
164
188
  community: "Our community",
165
- href: `${canonicalOrigin}/pets/${resource.id}`,
189
+ href: `${native ? "" : canonicalOrigin}/pets/${resource.id}`,
166
190
  mediaUrl: (id, media) => `/api/pets/${id}/media/${media}`
167
191
  },
168
192
  resource.id
169
193
  )) }),
170
- /* @__PURE__ */ jsx("a", { href: canonicalOrigin + "/events", children: "Browse the pet community calendar" })
194
+ /* @__PURE__ */ jsx("a", { href: native ? "/pets/browse/event" : canonicalOrigin + "/events", children: "Browse the pet community calendar" })
171
195
  ] });
172
196
  } catch {
173
197
  return /* @__PURE__ */ jsx("p", { role: "status", children: "Pet event listings are temporarily unavailable." });
@@ -1,2 +1,2 @@
1
- export { PetRequestError, createPublicationPetsHandler, petAcknowledgments, petPrivateHeaders, petRequest, resolvePetReferences } from './chunk-ZXH3O537.js';
2
- import './chunk-MBBPEFDA.js';
1
+ export { PetRequestError, createPublicationPetsHandler, petAcknowledgments, petPrivateHeaders, petRequest, resolvePetReferences } from './chunk-ABPJMDUG.js';
2
+ import './chunk-AFJ6S5WJ.js';
@@ -118,6 +118,181 @@ function PawMark({ size = 36 }) {
118
118
  }
119
119
  );
120
120
  }
121
+ function PawNeighborhoodIllustration() {
122
+ return /* @__PURE__ */ jsxRuntime.jsxs(
123
+ "svg",
124
+ {
125
+ className: "paw-neighborhood-art",
126
+ viewBox: "0 0 520 460",
127
+ fill: "none",
128
+ "aria-hidden": "true",
129
+ children: [
130
+ /* @__PURE__ */ jsxRuntime.jsx(
131
+ "path",
132
+ {
133
+ d: "M42 233C42 111 124 29 257 29c134 0 220 102 220 218v153H42V233Z",
134
+ fill: "var(--paw-art-sky)"
135
+ }
136
+ ),
137
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "366", cy: "112", r: "44", fill: "var(--paw-sun)" }),
138
+ /* @__PURE__ */ jsxRuntime.jsx(
139
+ "path",
140
+ {
141
+ d: "M42 262c93-99 132-19 203-52 91-43 145-27 232 52v138H42V262Z",
142
+ fill: "var(--paw-art-hill)"
143
+ }
144
+ ),
145
+ /* @__PURE__ */ jsxRuntime.jsx(
146
+ "path",
147
+ {
148
+ d: "M42 331c89-59 161-27 216-3 81 36 145-47 219-21v93H42v-69Z",
149
+ fill: "var(--paw-art-ground)"
150
+ }
151
+ ),
152
+ /* @__PURE__ */ jsxRuntime.jsx(
153
+ "path",
154
+ {
155
+ d: "M310 239c34-18 68-21 103-14M311 249c34-18 68-21 103-14",
156
+ stroke: "var(--paw-art-line)",
157
+ strokeWidth: "2",
158
+ strokeLinecap: "round",
159
+ opacity: ".45"
160
+ }
161
+ ),
162
+ /* @__PURE__ */ jsxRuntime.jsx(
163
+ "path",
164
+ {
165
+ d: "M90 190v75m29-85v75m-44-46h61m-57 31c14-15 32-15 51-7",
166
+ stroke: "var(--paw-art-line)",
167
+ strokeWidth: "3",
168
+ strokeLinecap: "round",
169
+ opacity: ".45"
170
+ }
171
+ ),
172
+ /* @__PURE__ */ jsxRuntime.jsx(
173
+ "path",
174
+ {
175
+ d: "M167 341c-29-24-33-67-5-88 16-12 44-6 59 17l27 47c15 26 36 38 58 44H167v-20Z",
176
+ fill: "var(--paw-terracotta)"
177
+ }
178
+ ),
179
+ /* @__PURE__ */ jsxRuntime.jsx(
180
+ "path",
181
+ {
182
+ d: "M173 340c-17-9-39-15-54-31-14-16-13-27-11-38",
183
+ stroke: "var(--paw-terracotta)",
184
+ strokeWidth: "17",
185
+ strokeLinecap: "round"
186
+ }
187
+ ),
188
+ /* @__PURE__ */ jsxRuntime.jsx(
189
+ "path",
190
+ {
191
+ d: "M229 283c26-17 39-43 31-67-8-25-35-34-57-18-23 17-13 49 1 68",
192
+ fill: "var(--paw-terracotta)"
193
+ }
194
+ ),
195
+ /* @__PURE__ */ jsxRuntime.jsx(
196
+ "path",
197
+ {
198
+ d: "M251 224l34 5c14 2 13 23 0 28l-36 13",
199
+ fill: "var(--paw-terracotta)"
200
+ }
201
+ ),
202
+ /* @__PURE__ */ jsxRuntime.jsx(
203
+ "path",
204
+ {
205
+ d: "M206 203c-15 1-31 13-29 33 1 11 6 18 15 17 13-1 21-18 25-37",
206
+ fill: "var(--paw-art-line)"
207
+ }
208
+ ),
209
+ /* @__PURE__ */ jsxRuntime.jsx(
210
+ "path",
211
+ {
212
+ d: "M231 285l-10 67c-1 7 9 11 28 11M264 280l2 70c0 10 10 13 25 13",
213
+ stroke: "var(--paw-terracotta)",
214
+ strokeWidth: "19",
215
+ strokeLinecap: "round"
216
+ }
217
+ ),
218
+ /* @__PURE__ */ jsxRuntime.jsx(
219
+ "path",
220
+ {
221
+ d: "M215 273l38-7",
222
+ stroke: "var(--paw-art-line)",
223
+ strokeWidth: "9",
224
+ strokeLinecap: "round"
225
+ }
226
+ ),
227
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "248", cy: "223", r: "3.5", fill: "var(--paw-art-line)" }),
228
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M283 229h9c1 8-3 13-9 13", fill: "var(--paw-art-line)" }),
229
+ /* @__PURE__ */ jsxRuntime.jsx(
230
+ "path",
231
+ {
232
+ d: "M292 348c-9-46 1-79 33-79 33 0 47 37 48 77l-1 17h-80v-15Z",
233
+ fill: "var(--paw-art-cat)"
234
+ }
235
+ ),
236
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M303 277l-6-43 26 20 23-22 2 48", fill: "var(--paw-art-cat)" }),
237
+ /* @__PURE__ */ jsxRuntime.jsx(
238
+ "path",
239
+ {
240
+ d: "M365 351c27-4 45-15 41-39-2-11-15-16-24-10",
241
+ stroke: "var(--paw-art-cat)",
242
+ strokeWidth: "12",
243
+ strokeLinecap: "round"
244
+ }
245
+ ),
246
+ /* @__PURE__ */ jsxRuntime.jsx(
247
+ "path",
248
+ {
249
+ d: "M316 277h3m17-2h3m-13 10 3 2-3 3m-21-5-15-3m16 9-17 2m54-10 16-5m-14 13 15 1",
250
+ stroke: "var(--paw-art-line)",
251
+ strokeWidth: "2.5",
252
+ strokeLinecap: "round"
253
+ }
254
+ ),
255
+ /* @__PURE__ */ jsxRuntime.jsx(
256
+ "path",
257
+ {
258
+ d: "M145 378h245",
259
+ stroke: "var(--paw-art-line)",
260
+ strokeWidth: "2",
261
+ strokeLinecap: "round",
262
+ opacity: ".3"
263
+ }
264
+ ),
265
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "99", cy: "365", r: "16", fill: "var(--paw-sun)" }),
266
+ /* @__PURE__ */ jsxRuntime.jsx(
267
+ "path",
268
+ {
269
+ d: "M93 351c16 8 18 18 12 28",
270
+ stroke: "var(--paw-art-line)",
271
+ strokeWidth: "2"
272
+ }
273
+ ),
274
+ /* @__PURE__ */ jsxRuntime.jsx(
275
+ "path",
276
+ {
277
+ 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",
278
+ stroke: "var(--paw-art-line)",
279
+ strokeWidth: "3",
280
+ strokeLinecap: "round"
281
+ }
282
+ ),
283
+ /* @__PURE__ */ jsxRuntime.jsx(
284
+ "path",
285
+ {
286
+ d: "m406 153 8-6 8 6m-234-33 8-6 8 6",
287
+ stroke: "var(--paw-art-line)",
288
+ strokeWidth: "2.5",
289
+ strokeLinecap: "round"
290
+ }
291
+ )
292
+ ]
293
+ }
294
+ );
295
+ }
121
296
  function Photo({
122
297
  resource,
123
298
  mediaUrl,
@@ -389,22 +564,19 @@ function PetsSection({
389
564
  }
390
565
  ) : /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "paw-welcome", children: [
391
566
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
567
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "paw-eyebrow", children: "Life is better together" }),
392
568
  /* @__PURE__ */ jsxRuntime.jsxs("h1", { children: [
393
- "Every pet has a story.",
569
+ "Every pet.",
394
570
  /* @__PURE__ */ jsxRuntime.jsx("br", {}),
395
- "Let\u2019s meet yours."
571
+ /* @__PURE__ */ jsxRuntime.jsx("em", { children: "A local story." })
396
572
  ] }),
397
573
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: "A place for familiar faces, happy reunions and the everyday joy of life with pets." }),
398
574
  contributeUrl && /* @__PURE__ */ jsxRuntime.jsx("a", { className: "paw-button", href: safePetLink(contributeUrl), children: "Submit for Paw of the Week" }),
399
575
  /* @__PURE__ */ jsxRuntime.jsx("small", { children: "Free to enter. Thoughtfully selected by local editors." })
400
576
  ] }),
401
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "paw-emblem", children: [
402
- /* @__PURE__ */ jsxRuntime.jsx(PawMark, { size: 180 }),
403
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
404
- "Good neighbors.",
405
- /* @__PURE__ */ jsxRuntime.jsx("br", {}),
406
- "Great companions."
407
- ] })
577
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "paw-illustration", children: [
578
+ /* @__PURE__ */ jsxRuntime.jsx(PawNeighborhoodIllustration, {}),
579
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Good neighbors. Great companions." })
408
580
  ] })
409
581
  ] }),
410
582
  !unavailable && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -532,6 +704,7 @@ function PetsSection({
532
704
  exports.AdoptionListingCard = AdoptionListingCard;
533
705
  exports.LostPetNotice = LostPetNotice;
534
706
  exports.PawMark = PawMark;
707
+ exports.PawNeighborhoodIllustration = PawNeighborhoodIllustration;
535
708
  exports.PawOfTheWeekCard = PawOfTheWeekCard;
536
709
  exports.PetCelebrationCard = PetCelebrationCard;
537
710
  exports.PetEventCard = PetEventCard;
@@ -5,6 +5,8 @@ import { P as PublicAcknowledgment } from './sponsorships-CtnBe3S8.cjs';
5
5
  declare function PawMark({ size }: {
6
6
  size?: number;
7
7
  }): React__default.JSX.Element;
8
+ /** Original vector artwork; never presented as a photograph or a community pet. */
9
+ declare function PawNeighborhoodIllustration(): React__default.JSX.Element;
8
10
  type ResourceProps = {
9
11
  resource: PetResource;
10
12
  community: string;
@@ -53,4 +55,4 @@ type PetsSectionProps = {
53
55
  };
54
56
  declare function PetsSection({ name, tagline, community, communities, resources, spotlight, acknowledgments, basePath, mediaUrl, contributeUrl, placesUrl, walksUrl, nextUrl, unavailable, regionLabel, resourceBasePath, browseBasePath, eventsUrl, accountUrl, }: PetsSectionProps): React__default.JSX.Element;
55
57
 
56
- export { AdoptionListingCard, LostPetNotice, PawMark, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, type PetsSectionProps, SponsorAcknowledgment };
58
+ export { AdoptionListingCard, LostPetNotice, PawMark, PawNeighborhoodIllustration, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, type PetsSectionProps, SponsorAcknowledgment };
@@ -5,6 +5,8 @@ import { P as PublicAcknowledgment } from './sponsorships-CtnBe3S8.js';
5
5
  declare function PawMark({ size }: {
6
6
  size?: number;
7
7
  }): React__default.JSX.Element;
8
+ /** Original vector artwork; never presented as a photograph or a community pet. */
9
+ declare function PawNeighborhoodIllustration(): React__default.JSX.Element;
8
10
  type ResourceProps = {
9
11
  resource: PetResource;
10
12
  community: string;
@@ -53,4 +55,4 @@ type PetsSectionProps = {
53
55
  };
54
56
  declare function PetsSection({ name, tagline, community, communities, resources, spotlight, acknowledgments, basePath, mediaUrl, contributeUrl, placesUrl, walksUrl, nextUrl, unavailable, regionLabel, resourceBasePath, browseBasePath, eventsUrl, accountUrl, }: PetsSectionProps): React__default.JSX.Element;
55
57
 
56
- export { AdoptionListingCard, LostPetNotice, PawMark, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, type PetsSectionProps, SponsorAcknowledgment };
58
+ export { AdoptionListingCard, LostPetNotice, PawMark, PawNeighborhoodIllustration, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, type PetsSectionProps, SponsorAcknowledgment };
package/dist/pets-view.js CHANGED
@@ -1,4 +1,4 @@
1
- export { AdoptionListingCard, LostPetNotice, PawMark, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, SponsorAcknowledgment } from './chunk-TTLM7YOH.js';
1
+ export { AdoptionListingCard, LostPetNotice, PawMark, PawNeighborhoodIllustration, PawOfTheWeekCard, PetCelebrationCard, PetEventCard, PetFriendlyPlaceCard, PetProfileCard, PetsSection, SponsorAcknowledgment } from './chunk-QW3OZB22.js';
2
2
  import './chunk-4JRWZXAP.js';
3
3
  import './chunk-66GI2IX6.js';
4
- import './chunk-MBBPEFDA.js';
4
+ import './chunk-AFJ6S5WJ.js';
package/dist/pets.cjs CHANGED
@@ -62,7 +62,7 @@ function petReferences(metadata) {
62
62
  });
63
63
  }
64
64
  function resolvePetCommunity(areas, selected, preference, publicationDefault) {
65
- if (selected === "") return void 0;
65
+ if (selected === "" || selected === void 0 && preference === "all") return void 0;
66
66
  for (const candidate of [selected, preference, publicationDefault]) {
67
67
  const found = areas.find(
68
68
  (area) => area.id === candidate || area.slug === candidate
package/dist/pets.js CHANGED
@@ -1 +1 @@
1
- export { PET_CELEBRATIONS, PET_KINDS, PET_NOTIFICATION_CATEGORIES, PET_PHOTO_CATEGORIES, PET_SAFETY, PET_SLUG, PET_UUID, adoptionAvailability, petProfileMetadata, petReferences, preparePawWalk, resolvePetCommunity, safePetLink } from './chunk-MBBPEFDA.js';
1
+ export { PET_CELEBRATIONS, PET_KINDS, PET_NOTIFICATION_CATEGORIES, PET_PHOTO_CATEGORIES, PET_SAFETY, PET_SLUG, PET_UUID, adoptionAvailability, petProfileMetadata, petReferences, preparePawWalk, resolvePetCommunity, safePetLink } from './chunk-AFJ6S5WJ.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scalemule/news-publication",
3
- "version": "0.0.49",
3
+ "version": "0.0.51",
4
4
  "description": "Shared server framework for ScaleMule local news publications. Walnut Creek Times is the broadsheet default; each paper supplies its own identity and feature flags.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -138,6 +138,11 @@
138
138
  "types": "./dist/pets-publication.d.ts",
139
139
  "import": "./dist/pets-publication.js",
140
140
  "require": "./dist/pets-publication.cjs"
141
+ },
142
+ "./pets-plugin": {
143
+ "types": "./dist/pets-plugin.d.ts",
144
+ "import": "./dist/pets-plugin.js",
145
+ "require": "./dist/pets-plugin.cjs"
141
146
  }
142
147
  },
143
148
  "files": [