@se-studio/core-ui 1.11.7 → 1.12.0

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 (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/CMS_INFRASTRUCTURE.md +3 -2
  3. package/README.md +4 -3
  4. package/dist/CmsRendererConfig.d.ts +2 -1
  5. package/dist/CmsRendererConfig.d.ts.map +1 -1
  6. package/dist/app-helpers.d.ts +2 -1
  7. package/dist/app-helpers.d.ts.map +1 -1
  8. package/dist/app-helpers.js +17 -2
  9. package/dist/app-helpers.js.map +1 -1
  10. package/dist/server/index.d.ts +1 -1
  11. package/dist/server/index.d.ts.map +1 -1
  12. package/dist/server/index.js +1 -1
  13. package/dist/server/index.js.map +1 -1
  14. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts.map +1 -1
  15. package/dist/showcase/components/ShowcaseAllRenderPage.js +12 -11
  16. package/dist/showcase/components/ShowcaseAllRenderPage.js.map +1 -1
  17. package/dist/showcase/components/ShowcaseAnimationRoot.d.ts +8 -0
  18. package/dist/showcase/components/ShowcaseAnimationRoot.d.ts.map +1 -0
  19. package/dist/showcase/components/ShowcaseAnimationRoot.js +10 -0
  20. package/dist/showcase/components/ShowcaseAnimationRoot.js.map +1 -0
  21. package/dist/showcase/components/ShowcaseRenderPage.d.ts.map +1 -1
  22. package/dist/showcase/components/ShowcaseRenderPage.js +2 -1
  23. package/dist/showcase/components/ShowcaseRenderPage.js.map +1 -1
  24. package/dist/showcase/index.d.ts +1 -0
  25. package/dist/showcase/index.d.ts.map +1 -1
  26. package/dist/showcase/index.js +1 -0
  27. package/dist/showcase/index.js.map +1 -1
  28. package/dist/utils/componentUtils.d.ts +17 -30
  29. package/dist/utils/componentUtils.d.ts.map +1 -1
  30. package/dist/utils/componentUtils.js +114 -79
  31. package/dist/utils/componentUtils.js.map +1 -1
  32. package/dist/utils/linkResolution.d.ts +15 -0
  33. package/dist/utils/linkResolution.d.ts.map +1 -0
  34. package/dist/utils/linkResolution.js +19 -0
  35. package/dist/utils/linkResolution.js.map +1 -0
  36. package/docs/llms.md +2 -2
  37. package/package.json +1 -1
  38. package/src/showcase/README.md +6 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @se-studio/core-ui
2
2
 
3
+ ## 1.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Fix `getRelatedArticles` and `getRelatedPeople` to always resolve curated `contents` link refs from `getAll*Links` listing fetches so person/article publish revalidates link-shaped UI. Add `getRelatedTags` with the same pattern (`tag` cache tag). Wire `getRelatedTags` through `createAppHelpers` and `@se-studio/core-ui/server`.
8
+
9
+ ## 1.11.8
10
+
11
+ ### Patch Changes
12
+
13
+ - Unlock scroll-gated animations on CMS showcase render routes via `ShowcaseAnimationRoot`.
14
+
3
15
  ## 1.11.7
4
16
 
5
17
  ### Patch Changes
@@ -281,7 +281,8 @@ Error panels (unknown types, render errors) are shown when `!buildInformation.is
281
281
  **Visibility enforcement:** `createAppHelpers` enforces two visibility rules via `buildInformation`:
282
282
 
283
283
  - **`hidden` entities:** Entity fetchers (`getPageWithErrors`, `getArticleWithErrors`, etc.) return `null` data when the entity has `hidden === true` in production. Callers treat `null` as `notFound()`. In non-production environments, hidden entities are returned normally so content authors can preview them.
284
- - **`indexed` filtering:** Link fetchers (`getAllPageLinks`, `getAllArticleLinks`, etc.) exclude entries with `indexed === false` by default. Pass `{ allowUnindexed: true }` (via `LinkFetchOptions`) to include them. This applies in all environments. `filterRelatedArticles` and `getRelatedPeople` apply the same rule.
284
+ - **`indexed` filtering:** Link fetchers (`getAllPageLinks`, `getAllArticleLinks`, etc.) exclude entries with `indexed === false` by default. Pass `{ allowUnindexed: true }` (via `LinkFetchOptions`) to include them. This applies in all environments. `filterRelatedArticles`, `getRelatedPeople`, and `getRelatedTags` apply the same rule on auto-filled slots.
285
+ - **Link-shaped UI and revalidation:** Collection `contents` link refs (person, article, tag) provide **selection and order only**. `getRelatedArticles`, `getRelatedPeople`, and `getRelatedTags` always resolve display fields from `getAll*Links` listing fetches (`article`, `person`, `tag` cache tags). Entity detail routes use entity fetches (`article#slug`, etc.). Do not render portraits, titles, or hrefs from embedded page-include link objects in collection renderers.
285
286
  - **Full-list article filtering (`getAllArticleLinks`):** Pass article filter criteria directly: `articleTypeSlugs`/`articleTypeIds`, `tagSlugs`/`tagIds`, `tagType*`, `authorSlugs`/`authorIds` + `strictAuthorMatch: true` (hard filter for person pages), `before`/`after`, `excludeArticleIds`, `count`. The wrapper in `createAppHelpers` runs the base list through `filterRelatedArticles` (after indexed filtering). Use for News Grids / Publications Lists / ArticleFilter collections that need the *complete* matching set (client-side search UI, "latest N" on indexes, person-scoped lists). See also `getRelatedArticles` for limited related sets driven by collection `links`.
286
287
  - **Related Articles tag criteria (`getRelatedArticles`):** Tag filters are taken from tag links in the collection `links` or `contents`. When none are set, `applyFallbackCriteria` uses `pageContext.tag.id` (tag index pages), then `pageContext.article.tags` (article detail pages). Explicit CMS tag links always win. When `tagIds` reach `filterRelatedArticles`, articles must match at least one tag (OR semantics).
287
288
  - **`buildPageMetadata`** calls `notFound()` when `model.hidden === true` in production, providing a second safety net at the metadata layer.
@@ -353,7 +354,7 @@ See the example apps in this monorepo for complete working implementations:
353
354
  - `externalComponentMap`, `embeddedExternalComponentMap` – External/embed maps (optional).
354
355
  - `visualComponentRenderer`, `internalLinkRenderer` – Renderers for Visual and Internal Link types.
355
356
  - `previewHelpers` – **Required.** Preview helpers for Contentful live preview (pass from app cms-server).
356
- - `fetchHelpers` – Helpers for data fetching in collections (`getRelatedArticles`, `getRelatedPeople`, `getAllArticleLinks`, `getAllTagLinks`, `getAllPersonLinks`, etc.). Link fetchers accept optional `LinkFetchOptions` (pass `{ allowUnindexed: true }` to include unindexed entries; pass articleType*/tag*/author* criteria for pre-filtered full lists via `getAllArticleLinks`). Import advanced filter symbols from `@se-studio/core-ui/server` when needed in server collections.
357
+ - `fetchHelpers` – Helpers for data fetching in collections (`getRelatedArticles`, `getRelatedPeople`, `getRelatedTags`, `getAllArticleLinks`, `getAllTagLinks`, `getAllPersonLinks`, etc.). Link fetchers accept optional `LinkFetchOptions` (pass `{ allowUnindexed: true }` to include unindexed entries; pass articleType*/tag*/author* criteria for pre-filtered full lists via `getAllArticleLinks`). Import advanced filter symbols from `@se-studio/core-ui/server` when needed in server collections.
357
358
  - `defaultComponentRenderer`, `defaultCollectionRenderer` – Fallback renderers for unmapped types.
358
359
 
359
360
  ## Future Enhancements
package/README.md CHANGED
@@ -411,14 +411,15 @@ const previewConfig = mergeCmsRendererConfig(
411
411
  #### Utilities
412
412
  - **`buildPageMetadata`** - Generates Next.js metadata object from CMS page model
413
413
  - **`handleCmsError`** - Error handling utility for CMS operations
414
- - **`getRelatedArticles`** - Fetches related articles for collections (limited sets): manual articles from `contents`, then filtered/ranked results from `contentfulAllArticleLinks` via `filterRelatedArticles`. Tag criteria come from collection tag links, or fall back to `pageContext.tag`, then the current article's tags on article detail pages. See also full-list filtering via `getAllArticleLinks` (below).
415
- - **`getRelatedPeople`** - Utility to fetch related people for collections
414
+ - **`getRelatedArticles`** - Fetches related articles for collections (limited sets): `contents` article refs provide IDs/order only; display data is always resolved from `contentfulAllArticleLinks` (or `getAllArticleLinks` via `createAppHelpers`) so the `article` cache tag revalidates on publish. Auto-fill uses `filterRelatedArticles`. Tag criteria come from collection tag links, or fall back to `pageContext.tag`, then the current article's tags on article detail pages. See also full-list filtering via `getAllArticleLinks` (below).
415
+ - **`getRelatedPeople`** - Related people for collections: `contents` person refs are IDs/order only; always resolved from `contentfulAllPersonLinks` / `getAllPersonLinks` (`person` cache tag).
416
+ - **`getRelatedTags`** - Related tags for collections: `contents` tag refs are IDs/order only; always resolved from `contentfulAllTagLinks` / `getAllTagLinks` (`tag` cache tag). Falls back to `pageContext.tag` or the current article's tags when `contents` is empty.
416
417
  - **`cn`** - Utility function for merging Tailwind CSS classes
417
418
 
418
419
  #### Server-only exports (import from `@se-studio/core-ui/server`)
419
420
  - **`createAppHelpers`** — Factory for `getAll*Links`, `getPageWithErrors`, `getRelatedArticles`, `getSitemapEntries` (when configured), etc. Wire with your converterContext + buildOptions.
420
421
  - **`filterRelatedArticles`** + **`RelatedArticlesOptions`** — Re-export of the pure article list filter/ranker (articleType/tag/author/tagType slugs+ids, strict author mode, scoring, dates, etc.). Use in collection renderers or custom full-list logic (e.g. News Grids, person-scoped Publications lists). `getAllArticleLinks(options)` on the helpers already applies these filters when you pass `articleTypeSlugs`, `strictAuthorMatch`, etc.
421
- - **`getRelatedArticles`** / **`getRelatedPeople`** (also re-exported here for server collections)
422
+ - **`getRelatedArticles`** / **`getRelatedPeople`** / **`getRelatedTags`** (also re-exported here for server collections)
422
423
 
423
424
  #### Sitemap Utilities
424
425
  - **`buildSitemap`** - Builds a Next.js sitemap from multiple async sources; calls each source in parallel, deduplicates by URL, and converts to `MetadataRoute.Sitemap`
@@ -1,6 +1,6 @@
1
1
  /** biome-ignore-all lint/suspicious/noExplicitAny: Any is allowed */
2
2
  import type { CmsResponse, FetchOptions } from '@se-studio/contentful-rest-api';
3
- import type { IArticleLink, IContentContext, IInternalLink, IPersonLink } from '@se-studio/core-data-types';
3
+ import type { IArticleLink, IContentContext, IInternalLink, IPersonLink, ITagLink } from '@se-studio/core-data-types';
4
4
  import type * as React from 'react';
5
5
  import type { CollectionMap, CollectionRenderer, EmbeddedCollectionMap } from './components/CmsCollection';
6
6
  import type { ComponentMap, ComponentRenderer, EmbeddedComponentMap } from './components/CmsComponent';
@@ -78,6 +78,7 @@ export type FetchHelpers = {
78
78
  /** Uses `any` for information to accept project-specific collection types */
79
79
  getRelatedArticles?: (information: any, contentContext: IContentContext, count?: number) => Promise<CmsResponse<IArticleLink[]>>;
80
80
  getRelatedPeople?: (information: any, contentContext: IContentContext, count: number) => Promise<CmsResponse<IPersonLink[]>>;
81
+ getRelatedTags?: (information: any, contentContext: IContentContext, count: number) => Promise<CmsResponse<ITagLink[]>>;
81
82
  };
82
83
  export type CmsRendererTypes = {
83
84
  componentNameType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CmsRendererConfig.d.ts","sourceRoot":"","sources":["../src/CmsRendererConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CmsRendererConfig.d.ts","sourceRoot":"","sources":["../src/CmsRendererConfig.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import 'server-only';
25
25
  * ```
26
26
  */
27
27
  import type { ArticleTypeFetchOptions, BaseConverterContext, CmsResponse, ContentfulConfig, FetchOptions, IContentfulCollection, IContentfulPerson, IFetchedTemplate, RedirectMap, TagFetchOptions, TagTypeFetchOptions } from '@se-studio/contentful-rest-api';
28
- import type { BaseCollectionContent, IArticleLink, IArticleTypeLink, IBanner, IBaseArticle, IBaseArticleType, IBaseCustomType, IBasePage, IBaseTag, IBaseTagType, IContentContext, IInternalLink, INavigation, IPersonLink, IRedirect } from '@se-studio/core-data-types';
28
+ import type { BaseCollectionContent, IArticleLink, IArticleTypeLink, IBanner, IBaseArticle, IBaseArticleType, IBaseCustomType, IBasePage, IBaseTag, IBaseTagType, IContentContext, IInternalLink, INavigation, IPersonLink, IRedirect, ITagLink } from '@se-studio/core-data-types';
29
29
  import type { LinkFetchOptions } from './CmsRendererConfig';
30
30
  import type { BreadcrumbLookup } from './utils/breadcrumbUtils';
31
31
  import type { IBuildInformation } from './utils/buildPageMetadata';
@@ -91,6 +91,7 @@ export interface AppHelpers<TPage, TArticle, TArticleType, TTag, TPerson, TCusto
91
91
  getNavigation: (navigationId: string, options?: FetchOptions) => Promise<INavigation | undefined>;
92
92
  getRelatedArticles: (information: TCollection, contentContext: IContentContext, count: number | undefined, options?: FetchOptions) => Promise<CmsResponse<IArticleLink[]>>;
93
93
  getRelatedPeople: (information: TCollection, contentContext: IContentContext, count: number, options?: FetchOptions) => Promise<CmsResponse<IPersonLink[]>>;
94
+ getRelatedTags: (information: TCollection, contentContext: IContentContext, count: number, options?: FetchOptions) => Promise<CmsResponse<ITagLink[]>>;
94
95
  getBannersWithErrors: (options?: FetchOptions) => Promise<CmsResponse<IBanner[] | null>>;
95
96
  getRedirectsWithErrors: (options?: FetchOptions) => Promise<CmsResponse<IRedirect[] | null>>;
96
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"app-helpers.d.ts","sourceRoot":"","sources":["../src/app-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-helpers.d.ts","sourceRoot":"","sources":["../src/app-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import 'server-only';
2
2
  import { buildRedirectMap, contentfulAllArticleLinks, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulArticleRest, contentfulArticleTypeRest, contentfulBannerRest, contentfulCustomTypeRest, getBreadcrumbLookup as contentfulGetBreadcrumbLookup, getNavigation as contentfulGetNavigation, contentfulPageRest, contentfulPersonRest, contentfulRedirectsRest, contentfulTagRest, contentfulTagTypeRest, contentfulTemplateRest, filterRelatedArticles, } from '@se-studio/contentful-rest-api';
3
- import { getRelatedArticles as coreGetRelatedArticles, getRelatedPeople as coreGetRelatedPeople, } from './utils/componentUtils';
3
+ import { isTagLink } from '@se-studio/core-data-types';
4
+ import { getRelatedArticles as coreGetRelatedArticles, getRelatedPeople as coreGetRelatedPeople, getRelatedTags as coreGetRelatedTags, } from './utils/componentUtils';
4
5
  import { createMarketingSiteSitemapEntries, } from './utils/marketingSiteSitemap';
5
6
  import { coreGetPreviewAssetIdProps, coreGetPreviewFieldIdProps, coreGetPreviewParentProps, } from './utils/previewUtils';
6
7
  export function createAppHelpers(config) {
@@ -144,7 +145,21 @@ export function createAppHelpers(config) {
144
145
  */
145
146
  getRelatedPeople(information, contentContext, count, options) {
146
147
  const fullOptions = buildOptions(options);
147
- return coreGetRelatedPeople(information, contentContext, converterContext, getConfig(fullOptions.preview), count, fullOptions);
148
+ return coreGetRelatedPeople(information, contentContext, converterContext, getConfig(fullOptions.preview), count, fullOptions, (linkOptions) => getAllPersonLinks(linkOptions));
149
+ },
150
+ /**
151
+ * Get related tags for a collection.
152
+ * Uses the generic core helper with project-specific config.
153
+ */
154
+ getRelatedTags(information, contentContext, count, options) {
155
+ const fullOptions = buildOptions(options);
156
+ return coreGetRelatedTags(information, contentContext, converterContext, getConfig(fullOptions.preview), count, fullOptions, async (linkOptions) => {
157
+ const res = await getAllTagLinks(linkOptions);
158
+ return {
159
+ data: res.data.filter(isTagLink),
160
+ errors: res.errors,
161
+ };
162
+ });
148
163
  },
149
164
  // ============================================================================
150
165
  // Content Fetch Functions (with error responses)
@@ -1 +1 @@
1
- {"version":3,"file":"app-helpers.js","sourceRoot":"","sources":["../src/app-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-helpers.js","sourceRoot":"","sources":["../src/app-helpers.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export type { RelatedArticlesOptions } from '@se-studio/contentful-rest-api';
3
3
  export { filterRelatedArticles } from '@se-studio/contentful-rest-api';
4
4
  export type { AppHelpers, AppHelpersConfig, AppHelpersWithSitemap, } from '../app-helpers';
5
5
  export { createAppHelpers } from '../app-helpers';
6
- export { getRelatedArticles, getRelatedPeople } from '../utils/componentUtils';
6
+ export { getRelatedArticles, getRelatedPeople, getRelatedTags, } from '../utils/componentUtils';
7
7
  export type { RouteHandlersConfig } from './route-handlers';
8
8
  export { createRouteHandlers } from './route-handlers';
9
9
  export type { CmsPagePreparationResult, PrepareArticlePageInput, PrepareArticleTypePageInput, PrepareArticleTypesIndexPageInput, PrepareArticleTypeTagPageInput, PrepareCustomTypePageInput, PreparePageInput, PreparePersonPageInput, PrepareTagPageInput, PrepareTagsIndexPageInput, PrepareTeamIndexPageInput, RouteHandlersPrepareHooks, } from './route-handlers-types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,iCAAiC,EACjC,8BAA8B,EAC9B,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,iCAAiC,EACjC,8BAA8B,EAC9B,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import 'server-only';
2
2
  export { filterRelatedArticles } from '@se-studio/contentful-rest-api';
3
3
  export { createAppHelpers } from '../app-helpers';
4
- export { getRelatedArticles, getRelatedPeople } from '../utils/componentUtils';
4
+ export { getRelatedArticles, getRelatedPeople, getRelatedTags, } from '../utils/componentUtils';
5
5
  export { createRouteHandlers } from './route-handlers';
6
6
  export { toBreadcrumbOptions } from './route-types';
7
7
  export { canRenderArticleTypeTagRoute, canRenderTagIndex } from './tag-index-guards';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAuBvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAMvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAuBvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseAllRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9D,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAQD,eAAO,MAAM,qBAAqB,GAAI,wOAanC,0BAA0B,gCAqE5B,CAAC"}
1
+ {"version":3,"file":"ShowcaseAllRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAIrD,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9D,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAQD,eAAO,MAAM,qBAAqB,GAAI,wOAanC,0BAA0B,gCAuE5B,CAAC"}
@@ -3,6 +3,7 @@ import { CmsCollection } from '../../components/CmsCollection';
3
3
  import { CmsComponent } from '../../components/CmsComponent';
4
4
  import { createMockShowcaseData, getMergedShowcaseDefaultState } from '../mockFactory';
5
5
  import { IframeHeightReporter } from './IframeHeightReporter';
6
+ import { ShowcaseAnimationRoot } from './ShowcaseAnimationRoot';
6
7
  const DEFAULT_MOCK_CONTEXT = {
7
8
  current: { type: 'Page', id: 'mock-page' },
8
9
  pageContext: {},
@@ -17,18 +18,18 @@ export const ShowcaseAllRenderPage = ({ searchParams, rendererConfig, componentF
17
18
  : Object.keys(rendererConfig.collectionMap)
18
19
  .filter((type) => !excludedCollections.includes(type))
19
20
  .sort();
20
- return (_jsxs("div", { className: "bg-[#f3f4f6]", children: [types.map((type) => {
21
- const mergedDefaultState = getMergedShowcaseDefaultState(defaultState, type, mode, componentMockMap, collectionMockMap);
22
- const mockData = createMockShowcaseData(type, mode, mergedDefaultState, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, componentMockMap, collectionMockMap, collectionCardMockMap, new Set());
23
- return (_jsxs("div", { id: `component-${type.replace(/\s+/g, '-').toLowerCase()}`, children: [_jsxs("div", { className: "sticky top-0 z-[10] px-[16px] py-[8px] bg-[#1f2937] text-[#ffffff] text-[14px] font-[600] border-b-[2px] border-[#3b82f6]", children: [_jsx("span", { className: "text-[#9ca3af] mr-[8px]", children: mode === 'component' ? 'Component:' : 'Collection:' }), type] }), _jsx("div", { children: mode === 'component' ? (_jsx(CmsComponent
24
- // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
25
- , {
21
+ return (_jsx(ShowcaseAnimationRoot, { children: _jsxs("div", { className: "bg-[#f3f4f6]", children: [types.map((type) => {
22
+ const mergedDefaultState = getMergedShowcaseDefaultState(defaultState, type, mode, componentMockMap, collectionMockMap);
23
+ const mockData = createMockShowcaseData(type, mode, mergedDefaultState, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, componentMockMap, collectionMockMap, collectionCardMockMap, new Set());
24
+ return (_jsxs("div", { id: `component-${type.replace(/\s+/g, '-').toLowerCase()}`, children: [_jsxs("div", { className: "sticky top-0 z-[10] px-[16px] py-[8px] bg-[#1f2937] text-[#ffffff] text-[14px] font-[600] border-b-[2px] border-[#3b82f6]", children: [_jsx("span", { className: "text-[#9ca3af] mr-[8px]", children: mode === 'component' ? 'Component:' : 'Collection:' }), type] }), _jsx("div", { children: mode === 'component' ? (_jsx(CmsComponent
26
25
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
27
- information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) : (_jsx(CmsCollection
28
- // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
29
- , {
26
+ , {
27
+ // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
28
+ information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) : (_jsx(CmsCollection
30
29
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
31
- information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) })] }, type));
32
- }), _jsx(IframeHeightReporter, {})] }));
30
+ , {
31
+ // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
32
+ information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) })] }, type));
33
+ }), _jsx(IframeHeightReporter, {})] }) }));
33
34
  };
34
35
  //# sourceMappingURL=ShowcaseAllRenderPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseAllRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAiB9D,MAAM,oBAAoB,GAAoB;IAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,GAAG,oBAAoB,EACrC,gBAAgB,GAAG,EAAE,EACrB,iBAAiB,GAAG,EAAE,EACtB,qBAAqB,GAAG,EAAE,EAC1B,kBAAkB,GAAG,EAAE,EACvB,mBAAmB,GAAG,EAAE,GACG,EAAE,EAAE;IAC/B,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAE9E,MAAM,KAAK,GACT,IAAI,KAAK,WAAW;QAClB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;aACrC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACpD,IAAI,EAAE;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACrD,IAAI,EAAE,CAAC;IAEhB,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,kBAAkB,GAAG,6BAA6B,CACtD,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;gBACF,MAAM,QAAQ,GAAG,sBAAsB,CACrC,IAAI,EACJ,IAAI,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,IAAI,GAAG,EAAE,CACV,CAAC;gBAEF,OAAO,CACL,eAAgB,EAAE,EAAE,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,aAExE,eAAK,SAAS,EAAC,2HAA2H,aACxI,eAAM,SAAS,EAAC,yBAAyB,YACtC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,GAC/C,EACN,IAAI,IACD,EAGN,wBACG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CACtB,KAAC,YAAY;4BACX,2EAA2E;;gCAA3E,2EAA2E;gCAC3E,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,aAAa;4BACZ,2EAA2E;;gCAA3E,2EAA2E;gCAC3E,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,GACG,KA1BE,IAAI,CA2BR,CACP,CAAC;YACJ,CAAC,CAAC,EACF,KAAC,oBAAoB,KAAG,IACpB,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ShowcaseAllRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /**
3
+ * Unlocks scroll-gated CSS animations on showcase render routes.
4
+ * Sites using `animate-when-seen` pause animations until an ancestor has `data-seen`
5
+ * (normally set by ClientMonitor on production pages). Showcase routes omit ClientMonitor.
6
+ */
7
+ export declare function ShowcaseAnimationRoot({ children }: PropsWithChildren): import("react").JSX.Element;
8
+ //# sourceMappingURL=ShowcaseAnimationRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowcaseAnimationRoot.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAnimationRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAMpE"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Unlocks scroll-gated CSS animations on showcase render routes.
4
+ * Sites using `animate-when-seen` pause animations until an ancestor has `data-seen`
5
+ * (normally set by ClientMonitor on production pages). Showcase routes omit ClientMonitor.
6
+ */
7
+ export function ShowcaseAnimationRoot({ children }) {
8
+ return (_jsx("div", { "data-seen": true, "data-visible": "true", "data-cms-showcase": true, children: children }));
9
+ }
10
+ //# sourceMappingURL=ShowcaseAnimationRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowcaseAnimationRoot.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAnimationRoot.tsx"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAqB;IACnE,OAAO,CACL,iDAA4B,MAAM,uCAC/B,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAIrD,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9D,kGAAkG;IAClG,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAQD,eAAO,MAAM,kBAAkB,GAAI,yMAYhC,uBAAuB,gCAsEzB,CAAC"}
1
+ {"version":3,"file":"ShowcaseRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKrD,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9D,kGAAkG;IAClG,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAQD,eAAO,MAAM,kBAAkB,GAAI,yMAYhC,uBAAuB,gCAsEzB,CAAC"}
@@ -4,6 +4,7 @@ import { CmsComponent } from '../../components/CmsComponent';
4
4
  import { createMockShowcaseData, getMergedShowcaseDefaultState, parseShowcaseControls, } from '../mockFactory';
5
5
  import { SHOWCASE_CONTROL_KEYS } from '../types';
6
6
  import { IframeHeightReporter } from './IframeHeightReporter';
7
+ import { ShowcaseAnimationRoot } from './ShowcaseAnimationRoot';
7
8
  const DEFAULT_MOCK_CONTEXT = {
8
9
  current: { type: 'Page', id: 'mock-page' },
9
10
  pageContext: {},
@@ -30,7 +31,7 @@ export const ShowcaseRenderPage = ({ searchParams, rendererConfig, componentFiel
30
31
  if (!mockData) {
31
32
  return _jsx("div", { className: "p-4 text-red-500 text-sm", children: "No component selected" });
32
33
  }
33
- return (_jsxs("div", { children: [mode === 'component' ? (_jsx(CmsComponent
34
+ return (_jsxs(ShowcaseAnimationRoot, { children: [mode === 'component' ? (_jsx(CmsComponent
34
35
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
35
36
  , {
36
37
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShowcaseRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { ControlsWrapper } from './components/ControlsWrapper';
4
4
  export { PreviewPanel } from './components/PreviewPanel';
5
5
  export { ScaledIframe } from './components/ScaledIframe';
6
6
  export { ShowcaseAllRenderPage } from './components/ShowcaseAllRenderPage';
7
+ export { ShowcaseAnimationRoot } from './components/ShowcaseAnimationRoot';
7
8
  export { ShowcasePage } from './components/ShowcasePage';
8
9
  export { ShowcaseRenderPage } from './components/ShowcaseRenderPage';
9
10
  export { type ShowcaseView, TopBar } from './components/TopBar';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -4,6 +4,7 @@ export { ControlsWrapper } from './components/ControlsWrapper';
4
4
  export { PreviewPanel } from './components/PreviewPanel';
5
5
  export { ScaledIframe } from './components/ScaledIframe';
6
6
  export { ShowcaseAllRenderPage } from './components/ShowcaseAllRenderPage';
7
+ export { ShowcaseAnimationRoot } from './components/ShowcaseAnimationRoot';
7
8
  export { ShowcasePage } from './components/ShowcasePage';
8
9
  export { ShowcaseRenderPage } from './components/ShowcaseRenderPage';
9
10
  export { TopBar } from './components/TopBar';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAqB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAqB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -1,45 +1,32 @@
1
1
  import 'server-only';
2
2
  import { type BaseConverterContext, type CmsResponse, type ContentfulConfig, type FetchOptions, type IContentfulCollection } from '@se-studio/contentful-rest-api';
3
- import { type BaseCollectionContent, type IArticleLink, type IContentContext, type IPersonLink } from '@se-studio/core-data-types';
3
+ import { type BaseCollectionContent, type IArticleLink, type IContentContext, type IPersonLink, type ITagLink } from '@se-studio/core-data-types';
4
4
  type FetchArticleLinksFn = (options: FetchOptions) => Promise<CmsResponse<IArticleLink[]>>;
5
+ type FetchTagLinksFn = (options: FetchOptions) => Promise<CmsResponse<ITagLink[]>>;
5
6
  /**
6
7
  * Generic helper to get related articles for a collection.
7
8
  *
8
- * This function orchestrates the fetching of related articles by:
9
- * 1. Extracting hard-coded articles from collection contents
10
- * 2. Extracting filter criteria from collection links and contents (tags, article type, authors)
11
- * 3. Applying fallback criteria from page context when links omit filters (article type from
12
- * context or current article, current person, tag index `pageContext.tag`, or current
13
- * article tags on article detail pages)
14
- * 4. Fetching additional articles if needed to reach the requested count
15
- * 5. Returning manual articles followed by fetched articles
16
- *
17
- * @param information - The collection information containing contents and links
18
- * @param contentContext - The content context containing page context
19
- * @param converterContext - The project-specific converter context (contains URL rules)
20
- * @param config - Contentful configuration
21
- * @param count - Maximum number of articles to return (optional)
22
- * @param options - Optional fetch options for preview mode and caching
23
- * @returns CmsResponse with article links (manual first, then fetched) and any errors
9
+ * Curated article refs in `contents` provide IDs and order only; display data is always
10
+ * resolved from `contentfulAllArticleLinks` (or injected `fetchArticleLinks`) so the
11
+ * `article` cache tag revalidates when entries are published.
24
12
  */
25
13
  export declare function getRelatedArticles<T extends BaseCollectionContent>(information: IContentfulCollection<T>, contentContext: IContentContext, converterContext: BaseConverterContext, config: ContentfulConfig, count: number | undefined, options: FetchOptions, fetchArticleLinks?: FetchArticleLinksFn): Promise<CmsResponse<IArticleLink[]>>;
26
14
  /**
27
15
  * Generic helper to get related people for a collection.
28
16
  *
29
- * This function orchestrates the fetching of related people by:
30
- * 1. Extracting hard-coded people from collection contents
31
- * 2. Fetching additional people if needed to reach the requested count
32
- * 3. Excluding the current person (if on a person page) and manually added people
33
- * 4. Returning manual people followed by fetched people
17
+ * Curated person refs in `contents` provide IDs and order only; display data is always
18
+ * resolved from `contentfulAllPersonLinks` so the `person` cache tag revalidates on publish.
19
+ */
20
+ export declare function getRelatedPeople<T extends BaseCollectionContent>(information: IContentfulCollection<T>, contentContext: IContentContext, converterContext: BaseConverterContext, config: ContentfulConfig, count: number, options: FetchOptions, fetchPersonLinks?: (options: FetchOptions) => Promise<CmsResponse<IPersonLink[]>>): Promise<CmsResponse<IPersonLink[]>>;
21
+ /**
22
+ * Generic helper to get related tags for a collection.
23
+ *
24
+ * Curated tag refs in `contents` provide IDs and order only; display data is always
25
+ * resolved from `contentfulAllTagLinks` so the `tag` cache tag revalidates on publish.
34
26
  *
35
- * @param information - The collection information containing contents
36
- * @param contentContext - The content context containing page context
37
- * @param converterContext - The project-specific converter context
38
- * @param config - Contentful configuration
39
- * @param count - Maximum number of people to return (default: 4)
40
- * @param options - Optional fetch options for preview mode and caching
41
- * @returns CmsResponse with person links (manual first, then fetched) and any errors
27
+ * When `contents` has no tag picks, falls back to `pageContext.tag` then the current
28
+ * article's tags (article detail pages). When neither is set, auto-fills from the tag listing.
42
29
  */
43
- export declare function getRelatedPeople<T extends BaseCollectionContent>(information: IContentfulCollection<T>, contentContext: IContentContext, converterContext: BaseConverterContext, config: ContentfulConfig, count: number, options: FetchOptions): Promise<CmsResponse<IPersonLink[]>>;
30
+ export declare function getRelatedTags<T extends BaseCollectionContent>(information: IContentfulCollection<T>, contentContext: IContentContext, converterContext: BaseConverterContext, config: ContentfulConfig, count: number, options: FetchOptions, fetchTagLinks?: FetchTagLinksFn): Promise<CmsResponse<ITagLink[]>>;
44
31
  export {};
45
32
  //# sourceMappingURL=componentUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAGrB,KAAK,YAAY,EAEjB,KAAK,qBAAqB,EAE3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAKjB,MAAM,4BAA4B,CAAC;AAgHpC,KAAK,mBAAmB,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,qBAAqB,EACtE,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACrC,cAAc,EAAE,eAAe,EAC/B,gBAAgB,EAAE,oBAAoB,EACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,YAAY,EACrB,iBAAiB,CAAC,EAAE,mBAAmB,GACtC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CA0FtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,qBAAqB,EACpE,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACrC,cAAc,EAAE,eAAe,EAC/B,gBAAgB,EAAE,oBAAoB,EACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAsCrC"}
1
+ {"version":3,"file":"componentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAIrB,KAAK,YAAY,EAEjB,KAAK,qBAAqB,EAE3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,EAKd,MAAM,4BAA4B,CAAC;AA8HpC,KAAK,mBAAmB,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC3F,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEnF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,qBAAqB,EACtE,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACrC,cAAc,EAAE,eAAe,EAC/B,gBAAgB,EAAE,oBAAoB,EACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,YAAY,EACrB,iBAAiB,CAAC,EAAE,mBAAmB,GACtC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAwFtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,qBAAqB,EACpE,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACrC,cAAc,EAAE,eAAe,EAC/B,gBAAgB,EAAE,oBAAoB,EACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EACrB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,GAChF,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAuCrC;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,qBAAqB,EAClE,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACrC,cAAc,EAAE,eAAe,EAC/B,gBAAgB,EAAE,oBAAoB,EACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EACrB,aAAa,CAAC,EAAE,eAAe,GAC9B,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAsDlC"}
@@ -1,6 +1,7 @@
1
1
  import 'server-only';
2
- import { contentfulAllArticleLinks, contentfulAllPersonLinks, filterRelatedArticles, } from '@se-studio/contentful-rest-api';
2
+ import { contentfulAllArticleLinks, contentfulAllPersonLinks, contentfulAllTagLinks, filterRelatedArticles, } from '@se-studio/contentful-rest-api';
3
3
  import { getArticleAuthors, isArticleLink, isArticleTypeLink, isPersonLink, isTagLink, } from '@se-studio/core-data-types';
4
+ import { extractCuratedLinkIds, resolveCuratedLinksFromListing } from './linkResolution';
4
5
  /**
5
6
  * Extract filter criteria (article types, tags, authors) from collection links and contents.
6
7
  * Internal helper for getRelatedArticles.
@@ -70,6 +71,18 @@ function applyFallbackCriteria(criteria, contentContext) {
70
71
  }
71
72
  }
72
73
  }
74
+ /**
75
+ * Tag IDs to resolve when collection contents omit manual tag picks.
76
+ * Internal helper for getRelatedTags.
77
+ */
78
+ function getRelatedTagsFallbackIds(contentContext) {
79
+ const pageTag = contentContext.pageContext?.tag;
80
+ if (pageTag?.id) {
81
+ return [pageTag.id];
82
+ }
83
+ const article = contentContext.pageContext?.article;
84
+ return article?.tags?.map((t) => t.id).filter((id) => Boolean(id)) ?? [];
85
+ }
73
86
  /**
74
87
  * Normalize a caught error to CmsError for inclusion in CmsResponse.
75
88
  */
@@ -97,38 +110,19 @@ function shouldFetchArticles(isAll, remainingSlots, criteria) {
97
110
  /**
98
111
  * Generic helper to get related articles for a collection.
99
112
  *
100
- * This function orchestrates the fetching of related articles by:
101
- * 1. Extracting hard-coded articles from collection contents
102
- * 2. Extracting filter criteria from collection links and contents (tags, article type, authors)
103
- * 3. Applying fallback criteria from page context when links omit filters (article type from
104
- * context or current article, current person, tag index `pageContext.tag`, or current
105
- * article tags on article detail pages)
106
- * 4. Fetching additional articles if needed to reach the requested count
107
- * 5. Returning manual articles followed by fetched articles
108
- *
109
- * @param information - The collection information containing contents and links
110
- * @param contentContext - The content context containing page context
111
- * @param converterContext - The project-specific converter context (contains URL rules)
112
- * @param config - Contentful configuration
113
- * @param count - Maximum number of articles to return (optional)
114
- * @param options - Optional fetch options for preview mode and caching
115
- * @returns CmsResponse with article links (manual first, then fetched) and any errors
113
+ * Curated article refs in `contents` provide IDs and order only; display data is always
114
+ * resolved from `contentfulAllArticleLinks` (or injected `fetchArticleLinks`) so the
115
+ * `article` cache tag revalidates when entries are published.
116
116
  */
117
117
  export async function getRelatedArticles(information, contentContext, converterContext, config, count, options, fetchArticleLinks) {
118
118
  const isAll = typeof count === 'undefined';
119
- // Step 1: Extract hard-coded articles from contents
120
- const manualArticles = information.contents?.filter((item) => isArticleLink(item)) ?? [];
119
+ const manualArticleIds = extractCuratedLinkIds(information.contents, isArticleLink);
121
120
  if (process.env.LOG_RELATED_ARTICLES) {
122
- console.log(`[RelatedArticles] manual articles: ${manualArticles.length} (ids: ${manualArticles.map((a) => a.id).join(', ') || 'none'})`);
123
- }
124
- // Early return if we have enough manual articles
125
- if (!isAll && count !== undefined && manualArticles.length >= count) {
126
- return { data: manualArticles.slice(0, count), errors: [] };
121
+ console.log(`[RelatedArticles] manual article ids: ${manualArticleIds.length} (ids: ${manualArticleIds.join(', ') || 'none'})`);
127
122
  }
128
123
  if (process.env.LOG_RELATED_ARTICLES) {
129
124
  console.log('[RelatedArticles] contents', information.contents);
130
125
  }
131
- // Step 2: Extract and apply filter criteria from links and contents (tags, article types, authors)
132
126
  const criteria = extractFilterCriteria(information.links, information.contents);
133
127
  if (process.env.LOG_RELATED_ARTICLES) {
134
128
  console.log(`[RelatedArticles] criteria (raw): articleTypes=${criteria.articleTypeIds.join(',') || 'none'} tags=${criteria.tagIds.join(',') || 'none'} authors=${criteria.authorIds.join(',') || 'none'}`);
@@ -137,17 +131,14 @@ export async function getRelatedArticles(information, contentContext, converterC
137
131
  if (process.env.LOG_RELATED_ARTICLES) {
138
132
  console.log(`[RelatedArticles] criteria (after fallback): articleTypes=${criteria.articleTypeIds.join(',') || 'none'} tags=${criteria.tagIds.join(',') || 'none'} authors=${criteria.authorIds.join(',') || 'none'}`);
139
133
  }
140
- // Step 3: Build exclusion list
141
134
  const currentArticle = contentContext.pageContext?.article;
142
- const excludeArticleIds = [
143
- ...manualArticles.map((article) => article.id),
144
- ...(currentArticle ? [currentArticle.id] : []),
145
- ];
146
- // Step 4: Fetch additional articles if needed
147
- const remainingSlots = isAll || count === undefined ? undefined : count - manualArticles.length;
135
+ const excludeArticleIds = [...manualArticleIds, ...(currentArticle ? [currentArticle.id] : [])];
136
+ const remainingSlots = isAll || count === undefined ? undefined : count - manualArticleIds.length;
137
+ const needsListingFetch = manualArticleIds.length > 0 || shouldFetchArticles(isAll, remainingSlots, criteria);
138
+ let allArticleLinks = [];
148
139
  let fetchedArticles = [];
149
140
  let errors = [];
150
- if (shouldFetchArticles(isAll, remainingSlots, criteria)) {
141
+ if (needsListingFetch) {
151
142
  if (process.env.LOG_RELATED_ARTICLES) {
152
143
  console.log(`[RelatedArticles] fetching all article links (remainingSlots=${remainingSlots ?? 'all'}, excludeIds=${excludeArticleIds.join(',') || 'none'})`);
153
144
  }
@@ -158,76 +149,120 @@ export async function getRelatedArticles(information, contentContext, converterC
158
149
  fetchProfile: opts.fetchProfile ?? 'listing',
159
150
  })))(options);
160
151
  errors = response.errors;
161
- const filterOptions = {
162
- excludeArticleIds,
163
- tagIds: criteria.tagIds,
164
- articleTypeIds: criteria.articleTypeIds,
165
- authorIds: criteria.authorIds,
166
- count: remainingSlots,
167
- };
168
- fetchedArticles = filterRelatedArticles(response.data, filterOptions);
169
- if (process.env.LOG_RELATED_ARTICLES) {
170
- console.log(`[RelatedArticles] after filter: ${fetchedArticles.length} articles`);
152
+ allArticleLinks = response.data;
153
+ if (shouldFetchArticles(isAll, remainingSlots, criteria)) {
154
+ const filterOptions = {
155
+ excludeArticleIds,
156
+ tagIds: criteria.tagIds,
157
+ articleTypeIds: criteria.articleTypeIds,
158
+ authorIds: criteria.authorIds,
159
+ count: remainingSlots,
160
+ };
161
+ fetchedArticles = filterRelatedArticles(allArticleLinks, filterOptions);
162
+ if (process.env.LOG_RELATED_ARTICLES) {
163
+ console.log(`[RelatedArticles] after filter: ${fetchedArticles.length} articles`);
164
+ }
171
165
  }
172
166
  }
173
167
  catch (error) {
174
168
  errors = [toCmsError(error)];
175
169
  }
176
170
  }
177
- // Step 5: Return manual articles followed by fetched articles
178
- const data = [...manualArticles, ...fetchedArticles].slice(0, count);
171
+ const resolvedManual = resolveCuratedLinksFromListing(manualArticleIds, allArticleLinks);
172
+ const data = [...resolvedManual, ...fetchedArticles].slice(0, count);
179
173
  if (process.env.LOG_RELATED_ARTICLES) {
180
- console.log(`[RelatedArticles] returning ${data.length} articles (${manualArticles.length} manual + ${fetchedArticles.length} fetched)`);
174
+ console.log(`[RelatedArticles] returning ${data.length} articles (${resolvedManual.length} manual + ${fetchedArticles.length} fetched)`);
181
175
  }
182
176
  return { data, errors };
183
177
  }
184
178
  /**
185
179
  * Generic helper to get related people for a collection.
186
180
  *
187
- * This function orchestrates the fetching of related people by:
188
- * 1. Extracting hard-coded people from collection contents
189
- * 2. Fetching additional people if needed to reach the requested count
190
- * 3. Excluding the current person (if on a person page) and manually added people
191
- * 4. Returning manual people followed by fetched people
192
- *
193
- * @param information - The collection information containing contents
194
- * @param contentContext - The content context containing page context
195
- * @param converterContext - The project-specific converter context
196
- * @param config - Contentful configuration
197
- * @param count - Maximum number of people to return (default: 4)
198
- * @param options - Optional fetch options for preview mode and caching
199
- * @returns CmsResponse with person links (manual first, then fetched) and any errors
181
+ * Curated person refs in `contents` provide IDs and order only; display data is always
182
+ * resolved from `contentfulAllPersonLinks` so the `person` cache tag revalidates on publish.
200
183
  */
201
- export async function getRelatedPeople(information, contentContext, converterContext, config, count, options) {
202
- // Step 1: Extract hard-coded people from contents
203
- const manualPeople = information.contents?.filter((item) => isPersonLink(item)) ?? [];
204
- // Early return if we have enough manual people
205
- if (manualPeople.length >= count) {
206
- return { data: manualPeople.slice(0, count), errors: [] };
207
- }
208
- // Step 2: Build exclusion list
184
+ export async function getRelatedPeople(information, contentContext, converterContext, config, count, options, fetchPersonLinks) {
185
+ const manualPeopleIds = extractCuratedLinkIds(information.contents, isPersonLink);
209
186
  const currentPerson = contentContext.pageContext?.person;
210
187
  const excludePersonIds = new Set([
211
- ...manualPeople.map((person) => person.id),
188
+ ...manualPeopleIds,
212
189
  ...(currentPerson ? [currentPerson.id] : []),
213
190
  ]);
214
- // Step 3: Fetch additional people if needed
215
- const remainingSlots = count - manualPeople.length;
216
- let fetchedPeople = [];
191
+ const remainingSlots = count - manualPeopleIds.length;
192
+ const needsListingFetch = manualPeopleIds.length > 0 || remainingSlots > 0;
193
+ if (!needsListingFetch) {
194
+ return { data: [], errors: [] };
195
+ }
196
+ let errors = [];
197
+ let allPeople = [];
198
+ try {
199
+ const response = await (fetchPersonLinks ?? ((opts) => contentfulAllPersonLinks(converterContext, config, opts)))(options);
200
+ errors = response.errors;
201
+ allPeople = response.data;
202
+ }
203
+ catch (error) {
204
+ return { data: [], errors: [toCmsError(error)] };
205
+ }
206
+ const resolvedManual = resolveCuratedLinksFromListing(manualPeopleIds, allPeople);
207
+ const fetchedPeople = allPeople
208
+ .filter((person) => isPersonLink(person) && !excludePersonIds.has(person.id) && person.indexed !== false)
209
+ .slice(0, Math.max(0, remainingSlots));
210
+ const data = [...resolvedManual, ...fetchedPeople].slice(0, count);
211
+ return { data, errors };
212
+ }
213
+ /**
214
+ * Generic helper to get related tags for a collection.
215
+ *
216
+ * Curated tag refs in `contents` provide IDs and order only; display data is always
217
+ * resolved from `contentfulAllTagLinks` so the `tag` cache tag revalidates on publish.
218
+ *
219
+ * When `contents` has no tag picks, falls back to `pageContext.tag` then the current
220
+ * article's tags (article detail pages). When neither is set, auto-fills from the tag listing.
221
+ */
222
+ export async function getRelatedTags(information, contentContext, converterContext, config, count, options, fetchTagLinks) {
223
+ const manualTagIds = extractCuratedLinkIds(information.contents, isTagLink);
224
+ const fallbackCuratedIds = manualTagIds.length > 0 ? [] : getRelatedTagsFallbackIds(contentContext);
225
+ const curatedIds = manualTagIds.length > 0 ? manualTagIds : fallbackCuratedIds;
226
+ const useListingAutofill = manualTagIds.length === 0 && fallbackCuratedIds.length === 0;
227
+ const currentTag = contentContext.pageContext?.tag;
228
+ const excludeTagIds = new Set([...curatedIds, ...(currentTag ? [currentTag.id] : [])]);
229
+ const remainingSlots = count - curatedIds.length;
230
+ const needsListingFetch = curatedIds.length > 0 || remainingSlots > 0 || useListingAutofill;
231
+ if (!needsListingFetch) {
232
+ return { data: [], errors: [] };
233
+ }
217
234
  let errors = [];
235
+ let allTags = [];
218
236
  try {
219
- const response = await contentfulAllPersonLinks(converterContext, config, options);
237
+ const response = await (fetchTagLinks ??
238
+ (async (opts) => {
239
+ const res = await contentfulAllTagLinks(converterContext, config, opts);
240
+ return {
241
+ data: res.data.filter(isTagLink),
242
+ errors: res.errors,
243
+ };
244
+ }))(options);
220
245
  errors = response.errors;
221
- // Filter out excluded people
222
- fetchedPeople = response.data
223
- .filter((person) => isPersonLink(person) && !excludePersonIds.has(person.id) && person.indexed !== false)
224
- .slice(0, remainingSlots);
246
+ allTags = response.data;
225
247
  }
226
248
  catch (error) {
227
- errors = [toCmsError(error)];
249
+ return { data: [], errors: [toCmsError(error)] };
250
+ }
251
+ const resolvedCurated = resolveCuratedLinksFromListing(curatedIds, allTags);
252
+ let fetchedTags = [];
253
+ if (useListingAutofill && resolvedCurated.length < count) {
254
+ const slots = count - resolvedCurated.length;
255
+ fetchedTags = allTags
256
+ .filter((tag) => !excludeTagIds.has(tag.id) && tag.indexed !== false)
257
+ .slice(0, slots);
258
+ }
259
+ else if (!useListingAutofill && manualTagIds.length > 0 && resolvedCurated.length < count) {
260
+ const slots = count - resolvedCurated.length;
261
+ fetchedTags = allTags
262
+ .filter((tag) => !excludeTagIds.has(tag.id) && tag.indexed !== false)
263
+ .slice(0, slots);
228
264
  }
229
- // Step 4: Return manual people followed by fetched people
230
- const data = [...manualPeople, ...fetchedPeople].slice(0, count);
265
+ const data = [...resolvedCurated, ...fetchedTags].slice(0, count);
231
266
  return { data, errors };
232
267
  }
233
268
  //# sourceMappingURL=componentUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../src/utils/componentUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../src/utils/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EAKL,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EAErB,qBAAqB,GAGtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,iBAAiB,EAMjB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,SAAS,GACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAWzF;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,KAA+B,EAC/B,QAAsC;IAEtC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,QAAwB,EAAE,cAA+B;IACtF,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC;QAC5D,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC;YACpD,IAAI,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;gBAC7B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC;QAClD,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;YACf,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;wBACd,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5C,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC;YACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC;YACpD,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,cAA+B;IAChE,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC;IAChD,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC;IACpD,OAAO,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO;QACL,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,KAAc,EACd,cAAkC,EAClC,QAAwB;IAExB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,CAAC,CAAC;IACpE,MAAM,UAAU,GACd,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAClC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,OAAO,QAAQ,IAAI,UAAU,CAAC;AAChC,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAqC,EACrC,cAA+B,EAC/B,gBAAsC,EACtC,MAAwB,EACxB,KAAyB,EACzB,OAAqB,EACrB,iBAAuC;IAEvC,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,WAAW,CAAC;IAE3C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,yCAAyC,gBAAgB,CAAC,MAAM,UAAU,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CACnH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEhF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,kDAAkD,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,YAAY,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAC9L,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEhD,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,6DAA6D,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,YAAY,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CACzM,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC;IAC3D,MAAM,iBAAiB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhG,MAAM,cAAc,GAAG,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAElG,MAAM,iBAAiB,GACrB,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAEtF,IAAI,eAAe,GAAmB,EAAE,CAAC;IACzC,IAAI,eAAe,GAAmB,EAAE,CAAC;IACzC,IAAI,MAAM,GAAe,EAAE,CAAC;IAE5B,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,gEAAgE,cAAc,IAAI,KAAK,gBAAgB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAChJ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CACrB,iBAAiB;gBACjB,CAAC,CAAC,IAAI,EAAE,EAAE,CACR,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,EAAE;oBAClD,GAAG,IAAI;oBACP,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;iBAC7C,CAAC,CAAC,CACN,CAAC,OAAO,CAAC,CAAC;YACX,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzB,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEhC,IAAI,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzD,MAAM,aAAa,GAA2B;oBAC5C,iBAAiB;oBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,KAAK,EAAE,cAAc;iBACtB,CAAC;gBACF,eAAe,GAAG,qBAAqB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,eAAe,CAAC,MAAM,WAAW,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAErE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,+BAA+B,IAAI,CAAC,MAAM,cAAc,cAAc,CAAC,MAAM,aAAa,eAAe,CAAC,MAAM,WAAW,CAC5H,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAqC,EACrC,cAA+B,EAC/B,gBAAsC,EACtC,MAAwB,EACxB,KAAa,EACb,OAAqB,EACrB,gBAAiF;IAEjF,MAAM,eAAe,GAAG,qBAAqB,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAElF,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC;IACzD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;QAC/B,GAAG,eAAe;QAClB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;IACtD,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;IAE3E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,GAAe,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAkB,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CACrB,gBAAgB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CACzF,CAAC,OAAO,CAAC,CAAC;QACX,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzB,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,cAAc,GAAG,8BAA8B,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,SAAS;SAC5B,MAAM,CACL,CAAC,MAAM,EAAyB,EAAE,CAChC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CACvF;SACA,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAqC,EACrC,cAA+B,EAC/B,gBAAsC,EACtC,MAAwB,EACxB,KAAa,EACb,OAAqB,EACrB,aAA+B;IAE/B,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC/E,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;IAExF,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvF,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;IACjD,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,kBAAkB,CAAC;IAE5F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,GAAe,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAe,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CACrB,aAAa;YACb,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACd,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxE,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAChC,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC,OAAO,CAAC,CAAC;QACX,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzB,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,eAAe,GAAG,8BAA8B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE5E,IAAI,WAAW,GAAe,EAAE,CAAC;IACjC,IAAI,kBAAkB,IAAI,eAAe,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;QAC7C,WAAW,GAAG,OAAO;aAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;aACpE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;SAAM,IAAI,CAAC,kBAAkB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC5F,MAAM,KAAK,GAAG,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;QAC7C,WAAW,GAAG,OAAO;aAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;aACpE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Extract curated entry IDs from collection contents (order preserved).
3
+ * Used by getRelated* helpers — contents provide selection/order only, not display data.
4
+ */
5
+ export declare function extractCuratedLinkIds<T extends {
6
+ id: string;
7
+ }>(contents: readonly unknown[] | undefined, isLink: (item: unknown) => item is T): string[];
8
+ /**
9
+ * Resolve curated IDs to fresh link objects from a listing fetch (getAll*Links).
10
+ * Omits IDs not found in the listing (unpublished, unindexed, or conversion errors).
11
+ */
12
+ export declare function resolveCuratedLinksFromListing<T extends {
13
+ id: string;
14
+ }>(curatedIds: readonly string[], allLinks: readonly T[]): T[];
15
+ //# sourceMappingURL=linkResolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkResolution.d.ts","sourceRoot":"","sources":["../../src/utils/linkResolution.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5D,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACxC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACnC,MAAM,EAAE,CAEV;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACrE,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,QAAQ,EAAE,SAAS,CAAC,EAAE,GACrB,CAAC,EAAE,CAML"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Extract curated entry IDs from collection contents (order preserved).
3
+ * Used by getRelated* helpers — contents provide selection/order only, not display data.
4
+ */
5
+ export function extractCuratedLinkIds(contents, isLink) {
6
+ return (contents ?? []).filter(isLink).map((item) => item.id);
7
+ }
8
+ /**
9
+ * Resolve curated IDs to fresh link objects from a listing fetch (getAll*Links).
10
+ * Omits IDs not found in the listing (unpublished, unindexed, or conversion errors).
11
+ */
12
+ export function resolveCuratedLinksFromListing(curatedIds, allLinks) {
13
+ if (curatedIds.length === 0) {
14
+ return [];
15
+ }
16
+ const byId = new Map(allLinks.map((link) => [link.id, link]));
17
+ return curatedIds.map((id) => byId.get(id)).filter((link) => link !== undefined);
18
+ }
19
+ //# sourceMappingURL=linkResolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkResolution.js","sourceRoot":"","sources":["../../src/utils/linkResolution.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAwC,EACxC,MAAoC;IAEpC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAA6B,EAC7B,QAAsB;IAEtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAa,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAC9F,CAAC"}
package/docs/llms.md CHANGED
@@ -207,7 +207,7 @@ These are server-only — do NOT import in `'use client'` files or component reg
207
207
 
208
208
  ```ts
209
209
  import { createRouteHandlers } from '@se-studio/core-ui/server';
210
- import { getRelatedArticles, getRelatedPeople } from '@se-studio/core-ui/server';
210
+ import { getRelatedArticles, getRelatedPeople, getRelatedTags } from '@se-studio/core-ui/server';
211
211
  import { filterRelatedArticles, type RelatedArticlesOptions } from '@se-studio/core-ui/server';
212
212
  import { getSizingInformation } from '@se-studio/core-ui/server';
213
213
  import type { CmsRouteConfig } from '@se-studio/core-ui/server';
@@ -222,7 +222,7 @@ import type { CmsRouteConfig } from '@se-studio/core-ui/server';
222
222
 
223
223
  Resolve canonical path with `findCanonicalPath(testsByPath, variantSlug)` from `@se-studio/ab-testing`.
224
224
 
225
- `getRelatedArticles` tag criteria: explicit tag links in the collection → `pageContext.tag` → `pageContext.article.tags`. Pass via `rendererConfig.fetchHelpers.getRelatedArticles` in collections (do not import `cms-server` in registrations). For full-list cases (News Grids, Publications Lists, person-scoped or tag-filtered indexes) use `rendererConfig.fetchHelpers.getAllArticleLinks?.({ articleTypeSlugs: [...], tagSlugs: [...], authorIds: [...], strictAuthorMatch: true, ... })` — the wrapper applies `filterRelatedArticles` (OR semantics, scoring, indexed rules). Import `filterRelatedArticles` / `RelatedArticlesOptions` (and the richer `LinkFetchOptions`) from `@se-studio/core-ui/server`. For all people (e.g. team index collections), use `rendererConfig.fetchHelpers.getAllPersonLinks?.()` — returns `CmsResponse<IPersonLink[]>` including resolved `bio` when set.
225
+ `getRelatedArticles` tag criteria: explicit tag links in the collection → `pageContext.tag` → `pageContext.article.tags`. Pass via `rendererConfig.fetchHelpers.getRelatedArticles` in collections (do not import `cms-server` in registrations). Curated article/person/tag refs in `contents` are **selection and order only** — `getRelated*` helpers always hydrate from `getAll*Links` so publish webhooks revalidate link-shaped UI. For full-list cases (News Grids, Publications Lists, person-scoped or tag-filtered indexes) use `rendererConfig.fetchHelpers.getAllArticleLinks?.({ articleTypeSlugs: [...], tagSlugs: [...], authorIds: [...], strictAuthorMatch: true, ... })` — the wrapper applies `filterRelatedArticles` (OR semantics, scoring, indexed rules). Import `filterRelatedArticles` / `RelatedArticlesOptions` (and the richer `LinkFetchOptions`) from `@se-studio/core-ui/server`. For all people (e.g. team index collections), use `rendererConfig.fetchHelpers.getAllPersonLinks?.()` — returns `CmsResponse<IPersonLink[]>` including resolved `bio` when set. For related tag chips/lists, use `rendererConfig.fetchHelpers.getRelatedTags?.(information, contentContext, count)`.
226
226
 
227
227
  ## Server/Client Rules
228
228
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/core-ui",
3
- "version": "1.11.7",
3
+ "version": "1.12.0",
4
4
  "description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -129,3 +129,9 @@ To add a CMS Showcase to a project:
129
129
  collectionCardMockMap,
130
130
  };
131
131
  ```
132
+
133
+ ## Scroll-gated animations
134
+
135
+ Some projects pause entrance animations until `ClientMonitor` sets `data-seen` on `[data-component]` sections (e.g. `animate-when-seen` + `animate-text-in`). Showcase routes under `/cms/*` do not mount `ClientMonitor`.
136
+
137
+ `ShowcaseRenderPage` and `ShowcaseAllRenderPage` wrap output in `ShowcaseAnimationRoot`, which sets `data-seen` on a root element so showcase previews and screenshot capture render visible content immediately. Production page behaviour is unchanged.