Skip to content

Commit 235c6e7

Browse files
authored
Merge branch 'main' into jw/electron-package-scaffold
2 parents 39e6cad + 14e5171 commit 235c6e7

47 files changed

Lines changed: 1300 additions & 20 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changeset/calm-aliens-care.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/expo': patch
3+
---
4+
5+
Bump the bundled `clerk-ios` SDK from `1.2.2` to `1.2.3`. See the Clerk iOS release: https://github.com/clerk/clerk-ios/releases/tag/1.2.3.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@clerk/shared': patch
3+
'@clerk/astro': patch
4+
'@clerk/vue': patch
5+
---
6+
7+
Align the `HeadlessBrowserClerk.load()` parameter type with the runtime behavior by accepting the full `ClerkOptions`, including `isSatellite`. The clerk-js implementation has always accepted and used `isSatellite` from `load()` options — it's the only way to configure a satellite app when using `@clerk/clerk-js` directly — but the type previously excluded it, producing a contradictory generated API reference and type errors for direct consumers.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

‎.changeset/silver-poems-repeat.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/shared': patch
3+
---
4+
5+
Clarify the `isSatellite` JSDoc to note it must be set in `load()`, unlike `domain`, which is set in the `Clerk` constructor. This corrects the generated API reference for direct `@clerk/clerk-js` and `<script>` consumers, where `load()` is the only way to configure a satellite app.

‎.github/workflows/api-changes.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107

108108
- name: Generate API snapshot
109109
run: |
110-
npx --yes "@clerk/break-check@0.4.0" snapshot \
110+
npx --yes "@clerk/break-check@0.5.0" snapshot \
111111
--output "$GITHUB_WORKSPACE/.api-snapshots-baseline"
112112
113113
- name: Upload baseline artifact
@@ -172,9 +172,9 @@ jobs:
172172
run: echo "BREAK_CHECK_FILTERS=$BREAK_CHECK_FILTERS" >> "$GITHUB_ENV"
173173

174174
- name: Break Check
175-
uses: clerk/break-check@703a7d9a6829b3ce164af20e5dbac37b7acb1725 # v0.4.0
175+
uses: clerk/break-check@28f2635be18aa1127189f088a564645efb3aad90 # v0.5.0
176176
with:
177-
break-check-version: '0.4.0'
177+
break-check-version: '0.5.0'
178178
# The PR head is already checked out, so build it in place rather than
179179
# in a second head worktree.
180180
head-ref: ''

‎break-check.config.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"packages/ui",
2121
"packages/vue"
2222
],
23+
"ignoreSubpaths": ["@clerk/astro#./env"],
2324
"snapshotDir": ".api-snapshots",
2425
"mainBranch": "main",
2526
"checkVersionBump": true,

‎packages/astro/src/types.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export type InternalRuntimeOptions = {
7272

7373
// Copied from `@clerk/react`
7474
export interface HeadlessBrowserClerk extends Clerk {
75-
load: (opts?: Without<ClerkOptions, 'isSatellite'>) => Promise<void>;
75+
load: (opts?: ClerkOptions) => Promise<void>;
7676
updateClient: (client: ClientResource) => void;
7777
}
7878

‎packages/expo/app.plugin.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const path = require('path');
2020
const fs = require('fs');
2121

2222
const CLERK_IOS_REPO = 'https://github.com/clerk/clerk-ios.git';
23-
const CLERK_IOS_VERSION = '1.2.2';
23+
const CLERK_IOS_VERSION = '1.2.3';
2424

2525
const CLERK_MIN_IOS_VERSION = '17.0';
2626

‎packages/headless/src/primitives/tabs/tabs-panel.tsx‎

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
'use client';
22

33
import { useMergeRefs } from '@floating-ui/react';
4-
import React, { useRef } from 'react';
4+
import React, { useRef, version } from 'react';
55

66
import { useTransition } from '../../hooks/use-transition';
77
import { type ComponentProps, mergeProps, renderElement } from '../../utils/render-element';
88
import { useTabsContext } from './tabs-context';
99

10+
const major = parseInt(version, 10);
11+
const isModernReact = major >= 19 || major === 0;
12+
13+
export function inertProps(active: boolean): Record<string, unknown> {
14+
if (!active) {
15+
return {};
16+
}
17+
return { inert: isModernReact ? true : '' };
18+
}
19+
1020
export interface TabsPanelProps extends ComponentProps<'div'> {
1121
value: string;
1222
/** When true, removes `hidden` so the panel stays in layout flow. */
@@ -51,11 +61,7 @@ export const TabsPanel = React.forwardRef<HTMLDivElement, TabsPanelProps>(functi
5161
role: 'tabpanel' as const,
5262
'aria-labelledby': tabId,
5363
tabIndex: 0,
54-
// `inert` must be a truthy string, not a boolean or empty string, to stay
55-
// correct across React 18 and 19: React 18 drops a boolean `true` and React
56-
// 19 treats `''` as falsy. `'true'` renders the (presence-based) attribute in
57-
// both. Matches the existing pattern in packages/ui PricingTableMatrix.
58-
inert: !isSelected ? 'true' : undefined,
64+
...inertProps(!isSelected),
5965
hidden: !isSelected && !shouldForceMount ? true : undefined,
6066
ref: combinedRef,
6167
...(shouldForceMount

0 commit comments

Comments
 (0)