@se-studio/core-ui 1.27.1 → 1.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @se-studio/core-ui
2
2
 
3
+ ## 1.27.3
4
+
5
+ ### Patch Changes
6
+
7
+ - f3679d4: Unwrap nested React Flight lazy children in TrackedLink before Radix Slot so nested lazy children do not throw "Slot failed to slot onto its children".
8
+
9
+ ## 1.27.2
10
+
11
+ ### Patch Changes
12
+
13
+ - Stop importing contentful-rest-api from handleCmsError so the main barrel stays client-safe under Next 16.3.3 Turbopack.
14
+
3
15
  ## 1.27.1
4
16
 
5
17
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"TrackedLink.d.ts","sourceRoot":"","sources":["../../src/elements/TrackedLink.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEvF,OAAa,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EACrC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,4FAsItB,CAAC"}
1
+ {"version":3,"file":"TrackedLink.d.ts","sourceRoot":"","sources":["../../src/elements/TrackedLink.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEvF,OAAa,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EACrC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,4FAgJtB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
  import Link from 'next/link';
5
- import { forwardRef, useCallback, useEffect, useState } from 'react';
5
+ import { forwardRef, use, useCallback, useEffect, useState } from 'react';
6
6
  import { useAnalytics } from '../analytics/useAnalytics';
7
7
  import { extractTextFromReactNode } from '../utils/reactNodeText';
8
8
  /**
@@ -89,7 +89,15 @@ export const TrackedLink = forwardRef(function TrackedLink({ href, componentType
89
89
  };
90
90
  if (asChild || component) {
91
91
  const Component = (component || Slot);
92
- return (_jsx(Link, { href: finalHref, onClick: handleClick, passHref: true, ...linkProps, children: _jsx(Component, { ref: ref, ...props, children: children }) }));
92
+ // React Flight (RSC) can deliver a server-component child as a (nested) lazy
93
+ // reference; Radix Slot only unwraps one level, so resolve them here.
94
+ let slotChild = children;
95
+ while (slotChild !== null &&
96
+ typeof slotChild === 'object' &&
97
+ slotChild.$$typeof === Symbol.for('react.lazy')) {
98
+ slotChild = use(slotChild._payload);
99
+ }
100
+ return (_jsx(Link, { href: finalHref, onClick: handleClick, passHref: true, ...linkProps, children: _jsx(Component, { ref: ref, ...props, children: slotChild }) }));
93
101
  }
94
102
  return (_jsx(Link, { href: finalHref, onClick: handleClick, prefetch: prefetch, replace: replace, scroll: scroll, shallow: shallow, passHref: passHref, locale: locale, ref: ref, ...props, children: children }));
95
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TrackedLink.js","sourceRoot":"","sources":["../../src/elements/TrackedLink.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrackedLink.js","sourceRoot":"","sources":["../../src/elements/TrackedLink.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../src/utils/errorHandling.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,iBAAiB,+BAgCpC"}
1
+ {"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../src/utils/errorHandling.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,iBAAiB,+BAgCpC"}
@@ -1,13 +1,23 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { isRetryableError } from '@se-studio/contentful-rest-api';
3
2
  import { notFound } from 'next/navigation';
4
3
  import { CmsDataError } from '../components/CmsDataError';
5
- // Helper function to detect Next.js notFound errors
6
4
  function isNotFoundError(error) {
7
5
  return (error instanceof Error &&
8
6
  (error.message === 'NEXT_HTTP_ERROR_FALLBACK;404' ||
9
7
  error.digest === 'NEXT_HTTP_ERROR_FALLBACK;404'));
10
8
  }
9
+ /** Duck-type CDA 429/5xx without importing contentful-rest-api (keeps the main barrel client-safe). */
10
+ function isRetryableCmsError(error) {
11
+ if (!error || typeof error !== 'object') {
12
+ return false;
13
+ }
14
+ const candidate = error;
15
+ if (candidate.name === 'RateLimitError') {
16
+ return true;
17
+ }
18
+ const status = candidate.statusCode;
19
+ return typeof status === 'number' && (status >= 500 || status === 429);
20
+ }
11
21
  /**
12
22
  * Handles CMS-related errors with appropriate error display or Next.js notFound.
13
23
  *
@@ -40,7 +50,7 @@ export function handleCmsError(error, context, buildInformation) {
40
50
  throw error;
41
51
  }
42
52
  // Rate limits / 5xx must not become static 404s during SSG.
43
- if (isRetryableError(error)) {
53
+ if (isRetryableCmsError(error)) {
44
54
  throw error;
45
55
  }
46
56
  // Add timestamp and default preview from buildInformation
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/utils/errorHandling.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAU1D,oDAAoD;AACpD,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,KAAK,YAAY,KAAK;QACtB,CAAC,KAAK,CAAC,OAAO,KAAK,8BAA8B;YAC9C,KAA6B,CAAC,MAAM,KAAK,8BAA8B,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,OAAqB,EACrB,gBAAmC;IAEnC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,MAAM,eAAe,GAAG;QACtB,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,KAAK;QAC7D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,oBAAoB;IACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE;QAC/B,KAAK;QACL,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KACxD,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAClC,mCAAmC;QACnC,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,yDAAyD;IACzD,OAAO,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAI,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/utils/errorHandling.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAU1D,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,KAAK,YAAY,KAAK;QACtB,CAAC,KAAK,CAAC,OAAO,KAAK,8BAA8B;YAC9C,KAA6B,CAAC,MAAM,KAAK,8BAA8B,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,KAA+C,CAAC;IAClE,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;IACpC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,OAAqB,EACrB,gBAAmC;IAEnC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,MAAM,eAAe,GAAG;QACtB,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,KAAK;QAC7D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,oBAAoB;IACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE;QAC/B,KAAK;QACL,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KACxD,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAClC,mCAAmC;QACnC,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,yDAAyD;IACzD,OAAO,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAI,CAAC;AAClE,CAAC"}
@@ -95,4 +95,5 @@ Prefer fixing and publishing core-ui. If blocked on an older version:
95
95
  ## Related incidents
96
96
 
97
97
  - **filterRelatedArticles** removed from main barrel (core-ui ~1.11) — same class of bug.
98
- - **listingStructuredData** moved to `/server` (core-ui 1.13.1) — `buildListingItems` / `buildListingStructuredDataContext` had runtime `contentful-rest-api` import on main entry.
98
+ - **listingStructuredData** moved to `/server` (core-ui 1.13.1) — `buildListingItems` / `buildListingStructuredDataContext` had runtime `contentful-rest-api` import on main entry.
99
+ - **handleCmsError** (core-ui 1.27.2) — inlined retryable-error checks so `errorHandling` no longer imports `contentful-rest-api`. Next 16.3.3 Turbopack production builds failed when `'use client'` files imported the main barrel (`ViewTransitionTrackedLink` on se-website-2026).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/core-ui",
3
- "version": "1.27.1",
3
+ "version": "1.27.3",
4
4
  "description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -76,15 +76,15 @@
76
76
  "@contentful/rich-text-react-renderer": "^16.2.2",
77
77
  "@contentful/rich-text-types": "^17.2.7",
78
78
  "@radix-ui/react-slot": "1.3.3",
79
+ "@se-studio/contentful-rest-api": "1.26.1",
80
+ "@se-studio/core-data-types": "1.13.0",
79
81
  "@types/mustache": "4.2.6",
80
82
  "@vimeo/player": "^2.30.4",
81
83
  "clsx": "^2.1.1",
82
84
  "html-entities": "^2.6.0",
83
85
  "mustache": "4.2.0",
84
86
  "server-only": "0.0.1",
85
- "tailwind-merge": "^3.6.0",
86
- "@se-studio/contentful-rest-api": "1.26.1",
87
- "@se-studio/core-data-types": "1.13.0"
87
+ "tailwind-merge": "^3.6.0"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@biomejs/biome": "^2.5.10",
@@ -92,7 +92,7 @@
92
92
  "@types/react": "^19.2.18",
93
93
  "@types/react-dom": "^19.2.5",
94
94
  "jsdom": "^30.0.1",
95
- "next": "^16.3.2",
95
+ "next": "^16.3.3",
96
96
  "typescript": "^7.0.2",
97
97
  "vitest": "^4.1.11"
98
98
  },