+22
Caddyfile
+22
Caddyfile
···
26
26
}
27
27
28
28
reverse_proxy http://host.docker.internal:5173
29
+
30
+
handle_path /xrpc/* {
31
+
rewrite * /xrpc{uri}
32
+
reverse_proxy http://host.docker.internal:8080
33
+
}
34
+
handle_path /oauth/* {
35
+
rewrite * /oauth{uri}
36
+
reverse_proxy http://host.docker.internal:8080
37
+
}
38
+
}
39
+
40
+
http://*.trycloudflare.com {
41
+
reverse_proxy http://host.docker.internal:5173
42
+
43
+
handle_path /xrpc/* {
44
+
rewrite * /xrpc{uri}
45
+
reverse_proxy http://host.docker.internal:8080
46
+
}
47
+
handle_path /oauth/* {
48
+
rewrite * /oauth{uri}
49
+
reverse_proxy http://host.docker.internal:8080
50
+
}
29
51
}
30
52
31
53
acme.dev.hayden.moe {
+9
apps/api/migrations/0001_ancient_polaris.sql
+9
apps/api/migrations/0001_ancient_polaris.sql
+148
apps/api/migrations/meta/0001_snapshot.json
+148
apps/api/migrations/meta/0001_snapshot.json
···
1
+
{
2
+
"version": "6",
3
+
"dialect": "sqlite",
4
+
"id": "e48d1172-ebce-45bf-8598-4a852aa61d44",
5
+
"prevId": "4c6d1917-abfe-4ae1-ba3d-6017f11a8f9f",
6
+
"tables": {
7
+
"auth_session": {
8
+
"name": "auth_session",
9
+
"columns": {
10
+
"key": {
11
+
"name": "key",
12
+
"type": "text",
13
+
"primaryKey": true,
14
+
"notNull": true,
15
+
"autoincrement": false
16
+
},
17
+
"session": {
18
+
"name": "session",
19
+
"type": "text",
20
+
"primaryKey": false,
21
+
"notNull": true,
22
+
"autoincrement": false
23
+
}
24
+
},
25
+
"indexes": {},
26
+
"foreignKeys": {},
27
+
"compositePrimaryKeys": {},
28
+
"uniqueConstraints": {},
29
+
"checkConstraints": {}
30
+
},
31
+
"auth_state": {
32
+
"name": "auth_state",
33
+
"columns": {
34
+
"key": {
35
+
"name": "key",
36
+
"type": "text",
37
+
"primaryKey": true,
38
+
"notNull": true,
39
+
"autoincrement": false
40
+
},
41
+
"state": {
42
+
"name": "state",
43
+
"type": "text",
44
+
"primaryKey": false,
45
+
"notNull": true,
46
+
"autoincrement": false
47
+
}
48
+
},
49
+
"indexes": {},
50
+
"foreignKeys": {},
51
+
"compositePrimaryKeys": {},
52
+
"uniqueConstraints": {},
53
+
"checkConstraints": {}
54
+
},
55
+
"recipes": {
56
+
"name": "recipes",
57
+
"columns": {
58
+
"id": {
59
+
"name": "id",
60
+
"type": "integer",
61
+
"primaryKey": true,
62
+
"notNull": true,
63
+
"autoincrement": false
64
+
},
65
+
"rkey": {
66
+
"name": "rkey",
67
+
"type": "text",
68
+
"primaryKey": false,
69
+
"notNull": true,
70
+
"autoincrement": false
71
+
},
72
+
"title": {
73
+
"name": "title",
74
+
"type": "text",
75
+
"primaryKey": false,
76
+
"notNull": true,
77
+
"autoincrement": false
78
+
},
79
+
"description": {
80
+
"name": "description",
81
+
"type": "text",
82
+
"primaryKey": false,
83
+
"notNull": false,
84
+
"autoincrement": false
85
+
},
86
+
"ingredients": {
87
+
"name": "ingredients",
88
+
"type": "text",
89
+
"primaryKey": false,
90
+
"notNull": true,
91
+
"autoincrement": false
92
+
},
93
+
"steps": {
94
+
"name": "steps",
95
+
"type": "text",
96
+
"primaryKey": false,
97
+
"notNull": true,
98
+
"autoincrement": false
99
+
},
100
+
"created_at": {
101
+
"name": "created_at",
102
+
"type": "text",
103
+
"primaryKey": false,
104
+
"notNull": true,
105
+
"autoincrement": false
106
+
},
107
+
"author_did": {
108
+
"name": "author_did",
109
+
"type": "text",
110
+
"primaryKey": false,
111
+
"notNull": true,
112
+
"autoincrement": false
113
+
}
114
+
},
115
+
"indexes": {
116
+
"recipes_id_unique": {
117
+
"name": "recipes_id_unique",
118
+
"columns": [
119
+
"id"
120
+
],
121
+
"isUnique": true
122
+
},
123
+
"recipes_rkey_author_did_unique": {
124
+
"name": "recipes_rkey_author_did_unique",
125
+
"columns": [
126
+
"rkey",
127
+
"author_did"
128
+
],
129
+
"isUnique": true
130
+
}
131
+
},
132
+
"foreignKeys": {},
133
+
"compositePrimaryKeys": {},
134
+
"uniqueConstraints": {},
135
+
"checkConstraints": {}
136
+
}
137
+
},
138
+
"views": {},
139
+
"enums": {},
140
+
"_meta": {
141
+
"schemas": {},
142
+
"tables": {},
143
+
"columns": {}
144
+
},
145
+
"internal": {
146
+
"indexes": {}
147
+
}
148
+
}
+8
-1
apps/api/migrations/meta/_journal.json
+8
-1
apps/api/migrations/meta/_journal.json
+5
apps/api/package.json
+5
apps/api/package.json
···
16
16
"db:studio": "NODE_OPTIONS=--use-openssl-ca drizzle-kit studio"
17
17
},
18
18
"dependencies": {
19
+
"@atcute/client": "^2.0.6",
20
+
"@atproto/api": "^0.13.19",
21
+
"@atproto/jwk-jose": "^0.1.2",
22
+
"@atproto/oauth-client-node": "^0.2.3",
19
23
"@hono/node-server": "^1.13.7",
20
24
"@libsql/client": "^0.14.0",
21
25
"@skyware/jetstream": "^0.2.1",
22
26
"bufferutil": "^4.0.8",
23
27
"drizzle-orm": "^0.37.0",
24
28
"hono": "^4.6.12",
29
+
"hono-sessions": "^0.7.0",
25
30
"jose": "^5.9.6",
26
31
"pino": "^9.5.0",
27
32
"ws": "^8.18.0",
+34
apps/api/src/auth/client.ts
+34
apps/api/src/auth/client.ts
···
1
+
import { JoseKey } from "@atproto/jwk-jose";
2
+
import { NodeOAuthClient } from "@atproto/oauth-client-node";
3
+
import env from "../config/env.js";
4
+
import { SessionStore, StateStore } from "./storage.js";
5
+
import { Context } from "hono";
6
+
7
+
export const getClient = async (ctx: Context) => {
8
+
let appUrl = 'https://cookware.hayden.moe';
9
+
if (env.ENV == 'development') {
10
+
appUrl = `https://${ctx.req.header('Host')}`;
11
+
}
12
+
13
+
return new NodeOAuthClient({
14
+
clientMetadata: {
15
+
client_id: `${appUrl}/oauth/client-metadata.json`,
16
+
client_name: 'Cookware',
17
+
client_uri: appUrl,
18
+
redirect_uris: [`${appUrl}/oauth/callback`],
19
+
response_types: ['code'],
20
+
application_type: 'web',
21
+
grant_types: ['authorization_code', 'refresh_token'],
22
+
scope: 'atproto transition:generic',
23
+
token_endpoint_auth_method: 'private_key_jwt',
24
+
token_endpoint_auth_signing_alg: 'ES256',
25
+
dpop_bound_access_tokens: true,
26
+
jwks_uri: `${appUrl}/oauth/jwks.json`,
27
+
},
28
+
keyset: await Promise.all([
29
+
JoseKey.fromImportable(env.JWKS_PRIVATE_KEY, 'cookware_jwks_1'),
30
+
]),
31
+
sessionStore: new SessionStore(),
32
+
stateStore: new StateStore(),
33
+
});
34
+
};
+80
apps/api/src/auth/index.ts
+80
apps/api/src/auth/index.ts
···
1
+
import { Hono } from "hono";
2
+
import { getDidFromHandleOrDid } from "../util/did.js";
3
+
import { getClient } from "./client.js";
4
+
import { z } from "zod";
5
+
import { Session } from "hono-sessions";
6
+
import { CookwareSession, getSessionAgent } from "../util/api.js";
7
+
8
+
export const authApp = new Hono<{
9
+
Variables: {
10
+
session: Session<CookwareSession>,
11
+
session_key_rotation: boolean,
12
+
},
13
+
}>();
14
+
15
+
authApp.get('/client-metadata.json', async ctx => {
16
+
const client = await getClient(ctx);
17
+
return ctx.json(client.clientMetadata);
18
+
});
19
+
20
+
authApp.get('/jwks.json', async ctx => {
21
+
const client = await getClient(ctx);
22
+
return ctx.json(client.jwks);
23
+
});
24
+
25
+
const loginSchema = z.object({
26
+
actor: z.string(),
27
+
});
28
+
29
+
authApp.get('/me', async ctx => {
30
+
const agent = await getSessionAgent(ctx);
31
+
if (!agent) {
32
+
ctx.status(401);
33
+
return ctx.json({
34
+
error: 'unauthenticated',
35
+
message: 'You must be authenticated to access this resource.',
36
+
});
37
+
}
38
+
39
+
const profile = await agent.getProfile({ actor: agent.did! });
40
+
return ctx.json(profile.data);
41
+
});
42
+
43
+
authApp.post('/login', async ctx => {
44
+
const client = await getClient(ctx);
45
+
const { actor } = loginSchema.parse(await ctx.req.raw.json());
46
+
47
+
const did = await getDidFromHandleOrDid(actor);
48
+
if (!did) {
49
+
ctx.status(400);
50
+
return ctx.json({
51
+
error: 'DID_NOT_FOUND' as const,
52
+
message: 'No account with that handle was found.',
53
+
});
54
+
}
55
+
56
+
const url = await client.authorize(did, {
57
+
scope: 'atproto transition:generic',
58
+
});
59
+
return ctx.json({ url });
60
+
});
61
+
62
+
authApp.get('/callback', async ctx => {
63
+
const client = await getClient(ctx);
64
+
const params = new URLSearchParams(ctx.req.url.split('?')[1]);
65
+
66
+
const { session } = await client.callback(params);
67
+
const currentSession = ctx.get('session') as Session<CookwareSession>;
68
+
const did = currentSession.get('did');
69
+
if (did) {
70
+
ctx.status(400);
71
+
return ctx.json({
72
+
error: 'session_exists',
73
+
message: 'Session already exists!',
74
+
});
75
+
}
76
+
77
+
currentSession.set('did', session.did);
78
+
79
+
return ctx.redirect('/');
80
+
});
+56
apps/api/src/auth/storage.ts
+56
apps/api/src/auth/storage.ts
···
1
+
import type {
2
+
NodeSavedSession,
3
+
NodeSavedSessionStore,
4
+
NodeSavedState,
5
+
NodeSavedStateStore,
6
+
} from '@atproto/oauth-client-node'
7
+
import { db } from '../db/index.js'
8
+
import { eq } from 'drizzle-orm';
9
+
import { authSessionTable, authStateTable } from '../db/schema.js';
10
+
11
+
export class StateStore implements NodeSavedStateStore {
12
+
constructor() {}
13
+
async get(key: string): Promise<NodeSavedState | undefined> {
14
+
const result = await db.query.authStateTable.findFirst({
15
+
where: eq(authStateTable.key, key),
16
+
});
17
+
if (!result) return
18
+
return result.state
19
+
}
20
+
21
+
async set(key: string, state: NodeSavedState) {
22
+
await db.insert(authStateTable).values({
23
+
key, state: state,
24
+
}).onConflictDoUpdate({
25
+
target: authStateTable.key,
26
+
set: { state },
27
+
});
28
+
}
29
+
30
+
async del(key: string) {
31
+
await db.delete(authStateTable).where(eq(authStateTable.key, key));
32
+
}
33
+
}
34
+
35
+
export class SessionStore implements NodeSavedSessionStore {
36
+
async get(key: string): Promise<NodeSavedSession | undefined> {
37
+
const result = await db.query.authSessionTable.findFirst({
38
+
where: eq(authSessionTable.key, key),
39
+
});
40
+
if (!result) return
41
+
return result.session
42
+
}
43
+
44
+
async set(key: string, session: NodeSavedSession) {
45
+
await db.insert(authSessionTable)
46
+
.values({ key, session })
47
+
.onConflictDoUpdate({
48
+
target: authSessionTable.key,
49
+
set: { session },
50
+
});
51
+
}
52
+
53
+
async del(key: string) {
54
+
await db.delete(authSessionTable).where(eq(authSessionTable.key, key));
55
+
}
56
+
}
+6
-1
apps/api/src/config/env.ts
+6
-1
apps/api/src/config/env.ts
···
4
4
PORT: z.coerce.number().lte(65535).default(8080),
5
5
HOST: z.string().ip().default('0.0.0.0'),
6
6
7
-
CORS_ORIGINS: z.array(z.string()).default(['http://localhost:5173']),
7
+
CORS_ORIGINS: z.array(z.string()).default(['http://localhost:5173', 'https://cookware.dev.hayden.moe']),
8
8
9
9
TURSO_CONNECTION_URL: z.string().default('https://turso.dev.hayden.moe'),
10
10
TURSO_AUTH_TOKEN: z.string().or(z.undefined()),
···
14
14
.url()
15
15
.default('wss://jetstream1.us-east.bsky.network/subscribe'),
16
16
PLC_DIRECTORY_URL: z.string().url().default('https://plc.directory'),
17
+
18
+
JWKS_PRIVATE_KEY: z.string().default('{"kty":"EC","x":"pew2xWIyBQ4XSY4gcCuTJBI-oC5rQqQlcDxIN8nN834","y":"aiJFNEFWyKKWGiFKPRvLAU4wdhsfgysfTfTuzTC4LNQ","crv":"P-256","d":"QS-q9RzH1u2Oj8gDiUzLk1qpGxZjKSf-3Z1oKCRL_jQ"}'),
19
+
20
+
SESSION_KEY: z.string().default('bJVS+Dx03A3QWWfW3A5Om5DGx1GKptx+1IGAXzOTpw8='),
21
+
SESSION_TTL: z.number().default(((60 * 60) * 24) * 5), // expire in 5 days
17
22
18
23
ENV: z
19
24
.union([
+11
apps/api/src/db/schema.ts
+11
apps/api/src/db/schema.ts
···
2
2
import { customType, int, sqliteTable, text, unique } from "drizzle-orm/sqlite-core";
3
3
import { DID } from "../util/did.js";
4
4
import { Ingredient, Step } from "@cookware/lexicons";
5
+
import { NodeSavedSession, NodeSavedState } from "@atproto/oauth-client-node";
5
6
6
7
const did = customType<{ data: DID }>({
7
8
dataType() {
···
31
32
}, t => ({
32
33
unique_author_rkey: unique().on(t.rkey, t.authorDid),
33
34
}));
35
+
36
+
export const authStateTable = sqliteTable("auth_state", {
37
+
key: text().primaryKey(),
38
+
state: text({ mode: 'json' }).$type<NodeSavedState>().notNull(),
39
+
});
40
+
41
+
export const authSessionTable = sqliteTable("auth_session", {
42
+
key: text().primaryKey(),
43
+
session: text({ mode: 'json' }).$type<NodeSavedSession>().notNull(),
44
+
});
+66
-2
apps/api/src/index.ts
+66
-2
apps/api/src/index.ts
···
5
5
import env from "./config/env.js";
6
6
import { xrpcApp } from "./xrpc/index.js";
7
7
import { cors } from "hono/cors";
8
+
import { authApp } from "./auth/index.js";
9
+
import { ZodError } from "zod";
10
+
import { CookieStore, Session, sessionMiddleware } from "hono-sessions";
11
+
import { CookwareSession } from "./util/api.js";
8
12
9
-
const app = new Hono();
13
+
const app = new Hono<{
14
+
Variables: {
15
+
session: Session<CookwareSession>,
16
+
session_key_rotation: boolean,
17
+
},
18
+
}>();
19
+
20
+
const store = new CookieStore({
21
+
sessionCookieName: 'cookware-session',
22
+
});
23
+
24
+
app.use(async (c, next) => {
25
+
if (
26
+
c.req.path == '/oauth/client-metadata.json'
27
+
|| c.req.path == '/oauth/jwks.json'
28
+
) return next();
29
+
30
+
const mw = sessionMiddleware({
31
+
store,
32
+
encryptionKey: env.SESSION_KEY, // Required for CookieStore, recommended for others
33
+
expireAfterSeconds: 900, // Expire session after 15 minutes of inactivity
34
+
cookieOptions: {
35
+
sameSite: 'strict', // Recommended for basic CSRF protection in modern browsers
36
+
path: '/', // Required for this library to work properly
37
+
httpOnly: true, // Recommended to avoid XSS attacks
38
+
secure: true,
39
+
},
40
+
});
41
+
return mw(c, next);
42
+
});
10
43
11
44
app.use(cors({
12
-
origin: env.CORS_ORIGINS,
45
+
origin: (origin, _ctx) => {
46
+
if (env.ENV == 'development') origin;
47
+
48
+
return env.CORS_ORIGINS.includes(origin)
49
+
? origin
50
+
: 'https://cookware.hayden.moe';
51
+
},
52
+
allowHeaders: ['Content-Type', 'Accept'],
53
+
allowMethods: ['POST', 'GET', 'OPTIONS'],
54
+
exposeHeaders: ['Content-Length'],
55
+
maxAge: 600,
13
56
credentials: true,
14
57
}));
15
58
16
59
app.route('/xrpc', xrpcApp);
60
+
app.route('/oauth', authApp);
61
+
62
+
app.use(async (ctx, next) => {
63
+
try {
64
+
await next();
65
+
} catch (e) {
66
+
if (e instanceof ZodError) {
67
+
ctx.status(400);
68
+
return ctx.json({
69
+
error: 'invalid_data',
70
+
message: e.message,
71
+
});
72
+
}
73
+
74
+
ctx.status(500);
75
+
return ctx.json({
76
+
error: 'internal_server_error',
77
+
message: 'The server could not process the request.',
78
+
});
79
+
}
80
+
});
17
81
18
82
newIngester().start();
19
83
serve({
+23
apps/api/src/util/api.ts
+23
apps/api/src/util/api.ts
···
1
+
import { Context } from "hono";
2
+
import { Session } from "hono-sessions";
3
+
import { getClient } from "../auth/client.js";
4
+
import { Agent } from "@atproto/api";
5
+
import { authLogger } from "../logger.js";
6
+
7
+
export type CookwareSession = { did: string; };
8
+
9
+
export const getSessionAgent = async (ctx: Context) => {
10
+
const client = await getClient(ctx);
11
+
const session = ctx.get('session') as Session<CookwareSession>;
12
+
const did = session.get('did');
13
+
if (!did) return null;
14
+
15
+
try {
16
+
const oauthSession = await client.restore(did);
17
+
return oauthSession ? new Agent(oauthSession) : null;
18
+
} catch (err) {
19
+
authLogger.warn({ err, did }, 'oauth restore failed');
20
+
session.deleteSession();
21
+
return null;
22
+
}
23
+
};
+93
-2
apps/api/src/util/did.ts
+93
-2
apps/api/src/util/did.ts
···
16
16
}
17
17
18
18
export const getDidDoc = async (did: DID) => {
19
-
const url = env.PLC_DIRECTORY_URL;
20
-
const response = await fetch(`${url}/${did}`);
19
+
let url = `${env.PLC_DIRECTORY_URL}/${did}`;
20
+
if (did.startsWith('did:web')) {
21
+
url = `https://${did.split(':')[2]}/.well-known/did.json`;
22
+
}
23
+
24
+
const response = await fetch(url);
21
25
22
26
return PlcDocument.parse(await response.json());
23
27
};
···
42
46
}),
43
47
),
44
48
});
49
+
50
+
const DnsQueryResponse = z.object({
51
+
Answer: z.array(
52
+
z.object({
53
+
name: z.string(),
54
+
type: z.number(),
55
+
TTL: z.number(),
56
+
data: z.string(),
57
+
}),
58
+
),
59
+
});
60
+
61
+
async function getAtprotoDidFromDns(handle: string) {
62
+
const url = new URL("https://cloudflare-dns.com/dns-query");
63
+
url.searchParams.set("type", "TXT");
64
+
url.searchParams.set("name", `_atproto.${handle}`);
65
+
66
+
const response = await fetch(url, {
67
+
headers: {
68
+
Accept: "application/dns-json",
69
+
},
70
+
});
71
+
72
+
const { Answer } = DnsQueryResponse.parse(await response.json());
73
+
// Answer[0].data is "\"did=...\"" (with quotes)
74
+
const val = Answer[0]?.data
75
+
? JSON.parse(Answer[0]?.data).split("did=")[1]
76
+
: null;
77
+
78
+
return val ? parseDid(val) : null;
79
+
}
80
+
81
+
const getAtprotoFromHttps = async (handle: string) => {
82
+
let res;
83
+
const timeoutSignal = AbortSignal.timeout(1500);
84
+
try {
85
+
res = await fetch(`https://${handle}/.well-known/atproto-did`, {
86
+
signal: timeoutSignal,
87
+
});
88
+
} catch (_e) {
89
+
// We're caching failures here, we should at some point invalidate the cache by listening to handle changes on the network
90
+
return null;
91
+
}
92
+
93
+
if (!res.ok) {
94
+
return null;
95
+
}
96
+
return parseDid((await res.text()).trim());
97
+
};
98
+
99
+
export const getVerifiedDid = async (handle: string) => {
100
+
const [dnsDid, httpDid] = await Promise.all([
101
+
getAtprotoDidFromDns(handle).catch((_) => {
102
+
return null;
103
+
}),
104
+
getAtprotoFromHttps(handle).catch(() => {
105
+
return null;
106
+
}),
107
+
]);
108
+
109
+
if (dnsDid && httpDid && dnsDid !== httpDid) {
110
+
return null;
111
+
}
112
+
113
+
const did = dnsDid ?? (httpDid ? parseDid(httpDid) : null);
114
+
if (!did) {
115
+
return null;
116
+
}
117
+
118
+
const plcDoc = await getDidDoc(did);
119
+
const plcHandle = plcDoc.alsoKnownAs
120
+
.find((handle) => handle.startsWith("at://"))
121
+
?.replace("at://", "");
122
+
123
+
if (!plcHandle) return null;
124
+
125
+
return plcHandle.toLowerCase() === handle.toLowerCase() ? did : null;
126
+
};
127
+
128
+
export const getDidFromHandleOrDid = async (handleOrDid: string) => {
129
+
const decodedHandleOrDid = decodeURIComponent(handleOrDid);
130
+
if (isDid(decodedHandleOrDid)) {
131
+
return decodedHandleOrDid;
132
+
}
133
+
134
+
return getVerifiedDid(decodedHandleOrDid);
135
+
};
+6
-1
apps/api/src/xrpc/index.ts
+6
-1
apps/api/src/xrpc/index.ts
···
2
2
import { db } from '../db/index.js';
3
3
import { recipeTable } from '../db/schema.js';
4
4
import { and, eq, sql } from 'drizzle-orm';
5
-
import { parseDid } from '../util/did.js';
5
+
import { getDidDoc, parseDid } from '../util/did.js';
6
6
7
7
export const xrpcApp = new Hono();
8
8
···
53
53
});
54
54
}
55
55
56
+
const author = await getDidDoc(recipe.authorDid);
57
+
56
58
return ctx.json({
57
59
recipe: {
60
+
author: {
61
+
handle: author.alsoKnownAs[0]?.substring(5),
62
+
},
58
63
title: recipe.title,
59
64
description: recipe.description,
60
65
ingredients: recipe.ingredients,
+8
-5
apps/web/package.json
+8
-5
apps/web/package.json
···
12
12
"dependencies": {
13
13
"@atcute/client": "^2.0.6",
14
14
"@atcute/oauth-browser-client": "^1.0.7",
15
-
"@cookware/lexicons": "workspace:^",
16
15
"@radix-ui/react-avatar": "^1.1.1",
17
16
"@radix-ui/react-collapsible": "^1.1.1",
18
17
"@radix-ui/react-dialog": "^1.1.2",
19
18
"@radix-ui/react-dropdown-menu": "^2.1.2",
19
+
"@radix-ui/react-label": "^2.1.0",
20
20
"@radix-ui/react-separator": "^1.1.0",
21
21
"@radix-ui/react-slot": "^1.1.0",
22
22
"@radix-ui/react-tooltip": "^1.1.4",
23
23
"@tanstack/react-query": "^5.62.2",
24
24
"@tanstack/react-query-devtools": "^5.62.2",
25
25
"@tanstack/react-router": "^1.85.5",
26
+
"axios": "^1.7.9",
26
27
"class-variance-authority": "^0.7.1",
27
28
"clsx": "^2.1.1",
28
29
"lucide-react": "^0.464.0",
29
-
"react": "^18.3.1",
30
-
"react-dom": "^18.3.1",
30
+
"react-dom": "19.0.0-rc-f994737d14-20240522",
31
31
"tailwind-merge": "^2.5.5",
32
32
"tailwindcss-animate": "^1.0.7"
33
33
},
34
34
"devDependencies": {
35
+
"@atcute/bluesky": "^1.0.9",
36
+
"@cookware/lexicons": "workspace:*",
35
37
"@eslint/js": "^9.15.0",
36
38
"@tanstack/eslint-plugin-query": "^5.62.1",
37
39
"@tanstack/router-devtools": "^1.85.5",
38
40
"@tanstack/router-plugin": "^1.85.3",
39
41
"@types/node": "^22.10.1",
40
-
"@types/react": "^18.3.12",
41
-
"@types/react-dom": "^18.3.1",
42
+
"@types/react": "^19.0.0",
43
+
"@types/react-dom": "^19.0.0",
42
44
"@vitejs/plugin-react-swc": "^3.5.0",
43
45
"autoprefixer": "^10.4.20",
44
46
"eslint": "^9.15.0",
···
46
48
"eslint-plugin-react-refresh": "^0.4.14",
47
49
"globals": "^15.12.0",
48
50
"postcss": "^8.4.49",
51
+
"react": "19.0.0-rc-7283a213-20241206",
49
52
"tailwindcss": "^3.4.16",
50
53
"typescript": "~5.6.2",
51
54
"typescript-eslint": "^8.15.0",
+4
-2
apps/web/src/components/query-placeholder.tsx
+4
-2
apps/web/src/components/query-placeholder.tsx
···
1
1
import type { UseQueryResult } from '@tanstack/react-query';
2
-
import { PropsWithChildren } from 'react';
2
+
import { PropsWithChildren, ReactNode } from 'react';
3
3
import { Skeleton } from './ui/skeleton';
4
4
import { Alert, AlertDescription, AlertTitle } from './ui/alert';
5
5
import { AlertCircle } from 'lucide-react';
···
9
9
query: UseQueryResult<TData, TError>;
10
10
cards?: boolean;
11
11
cardsCount?: number;
12
+
noData?: ReactNode;
12
13
}>;
13
14
14
15
const QueryPlaceholder = <TData = {}, TError = Error>(
···
17
18
children,
18
19
cards = false,
19
20
cardsCount = 3,
21
+
noData = <></>,
20
22
}: QueryPlaceholderProps<TData, TError>
21
23
) => {
22
24
if (query.isPending || query.isLoading) {
···
50
52
} else if (query.data) {
51
53
return children;
52
54
}
53
-
return <></>;
55
+
return noData;
54
56
};
55
57
56
58
export default QueryPlaceholder;
+24
apps/web/src/components/ui/label.tsx
+24
apps/web/src/components/ui/label.tsx
···
1
+
import * as React from "react"
2
+
import * as LabelPrimitive from "@radix-ui/react-label"
3
+
import { cva, type VariantProps } from "class-variance-authority"
4
+
5
+
import { cn } from "@/lib/utils"
6
+
7
+
const labelVariants = cva(
8
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
9
+
)
10
+
11
+
const Label = React.forwardRef<
12
+
React.ElementRef<typeof LabelPrimitive.Root>,
13
+
React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
14
+
VariantProps<typeof labelVariants>
15
+
>(({ className, ...props }, ref) => (
16
+
<LabelPrimitive.Root
17
+
ref={ref}
18
+
className={cn(labelVariants(), className)}
19
+
{...props}
20
+
/>
21
+
))
22
+
Label.displayName = LabelPrimitive.Root.displayName
23
+
24
+
export { Label }
+1
-1
apps/web/src/lib/utils.ts
+1
-1
apps/web/src/lib/utils.ts
+1
-1
apps/web/src/main.tsx
+1
-1
apps/web/src/main.tsx
+28
-3
apps/web/src/routeTree.gen.ts
+28
-3
apps/web/src/routeTree.gen.ts
···
18
18
// Create Virtual Routes
19
19
20
20
const appIndexLazyImport = createFileRoute('/(app)/')()
21
+
const authLoginLazyImport = createFileRoute('/(auth)/login')()
21
22
22
23
// Create/Update Routes
23
24
···
29
30
} as any)
30
31
.lazy(() => import('./routes/(app)/index.lazy').then((d) => d.Route))
31
32
33
+
const authLoginLazyRoute = authLoginLazyImport
34
+
.update({
35
+
id: '/(auth)/login',
36
+
path: '/login',
37
+
getParentRoute: () => rootRoute,
38
+
} as any)
39
+
.lazy(() => import('./routes/(auth)/login.lazy').then((d) => d.Route))
40
+
32
41
const appRecipesDidRkeyRoute = appRecipesDidRkeyImport.update({
33
42
id: '/(app)/recipes/$did/$rkey',
34
43
path: '/recipes/$did/$rkey',
···
39
48
40
49
declare module '@tanstack/react-router' {
41
50
interface FileRoutesByPath {
51
+
'/(auth)/login': {
52
+
id: '/(auth)/login'
53
+
path: '/login'
54
+
fullPath: '/login'
55
+
preLoaderRoute: typeof authLoginLazyImport
56
+
parentRoute: typeof rootRoute
57
+
}
42
58
'/(app)/': {
43
59
id: '/(app)/'
44
60
path: '/'
···
59
75
// Create and export the route tree
60
76
61
77
export interface FileRoutesByFullPath {
78
+
'/login': typeof authLoginLazyRoute
62
79
'/': typeof appIndexLazyRoute
63
80
'/recipes/$did/$rkey': typeof appRecipesDidRkeyRoute
64
81
}
65
82
66
83
export interface FileRoutesByTo {
84
+
'/login': typeof authLoginLazyRoute
67
85
'/': typeof appIndexLazyRoute
68
86
'/recipes/$did/$rkey': typeof appRecipesDidRkeyRoute
69
87
}
70
88
71
89
export interface FileRoutesById {
72
90
__root__: typeof rootRoute
91
+
'/(auth)/login': typeof authLoginLazyRoute
73
92
'/(app)/': typeof appIndexLazyRoute
74
93
'/(app)/recipes/$did/$rkey': typeof appRecipesDidRkeyRoute
75
94
}
76
95
77
96
export interface FileRouteTypes {
78
97
fileRoutesByFullPath: FileRoutesByFullPath
79
-
fullPaths: '/' | '/recipes/$did/$rkey'
98
+
fullPaths: '/login' | '/' | '/recipes/$did/$rkey'
80
99
fileRoutesByTo: FileRoutesByTo
81
-
to: '/' | '/recipes/$did/$rkey'
82
-
id: '__root__' | '/(app)/' | '/(app)/recipes/$did/$rkey'
100
+
to: '/login' | '/' | '/recipes/$did/$rkey'
101
+
id: '__root__' | '/(auth)/login' | '/(app)/' | '/(app)/recipes/$did/$rkey'
83
102
fileRoutesById: FileRoutesById
84
103
}
85
104
86
105
export interface RootRouteChildren {
106
+
authLoginLazyRoute: typeof authLoginLazyRoute
87
107
appIndexLazyRoute: typeof appIndexLazyRoute
88
108
appRecipesDidRkeyRoute: typeof appRecipesDidRkeyRoute
89
109
}
90
110
91
111
const rootRouteChildren: RootRouteChildren = {
112
+
authLoginLazyRoute: authLoginLazyRoute,
92
113
appIndexLazyRoute: appIndexLazyRoute,
93
114
appRecipesDidRkeyRoute: appRecipesDidRkeyRoute,
94
115
}
···
103
124
"__root__": {
104
125
"filePath": "__root.tsx",
105
126
"children": [
127
+
"/(auth)/login",
106
128
"/(app)/",
107
129
"/(app)/recipes/$did/$rkey"
108
130
]
131
+
},
132
+
"/(auth)/login": {
133
+
"filePath": "(auth)/login.lazy.tsx"
109
134
},
110
135
"/(app)/": {
111
136
"filePath": "(app)/index.lazy.tsx"
+2
-2
apps/web/src/routes/(app)/recipes.$did.$rkey.tsx
+2
-2
apps/web/src/routes/(app)/recipes.$did.$rkey.tsx
···
45
45
</BreadcrumbItem>
46
46
<BreadcrumbSeparator className="hidden md:block" />
47
47
<BreadcrumbItem className="hidden md:block">
48
-
<BreadcrumbLink asChild><Link href={`/profiles/${did}`}>{did}</Link></BreadcrumbLink>
48
+
<BreadcrumbLink asChild><Link href={`/profiles/${did}`}>{query.data ? query.data.data.recipe.author.handle : did}</Link></BreadcrumbLink>
49
49
</BreadcrumbItem>
50
50
<BreadcrumbSeparator className="hidden md:block" />
51
51
<BreadcrumbItem>
52
-
<BreadcrumbPage>{rkey}</BreadcrumbPage>
52
+
<BreadcrumbPage>{query.data ? query.data.data.recipe.title : rkey}</BreadcrumbPage>
53
53
</BreadcrumbItem>
54
54
</BreadcrumbList>
55
55
</Breadcrumb>
+83
apps/web/src/routes/(auth)/login.lazy.tsx
+83
apps/web/src/routes/(auth)/login.lazy.tsx
···
1
+
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '@/components/ui/breadcrumb';
2
+
import { Button } from '@/components/ui/button';
3
+
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card';
4
+
import { Input } from '@/components/ui/input';
5
+
import { Label } from '@/components/ui/label';
6
+
import { Separator } from '@/components/ui/separator';
7
+
import { SidebarTrigger } from '@/components/ui/sidebar';
8
+
import { SERVER_URL } from '@/lib/utils';
9
+
import { useMutation } from '@tanstack/react-query';
10
+
import { createLazyFileRoute } from '@tanstack/react-router'
11
+
import { useState } from 'react';
12
+
13
+
export const Route = createLazyFileRoute('/(auth)/login')({
14
+
component: RouteComponent,
15
+
})
16
+
17
+
function RouteComponent() {
18
+
const [handle, setHandle] = useState('');
19
+
20
+
const { mutate, isPending } = useMutation({
21
+
mutationKey: ['login'],
22
+
mutationFn: async () => {
23
+
const res = await fetch(`https://${SERVER_URL}/oauth/login`, {
24
+
method: 'POST',
25
+
body: JSON.stringify({ actor: handle }),
26
+
redirect: 'manual',
27
+
headers: {
28
+
'Content-Type': 'application/json',
29
+
'Accept': 'application/json',
30
+
},
31
+
});
32
+
return res.json()
33
+
},
34
+
onSuccess: (resp: { url: string }) => {
35
+
document.location.href = resp.url;
36
+
},
37
+
});
38
+
39
+
return (
40
+
<>
41
+
<header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12">
42
+
<div className="flex items-center gap-2 px-4">
43
+
<SidebarTrigger className="-ml-1" />
44
+
<Separator orientation="vertical" className="mr-2 h-4" />
45
+
<Breadcrumb>
46
+
<BreadcrumbList>
47
+
<BreadcrumbItem>
48
+
<BreadcrumbPage>Log in</BreadcrumbPage>
49
+
</BreadcrumbItem>
50
+
</BreadcrumbList>
51
+
</Breadcrumb>
52
+
</div>
53
+
</header>
54
+
<div className="flex flex-1 flex-col items-center justify-center gap-4 p-4 pt-0">
55
+
<Card className="max-w-xl w-full">
56
+
<CardHeader>
57
+
<CardTitle>Log in</CardTitle>
58
+
<CardDescription>
59
+
Don't have an account? <a className="font-bold text-primary" href="https://bsky.app/" target="_blank">Sign up on Bluesky!</a>
60
+
</CardDescription>
61
+
</CardHeader>
62
+
<CardContent>
63
+
<div className="flex flex-col gap-2">
64
+
<Label htmlFor="handle">Handle</Label>
65
+
<Input
66
+
type="text"
67
+
id="handle"
68
+
name="handle"
69
+
placeholder="johndoe.bsky.social"
70
+
required
71
+
value={handle}
72
+
onChange={e => setHandle(e.currentTarget.value)}
73
+
/>
74
+
</div>
75
+
</CardContent>
76
+
<CardFooter>
77
+
<Button onClick={() => mutate()} disabled={isPending}>Log in</Button>
78
+
</CardFooter>
79
+
</Card>
80
+
</div>
81
+
</>
82
+
);
83
+
}
+1
apps/web/src/vite-env.d.ts
+1
apps/web/src/vite-env.d.ts
+2
-11
docker-compose.yaml
+2
-11
docker-compose.yaml
···
25
25
volumes:
26
26
- libsql:/var/lib/sqld
27
27
28
-
api_tunnel:
28
+
tunnel:
29
29
image: cloudflare/cloudflared
30
30
restart: unless-stopped
31
-
command: tunnel --url http://host.docker.internal:8080
32
-
extra_hosts:
33
-
- "host.docker.internal:host-gateway"
34
-
35
-
web_tunnel:
36
-
image: cloudflare/cloudflared
37
-
restart: unless-stopped
38
-
command: tunnel --url http://host.docker.internal:5173
39
-
extra_hosts:
40
-
- "host.docker.internal:host-gateway"
31
+
command: tunnel --url http://caddy
41
32
42
33
volumes:
43
34
caddy_data: {}
+12
-1
lexicons/moe/hayden/cookware/getRecipe.json
+12
-1
lexicons/moe/hayden/cookware/getRecipe.json
···
34
34
},
35
35
"result": {
36
36
"type": "object",
37
-
"required": ["title", "ingredients", "steps"],
37
+
"required": ["author", "title", "ingredients", "steps"],
38
38
"properties": {
39
+
"author": {
40
+
"type": "ref",
41
+
"ref": "#authorInfo"
42
+
},
39
43
"title": { "type": "string" },
40
44
"description": { "type": "string" },
41
45
"ingredients": {
···
52
56
"ref": "moe.hayden.cookware.defs#step"
53
57
}
54
58
}
59
+
}
60
+
},
61
+
"authorInfo": {
62
+
"type": "object",
63
+
"required": ["handle"],
64
+
"properties": {
65
+
"handle": { "type": "string" }
55
66
}
56
67
}
57
68
}
+5
libs/lexicons/src/atcute.ts
+5
libs/lexicons/src/atcute.ts
···
48
48
interface Output {
49
49
recipe: Result;
50
50
}
51
+
interface AuthorInfo {
52
+
[Brand.Type]?: "moe.hayden.cookware.getRecipe#authorInfo";
53
+
handle: string;
54
+
}
51
55
interface Result {
52
56
[Brand.Type]?: "moe.hayden.cookware.getRecipe#result";
57
+
author: AuthorInfo;
53
58
ingredients: MoeHaydenCookwareDefs.Ingredient[];
54
59
steps: MoeHaydenCookwareDefs.Step[];
55
60
title: string;
+693
-323
pnpm-lock.yaml
+693
-323
pnpm-lock.yaml
···
10
10
11
11
apps/api:
12
12
dependencies:
13
+
'@atcute/client':
14
+
specifier: ^2.0.6
15
+
version: 2.0.6
16
+
'@atproto/api':
17
+
specifier: ^0.13.19
18
+
version: 0.13.19
19
+
'@atproto/jwk-jose':
20
+
specifier: ^0.1.2
21
+
version: 0.1.2
22
+
'@atproto/oauth-client-node':
23
+
specifier: ^0.2.3
24
+
version: 0.2.3
13
25
'@hono/node-server':
14
26
specifier: ^1.13.7
15
27
version: 1.13.7(hono@4.6.12)
···
24
36
version: 4.0.8
25
37
drizzle-orm:
26
38
specifier: ^0.37.0
27
-
version: 0.37.0(@libsql/client@0.14.0(bufferutil@4.0.8))(@types/react@18.3.12)(react@18.3.1)
39
+
version: 0.37.0(@libsql/client@0.14.0(bufferutil@4.0.8))(@types/react@19.0.1)(react@19.0.0)
28
40
hono:
29
41
specifier: ^4.6.12
30
42
version: 4.6.12
43
+
hono-sessions:
44
+
specifier: ^0.7.0
45
+
version: 0.7.0
31
46
jose:
32
47
specifier: ^5.9.6
33
48
version: 5.9.6
···
86
101
'@atcute/oauth-browser-client':
87
102
specifier: ^1.0.7
88
103
version: 1.0.7
89
-
'@cookware/lexicons':
90
-
specifier: workspace:^
91
-
version: link:../../libs/lexicons
92
104
'@radix-ui/react-avatar':
93
105
specifier: ^1.1.1
94
-
version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
106
+
version: 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
95
107
'@radix-ui/react-collapsible':
96
108
specifier: ^1.1.1
97
-
version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
109
+
version: 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
98
110
'@radix-ui/react-dialog':
99
111
specifier: ^1.1.2
100
-
version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
112
+
version: 1.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
101
113
'@radix-ui/react-dropdown-menu':
102
114
specifier: ^2.1.2
103
-
version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
115
+
version: 2.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
116
+
'@radix-ui/react-label':
117
+
specifier: ^2.1.0
118
+
version: 2.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
104
119
'@radix-ui/react-separator':
105
120
specifier: ^1.1.0
106
-
version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
121
+
version: 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
107
122
'@radix-ui/react-slot':
108
123
specifier: ^1.1.0
109
-
version: 1.1.0(@types/react@18.3.12)(react@18.3.1)
124
+
version: 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
110
125
'@radix-ui/react-tooltip':
111
126
specifier: ^1.1.4
112
-
version: 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
127
+
version: 1.1.4(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
113
128
'@tanstack/react-query':
114
129
specifier: ^5.62.2
115
-
version: 5.62.2(react@18.3.1)
130
+
version: 5.62.2(react@19.0.0-rc-7283a213-20241206)
116
131
'@tanstack/react-query-devtools':
117
132
specifier: ^5.62.2
118
-
version: 5.62.2(@tanstack/react-query@5.62.2(react@18.3.1))(react@18.3.1)
133
+
version: 5.62.2(@tanstack/react-query@5.62.2(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
119
134
'@tanstack/react-router':
120
135
specifier: ^1.85.5
121
-
version: 1.85.5(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
136
+
version: 1.85.5(@tanstack/router-generator@1.85.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
137
+
axios:
138
+
specifier: ^1.7.9
139
+
version: 1.7.9
122
140
class-variance-authority:
123
141
specifier: ^0.7.1
124
142
version: 0.7.1
···
127
145
version: 2.1.1
128
146
lucide-react:
129
147
specifier: ^0.464.0
130
-
version: 0.464.0(react@18.3.1)
131
-
react:
132
-
specifier: ^18.3.1
133
-
version: 18.3.1
148
+
version: 0.464.0(react@19.0.0-rc-7283a213-20241206)
134
149
react-dom:
135
-
specifier: ^18.3.1
136
-
version: 18.3.1(react@18.3.1)
150
+
specifier: 19.0.0-rc-f994737d14-20240522
151
+
version: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
137
152
tailwind-merge:
138
153
specifier: ^2.5.5
139
154
version: 2.5.5
···
141
156
specifier: ^1.0.7
142
157
version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.6.3)))
143
158
devDependencies:
159
+
'@atcute/bluesky':
160
+
specifier: ^1.0.9
161
+
version: 1.0.9(@atcute/client@2.0.6)
162
+
'@cookware/lexicons':
163
+
specifier: workspace:*
164
+
version: link:../../libs/lexicons
144
165
'@eslint/js':
145
166
specifier: ^9.15.0
146
167
version: 9.16.0
···
149
170
version: 5.62.1(eslint@9.16.0(jiti@2.4.1))(typescript@5.6.3)
150
171
'@tanstack/router-devtools':
151
172
specifier: ^1.85.5
152
-
version: 1.85.5(@tanstack/react-router@1.85.5(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
173
+
version: 1.85.5(@tanstack/react-router@1.85.5(@tanstack/router-generator@1.85.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206))(csstype@3.1.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
153
174
'@tanstack/router-plugin':
154
175
specifier: ^1.85.3
155
176
version: 1.85.3(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1))
···
157
178
specifier: ^22.10.1
158
179
version: 22.10.1
159
180
'@types/react':
160
-
specifier: ^18.3.12
161
-
version: 18.3.12
181
+
specifier: ^19.0.0
182
+
version: 19.0.1
162
183
'@types/react-dom':
163
-
specifier: ^18.3.1
164
-
version: 18.3.1
184
+
specifier: ^19.0.0
185
+
version: 19.0.1
165
186
'@vitejs/plugin-react-swc':
166
187
specifier: ^3.5.0
167
188
version: 3.7.2(vite@6.0.2(@types/node@22.10.1)(jiti@2.4.1)(tsx@4.19.2)(yaml@2.6.1))
···
183
204
postcss:
184
205
specifier: ^8.4.49
185
206
version: 8.4.49
207
+
react:
208
+
specifier: 19.0.0-rc-7283a213-20241206
209
+
version: 19.0.0-rc-7283a213-20241206
186
210
tailwindcss:
187
211
specifier: ^3.4.16
188
212
version: 3.4.16(ts-node@10.9.2(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.6.3))
···
241
265
'@atcute/oauth-browser-client@1.0.7':
242
266
resolution: {integrity: sha512-ikf3FscGZXYU+S0K4n9eDUMg6pS//g/Zr159+bznxO3Wn2JYBohEIxzy29OIEExXD/qAYMq9kfqvo2d0gs4JWQ==}
243
267
268
+
'@atproto-labs/did-resolver@0.1.6':
269
+
resolution: {integrity: sha512-qddGpcjKj9SUMlZW1d+/dY/03CDVcmOAlAozXEXsU2H5OT1vFAdMmOp0VbwK0y99RH3DvAQtyQKiRzoPFqp8rA==}
270
+
271
+
'@atproto-labs/fetch-node@0.1.4':
272
+
resolution: {integrity: sha512-hwYx0XpgIl2zydRy13DtWvywruuHk1EX+yCjqjgUIezUm8fi35ZN4QvR6INEm0MpN2MD/kQsImPbd8ZftzZ3zw==}
273
+
274
+
'@atproto-labs/fetch@0.1.2':
275
+
resolution: {integrity: sha512-7mQQIRtVenqtdBQKCqoLjyAhPS2aA56EGEjyz5zB3sramM3qkrvzyusr55GAzGDS0tvB6cy9cDEtSLmfK7LUnA==}
276
+
277
+
'@atproto-labs/handle-resolver-node@0.1.8':
278
+
resolution: {integrity: sha512-AlH7qRtmhZFRCcv1HK9OYiZpTFGcX39zjzzANq42zVLlfqoJr3ugnv7mAXGHE8woVguKtbypHnrVCDceoBAs2w==}
279
+
280
+
'@atproto-labs/handle-resolver@0.1.4':
281
+
resolution: {integrity: sha512-tnGUD2mQ6c8xHs3eeVJgwYqM3FHoTZZbOcOGKqO1A5cuIG+gElwEhpWwpwX5LI7FF4J8eS9BOHLl3NFS7Q8QXg==}
282
+
283
+
'@atproto-labs/identity-resolver@0.1.7':
284
+
resolution: {integrity: sha512-aRmY0cp+aFDgxAD62jjCPUDJMqryuXmt0hK9ls8LHeSzszr58BFDwybLaW6Izz2KISQlzu75Ia0c6uRymdmcYA==}
285
+
286
+
'@atproto-labs/pipe@0.1.0':
287
+
resolution: {integrity: sha512-ghOqHFyJlQVFPESzlVHjKroP0tPzbmG5Jms0dNI9yLDEfL8xp4OFPWLX4f6T8mRq69wWs4nIDM3sSsFbFqLa1w==}
288
+
289
+
'@atproto-labs/simple-store-memory@0.1.1':
290
+
resolution: {integrity: sha512-PCRqhnZ8NBNBvLku53O56T0lsVOtclfIrQU/rwLCc4+p45/SBPrRYNBi6YFq5rxZbK6Njos9MCmILV/KLQxrWA==}
291
+
292
+
'@atproto-labs/simple-store@0.1.1':
293
+
resolution: {integrity: sha512-WKILW2b3QbAYKh+w5U2x6p5FqqLl0nAeLwGeDY+KjX01K4Dq3vQTR9b/qNp0jZm48CabPQVrqCv0PPU9LgRRRg==}
294
+
295
+
'@atproto/api@0.13.19':
296
+
resolution: {integrity: sha512-rLWQBZaOIk3ds1Fx9CwrdyX3X2GbdSEvVJ9mdSPNX40joiEaE1ljGMOcziFipbvZacXynozE4E0Sb1CgOhzfmA==}
297
+
298
+
'@atproto/common-web@0.3.1':
299
+
resolution: {integrity: sha512-N7wiTnus5vAr+lT//0y8m/FaHHLJ9LpGuEwkwDAeV3LCiPif4m/FS8x/QOYrx1PdZQwKso95RAPzCGWQBH5j6Q==}
300
+
301
+
'@atproto/did@0.1.3':
302
+
resolution: {integrity: sha512-ULD8Gw/KRRwLFZ2Z2L4DjmdOMrg8IYYlcjdSc+GQ2/QJSVnD2zaJJVTLd3vls121wGt/583rNaiZTT2DpBze4w==}
303
+
304
+
'@atproto/jwk-jose@0.1.2':
305
+
resolution: {integrity: sha512-lDwc/6lLn2aZ/JpyyggyjLFsJPMntrVzryyGUx5aNpuTS8SIuc4Ky0REhxqfLopQXJJZCuRRjagHG3uP05/moQ==}
306
+
307
+
'@atproto/jwk-webcrypto@0.1.2':
308
+
resolution: {integrity: sha512-vTBUbUZXh0GI+6KJiPGukmI4BQEHFAij8fJJ4WnReF/hefAs3ISZtrWZHGBebz+q2EcExYlnhhlmxvDzV7veGw==}
309
+
310
+
'@atproto/jwk@0.1.1':
311
+
resolution: {integrity: sha512-6h/bj1APUk7QcV9t/oA6+9DB5NZx9SZru9x+/pV5oHFI9Xz4ZuM5+dq1PfsJV54pZyqdnZ6W6M717cxoC7q7og==}
312
+
313
+
'@atproto/lexicon@0.4.3':
314
+
resolution: {integrity: sha512-lFVZXe1S1pJP0dcxvJuHP3r/a+EAIBwwU7jUK+r8iLhIja+ml6NmYv8KeFHmIJATh03spEQ9s02duDmFVdCoXg==}
315
+
316
+
'@atproto/oauth-client-node@0.2.3':
317
+
resolution: {integrity: sha512-crHxZaP9T/i7O9fOhALcFtW1EP/tVblDnWoaIiZ3vL/hvVLwSUad/wvG2WPcVURzLSbigDInhn7rZZSzLxJacg==}
318
+
319
+
'@atproto/oauth-client@0.3.3':
320
+
resolution: {integrity: sha512-qC6ekTdbUrXxDwuUC9jInWw7TuJYkl/EuReoLcvZ7dv9KbCUEuoYT0TNROLGp24cxRH65q/PVlp10Ov7lkxteg==}
321
+
322
+
'@atproto/oauth-types@0.2.1':
323
+
resolution: {integrity: sha512-hDisUXzcq5KU1HMuCYZ8Kcz7BePl7V11bFjjgZvND3mdSphiyBpJ8MCNn3QzAa6cXpFo0w9PDcYMAlCCRZHdVw==}
324
+
325
+
'@atproto/syntax@0.3.1':
326
+
resolution: {integrity: sha512-fzW0Mg1QUOVCWUD3RgEsDt6d1OZ6DdFmbKcDdbzUfh0t4rhtRAC05KbZYmxuMPWDAiJ4BbbQ5dkAc/mNypMXkw==}
327
+
328
+
'@atproto/xrpc@0.6.4':
329
+
resolution: {integrity: sha512-9ZAJ8nsXTqC4XFyS0E1Wlg7bAvonhXQNQ3Ocs1L1LIwFLXvsw/4fNpIHXxvXvqTCVeyHLbImOnE9UiO1c/qIYA==}
330
+
244
331
'@babel/code-frame@7.26.2':
245
332
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
246
333
engines: {node: '>=6.9.0'}
···
1233
1320
'@types/react':
1234
1321
optional: true
1235
1322
1323
+
'@radix-ui/react-label@2.1.0':
1324
+
resolution: {integrity: sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==}
1325
+
peerDependencies:
1326
+
'@types/react': '*'
1327
+
'@types/react-dom': '*'
1328
+
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1329
+
react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
1330
+
peerDependenciesMeta:
1331
+
'@types/react':
1332
+
optional: true
1333
+
'@types/react-dom':
1334
+
optional: true
1335
+
1236
1336
'@radix-ui/react-menu@2.1.2':
1237
1337
resolution: {integrity: sha512-lZ0R4qR2Al6fZ4yCCZzu/ReTFrylHFxIqy7OezIpWF4bL0o9biKo0pFIvkaew3TyZ9Fy5gYVrR5zCGZBVbO1zg==}
1238
1338
peerDependencies:
···
1694
1794
'@types/node@22.10.1':
1695
1795
resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==}
1696
1796
1697
-
'@types/prop-types@15.7.13':
1698
-
resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
1797
+
'@types/react-dom@19.0.1':
1798
+
resolution: {integrity: sha512-hljHij7MpWPKF6u5vojuyfV0YA4YURsQG7KT6SzV0Zs2BXAtgdTxG6A229Ub/xiWV4w/7JL8fi6aAyjshH4meA==}
1699
1799
1700
-
'@types/react-dom@18.3.1':
1701
-
resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==}
1702
-
1703
-
'@types/react@18.3.12':
1704
-
resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==}
1800
+
'@types/react@19.0.1':
1801
+
resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==}
1705
1802
1706
1803
'@types/ws@8.5.13':
1707
1804
resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==}
···
1826
1923
resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
1827
1924
engines: {node: '>=10'}
1828
1925
1926
+
asynckit@0.4.0:
1927
+
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
1928
+
1829
1929
atomic-sleep@1.0.0:
1830
1930
resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
1831
1931
engines: {node: '>=8.0.0'}
···
1837
1937
peerDependencies:
1838
1938
postcss: ^8.1.0
1839
1939
1940
+
await-lock@2.2.2:
1941
+
resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==}
1942
+
1943
+
axios@1.7.9:
1944
+
resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==}
1945
+
1840
1946
babel-dead-code-elimination@1.0.6:
1841
1947
resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==}
1842
1948
···
1919
2025
colorette@2.0.20:
1920
2026
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
1921
2027
2028
+
combined-stream@1.0.8:
2029
+
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
2030
+
engines: {node: '>= 0.8'}
2031
+
1922
2032
commander@4.1.1:
1923
2033
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1924
2034
engines: {node: '>= 6'}
···
1967
2077
deep-is@0.1.4:
1968
2078
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1969
2079
2080
+
delayed-stream@1.0.0:
2081
+
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
2082
+
engines: {node: '>=0.4.0'}
2083
+
1970
2084
detect-libc@2.0.2:
1971
2085
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
1972
2086
engines: {node: '>=8'}
···
2242
2356
flatted@3.3.2:
2243
2357
resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
2244
2358
2359
+
follow-redirects@1.15.9:
2360
+
resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
2361
+
engines: {node: '>=4.0'}
2362
+
peerDependencies:
2363
+
debug: '*'
2364
+
peerDependenciesMeta:
2365
+
debug:
2366
+
optional: true
2367
+
2245
2368
foreground-child@3.3.0:
2246
2369
resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
2247
2370
engines: {node: '>=14'}
2371
+
2372
+
form-data@4.0.1:
2373
+
resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
2374
+
engines: {node: '>= 6'}
2248
2375
2249
2376
formdata-polyfill@4.0.10:
2250
2377
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
···
2320
2447
help-me@5.0.0:
2321
2448
resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==}
2322
2449
2450
+
hono-sessions@0.7.0:
2451
+
resolution: {integrity: sha512-bclJUXaBq66R7jEjccqs/tc9WPJiS/wbWV5rrSMuYkTTCRF24wUi2nHjIummb7yzSpkT3GqLRifZkvNbzSMTzg==}
2452
+
2323
2453
hono@4.6.12:
2324
2454
resolution: {integrity: sha512-eHtf4kSDNw6VVrdbd5IQi16r22m3s7mWPLd7xOMhg1a/Yyb1A0qpUFq8xYMX4FMuDe1nTKeMX5rTx7Nmw+a+Ag==}
2325
2455
engines: {node: '>=16.9.0'}
···
2339
2469
invariant@2.2.4:
2340
2470
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
2341
2471
2472
+
ipaddr.js@2.2.0:
2473
+
resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
2474
+
engines: {node: '>= 10'}
2475
+
2476
+
iron-webcrypto@0.10.1:
2477
+
resolution: {integrity: sha512-QGOS8MRMnj/UiOa+aMIgfyHcvkhqNUsUxb1XzskENvbo+rEfp6TOwqd1KPuDzXC4OnGHcMSVxDGRoilqB8ViqA==}
2478
+
2342
2479
is-binary-path@2.1.0:
2343
2480
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
2344
2481
engines: {node: '>=8'}
···
2365
2502
2366
2503
isexe@2.0.0:
2367
2504
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
2505
+
2506
+
iso-datestring-validator@2.2.2:
2507
+
resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==}
2368
2508
2369
2509
jackspeak@3.4.3:
2370
2510
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
···
2480
2620
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
2481
2621
engines: {node: '>=8.6'}
2482
2622
2623
+
mime-db@1.52.0:
2624
+
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
2625
+
engines: {node: '>= 0.6'}
2626
+
2627
+
mime-types@2.1.35:
2628
+
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
2629
+
engines: {node: '>= 0.6'}
2630
+
2483
2631
minimatch@10.0.1:
2484
2632
resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
2485
2633
engines: {node: 20 || >=22}
···
2500
2648
2501
2649
ms@2.1.3:
2502
2650
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
2651
+
2652
+
multiformats@9.9.0:
2653
+
resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
2503
2654
2504
2655
mz@2.7.0:
2505
2656
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
···
2703
2854
promise-limit@2.7.0:
2704
2855
resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==}
2705
2856
2857
+
proxy-from-env@1.1.0:
2858
+
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
2859
+
2860
+
psl@1.15.0:
2861
+
resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
2862
+
2706
2863
pump@3.0.2:
2707
2864
resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
2708
2865
···
2716
2873
quick-format-unescaped@4.0.4:
2717
2874
resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
2718
2875
2719
-
react-dom@18.3.1:
2720
-
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
2876
+
react-dom@19.0.0-rc-f994737d14-20240522:
2877
+
resolution: {integrity: sha512-J4CsfTSptPKkhaPbaR6n/KohQiHZTrRZ8GL4H8rbAqN/Qpy69g2MIoLBr5/PUX21ye6JxC1ZRWJFna7Xdg1pdA==}
2721
2878
peerDependencies:
2722
-
react: ^18.3.1
2879
+
react: 19.0.0-rc-f994737d14-20240522
2723
2880
2724
2881
react-remove-scroll-bar@2.3.6:
2725
2882
resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
···
2751
2908
'@types/react':
2752
2909
optional: true
2753
2910
2754
-
react@18.3.1:
2755
-
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
2911
+
react@19.0.0:
2912
+
resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
2913
+
engines: {node: '>=0.10.0'}
2914
+
2915
+
react@19.0.0-rc-7283a213-20241206:
2916
+
resolution: {integrity: sha512-Jl/WSFghvrXr58g29BOBctG+uh3qvB05O149bsYVzv1OAOWe8ADElQn0ujSHjxcWAgU5UzsCqqRauzngjd/hgw==}
2756
2917
engines: {node: '>=0.10.0'}
2757
2918
2758
2919
read-cache@1.0.0:
···
2806
2967
resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
2807
2968
engines: {node: '>=10'}
2808
2969
2809
-
scheduler@0.23.2:
2810
-
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
2970
+
scheduler@0.25.0-rc-f994737d14-20240522:
2971
+
resolution: {integrity: sha512-qS+xGFF7AljP2APO2iJe8zESNsK20k25MACz+WGOXPybUsRdi1ssvaoF93im2nSX2q/XT3wKkjdz6RQfbmaxdw==}
2811
2972
2812
2973
secure-json-parse@2.7.0:
2813
2974
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
···
2924
3085
resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
2925
3086
engines: {node: '>=12.0.0'}
2926
3087
3088
+
tlds@1.255.0:
3089
+
resolution: {integrity: sha512-tcwMRIioTcF/FcxLev8MJWxCp+GUALRhFEqbDoZrnowmKSGqPrl5pqS+Sut2m8BgJ6S4FExCSSpGffZ0Tks6Aw==}
3090
+
hasBin: true
3091
+
2927
3092
to-regex-range@5.0.1:
2928
3093
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2929
3094
engines: {node: '>=8.0'}
···
3009
3174
engines: {node: '>=14.17'}
3010
3175
hasBin: true
3011
3176
3177
+
uint8arrays@3.0.0:
3178
+
resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==}
3179
+
3012
3180
undici-types@6.20.0:
3013
3181
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
3182
+
3183
+
undici@6.21.0:
3184
+
resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==}
3185
+
engines: {node: '>=18.17'}
3014
3186
3015
3187
unplugin@1.16.0:
3016
3188
resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==}
···
3187
3359
'@atcute/client': 2.0.6
3188
3360
nanoid: 5.0.9
3189
3361
3362
+
'@atproto-labs/did-resolver@0.1.6':
3363
+
dependencies:
3364
+
'@atproto-labs/fetch': 0.1.2
3365
+
'@atproto-labs/pipe': 0.1.0
3366
+
'@atproto-labs/simple-store': 0.1.1
3367
+
'@atproto-labs/simple-store-memory': 0.1.1
3368
+
'@atproto/did': 0.1.3
3369
+
zod: 3.23.8
3370
+
3371
+
'@atproto-labs/fetch-node@0.1.4':
3372
+
dependencies:
3373
+
'@atproto-labs/fetch': 0.1.2
3374
+
'@atproto-labs/pipe': 0.1.0
3375
+
ipaddr.js: 2.2.0
3376
+
psl: 1.15.0
3377
+
undici: 6.21.0
3378
+
3379
+
'@atproto-labs/fetch@0.1.2':
3380
+
dependencies:
3381
+
'@atproto-labs/pipe': 0.1.0
3382
+
optionalDependencies:
3383
+
zod: 3.23.8
3384
+
3385
+
'@atproto-labs/handle-resolver-node@0.1.8':
3386
+
dependencies:
3387
+
'@atproto-labs/fetch-node': 0.1.4
3388
+
'@atproto-labs/handle-resolver': 0.1.4
3389
+
'@atproto/did': 0.1.3
3390
+
3391
+
'@atproto-labs/handle-resolver@0.1.4':
3392
+
dependencies:
3393
+
'@atproto-labs/simple-store': 0.1.1
3394
+
'@atproto-labs/simple-store-memory': 0.1.1
3395
+
'@atproto/did': 0.1.3
3396
+
zod: 3.23.8
3397
+
3398
+
'@atproto-labs/identity-resolver@0.1.7':
3399
+
dependencies:
3400
+
'@atproto-labs/did-resolver': 0.1.6
3401
+
'@atproto-labs/handle-resolver': 0.1.4
3402
+
'@atproto/syntax': 0.3.1
3403
+
3404
+
'@atproto-labs/pipe@0.1.0': {}
3405
+
3406
+
'@atproto-labs/simple-store-memory@0.1.1':
3407
+
dependencies:
3408
+
'@atproto-labs/simple-store': 0.1.1
3409
+
lru-cache: 10.4.3
3410
+
3411
+
'@atproto-labs/simple-store@0.1.1': {}
3412
+
3413
+
'@atproto/api@0.13.19':
3414
+
dependencies:
3415
+
'@atproto/common-web': 0.3.1
3416
+
'@atproto/lexicon': 0.4.3
3417
+
'@atproto/syntax': 0.3.1
3418
+
'@atproto/xrpc': 0.6.4
3419
+
await-lock: 2.2.2
3420
+
multiformats: 9.9.0
3421
+
tlds: 1.255.0
3422
+
zod: 3.23.8
3423
+
3424
+
'@atproto/common-web@0.3.1':
3425
+
dependencies:
3426
+
graphemer: 1.4.0
3427
+
multiformats: 9.9.0
3428
+
uint8arrays: 3.0.0
3429
+
zod: 3.23.8
3430
+
3431
+
'@atproto/did@0.1.3':
3432
+
dependencies:
3433
+
zod: 3.23.8
3434
+
3435
+
'@atproto/jwk-jose@0.1.2':
3436
+
dependencies:
3437
+
'@atproto/jwk': 0.1.1
3438
+
jose: 5.9.6
3439
+
3440
+
'@atproto/jwk-webcrypto@0.1.2':
3441
+
dependencies:
3442
+
'@atproto/jwk': 0.1.1
3443
+
'@atproto/jwk-jose': 0.1.2
3444
+
3445
+
'@atproto/jwk@0.1.1':
3446
+
dependencies:
3447
+
multiformats: 9.9.0
3448
+
zod: 3.23.8
3449
+
3450
+
'@atproto/lexicon@0.4.3':
3451
+
dependencies:
3452
+
'@atproto/common-web': 0.3.1
3453
+
'@atproto/syntax': 0.3.1
3454
+
iso-datestring-validator: 2.2.2
3455
+
multiformats: 9.9.0
3456
+
zod: 3.23.8
3457
+
3458
+
'@atproto/oauth-client-node@0.2.3':
3459
+
dependencies:
3460
+
'@atproto-labs/did-resolver': 0.1.6
3461
+
'@atproto-labs/handle-resolver-node': 0.1.8
3462
+
'@atproto-labs/simple-store': 0.1.1
3463
+
'@atproto/did': 0.1.3
3464
+
'@atproto/jwk': 0.1.1
3465
+
'@atproto/jwk-jose': 0.1.2
3466
+
'@atproto/jwk-webcrypto': 0.1.2
3467
+
'@atproto/oauth-client': 0.3.3
3468
+
'@atproto/oauth-types': 0.2.1
3469
+
3470
+
'@atproto/oauth-client@0.3.3':
3471
+
dependencies:
3472
+
'@atproto-labs/did-resolver': 0.1.6
3473
+
'@atproto-labs/fetch': 0.1.2
3474
+
'@atproto-labs/handle-resolver': 0.1.4
3475
+
'@atproto-labs/identity-resolver': 0.1.7
3476
+
'@atproto-labs/simple-store': 0.1.1
3477
+
'@atproto-labs/simple-store-memory': 0.1.1
3478
+
'@atproto/did': 0.1.3
3479
+
'@atproto/jwk': 0.1.1
3480
+
'@atproto/oauth-types': 0.2.1
3481
+
'@atproto/xrpc': 0.6.4
3482
+
multiformats: 9.9.0
3483
+
zod: 3.23.8
3484
+
3485
+
'@atproto/oauth-types@0.2.1':
3486
+
dependencies:
3487
+
'@atproto/jwk': 0.1.1
3488
+
zod: 3.23.8
3489
+
3490
+
'@atproto/syntax@0.3.1': {}
3491
+
3492
+
'@atproto/xrpc@0.6.4':
3493
+
dependencies:
3494
+
'@atproto/lexicon': 0.4.3
3495
+
zod: 3.23.8
3496
+
3190
3497
'@babel/code-frame@7.26.2':
3191
3498
dependencies:
3192
3499
'@babel/helper-validator-identifier': 7.25.9
···
3646
3953
'@floating-ui/core': 1.6.8
3647
3954
'@floating-ui/utils': 0.2.8
3648
3955
3649
-
'@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3956
+
'@floating-ui/react-dom@2.1.2(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3650
3957
dependencies:
3651
3958
'@floating-ui/dom': 1.6.12
3652
-
react: 18.3.1
3653
-
react-dom: 18.3.1(react@18.3.1)
3959
+
react: 19.0.0-rc-7283a213-20241206
3960
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3654
3961
3655
3962
'@floating-ui/utils@0.2.8': {}
3656
3963
···
3777
4084
3778
4085
'@radix-ui/primitive@1.1.0': {}
3779
4086
3780
-
'@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4087
+
'@radix-ui/react-arrow@1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3781
4088
dependencies:
3782
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3783
-
react: 18.3.1
3784
-
react-dom: 18.3.1(react@18.3.1)
4089
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4090
+
react: 19.0.0-rc-7283a213-20241206
4091
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3785
4092
optionalDependencies:
3786
-
'@types/react': 18.3.12
3787
-
'@types/react-dom': 18.3.1
4093
+
'@types/react': 19.0.1
4094
+
'@types/react-dom': 19.0.1
3788
4095
3789
-
'@radix-ui/react-avatar@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4096
+
'@radix-ui/react-avatar@1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3790
4097
dependencies:
3791
-
'@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3792
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3793
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3794
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3795
-
react: 18.3.1
3796
-
react-dom: 18.3.1(react@18.3.1)
4098
+
'@radix-ui/react-context': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4099
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4100
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4101
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4102
+
react: 19.0.0-rc-7283a213-20241206
4103
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3797
4104
optionalDependencies:
3798
-
'@types/react': 18.3.12
3799
-
'@types/react-dom': 18.3.1
4105
+
'@types/react': 19.0.1
4106
+
'@types/react-dom': 19.0.1
3800
4107
3801
-
'@radix-ui/react-collapsible@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4108
+
'@radix-ui/react-collapsible@1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3802
4109
dependencies:
3803
4110
'@radix-ui/primitive': 1.1.0
3804
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3805
-
'@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3806
-
'@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3807
-
'@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3808
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3809
-
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3810
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3811
-
react: 18.3.1
3812
-
react-dom: 18.3.1(react@18.3.1)
4111
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4112
+
'@radix-ui/react-context': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4113
+
'@radix-ui/react-id': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4114
+
'@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4115
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4116
+
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4117
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4118
+
react: 19.0.0-rc-7283a213-20241206
4119
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3813
4120
optionalDependencies:
3814
-
'@types/react': 18.3.12
3815
-
'@types/react-dom': 18.3.1
4121
+
'@types/react': 19.0.1
4122
+
'@types/react-dom': 19.0.1
3816
4123
3817
-
'@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4124
+
'@radix-ui/react-collection@1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3818
4125
dependencies:
3819
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3820
-
'@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3821
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3822
-
'@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3823
-
react: 18.3.1
3824
-
react-dom: 18.3.1(react@18.3.1)
4126
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4127
+
'@radix-ui/react-context': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4128
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4129
+
'@radix-ui/react-slot': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4130
+
react: 19.0.0-rc-7283a213-20241206
4131
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3825
4132
optionalDependencies:
3826
-
'@types/react': 18.3.12
3827
-
'@types/react-dom': 18.3.1
4133
+
'@types/react': 19.0.1
4134
+
'@types/react-dom': 19.0.1
3828
4135
3829
-
'@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4136
+
'@radix-ui/react-compose-refs@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
3830
4137
dependencies:
3831
-
react: 18.3.1
4138
+
react: 19.0.0-rc-7283a213-20241206
3832
4139
optionalDependencies:
3833
-
'@types/react': 18.3.12
4140
+
'@types/react': 19.0.1
3834
4141
3835
-
'@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4142
+
'@radix-ui/react-context@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
3836
4143
dependencies:
3837
-
react: 18.3.1
4144
+
react: 19.0.0-rc-7283a213-20241206
3838
4145
optionalDependencies:
3839
-
'@types/react': 18.3.12
4146
+
'@types/react': 19.0.1
3840
4147
3841
-
'@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)':
4148
+
'@radix-ui/react-context@1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
3842
4149
dependencies:
3843
-
react: 18.3.1
4150
+
react: 19.0.0-rc-7283a213-20241206
3844
4151
optionalDependencies:
3845
-
'@types/react': 18.3.12
4152
+
'@types/react': 19.0.1
3846
4153
3847
-
'@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4154
+
'@radix-ui/react-dialog@1.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3848
4155
dependencies:
3849
4156
'@radix-ui/primitive': 1.1.0
3850
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3851
-
'@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3852
-
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3853
-
'@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3854
-
'@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3855
-
'@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3856
-
'@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3857
-
'@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3858
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3859
-
'@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3860
-
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4157
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4158
+
'@radix-ui/react-context': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4159
+
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4160
+
'@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4161
+
'@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4162
+
'@radix-ui/react-id': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4163
+
'@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4164
+
'@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4165
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4166
+
'@radix-ui/react-slot': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4167
+
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
3861
4168
aria-hidden: 1.2.4
3862
-
react: 18.3.1
3863
-
react-dom: 18.3.1(react@18.3.1)
3864
-
react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
4169
+
react: 19.0.0-rc-7283a213-20241206
4170
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4171
+
react-remove-scroll: 2.6.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
3865
4172
optionalDependencies:
3866
-
'@types/react': 18.3.12
3867
-
'@types/react-dom': 18.3.1
4173
+
'@types/react': 19.0.1
4174
+
'@types/react-dom': 19.0.1
3868
4175
3869
-
'@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4176
+
'@radix-ui/react-direction@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
3870
4177
dependencies:
3871
-
react: 18.3.1
4178
+
react: 19.0.0-rc-7283a213-20241206
3872
4179
optionalDependencies:
3873
-
'@types/react': 18.3.12
4180
+
'@types/react': 19.0.1
3874
4181
3875
-
'@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4182
+
'@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3876
4183
dependencies:
3877
4184
'@radix-ui/primitive': 1.1.0
3878
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3879
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3880
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3881
-
'@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3882
-
react: 18.3.1
3883
-
react-dom: 18.3.1(react@18.3.1)
4185
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4186
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4187
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4188
+
'@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4189
+
react: 19.0.0-rc-7283a213-20241206
4190
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3884
4191
optionalDependencies:
3885
-
'@types/react': 18.3.12
3886
-
'@types/react-dom': 18.3.1
4192
+
'@types/react': 19.0.1
4193
+
'@types/react-dom': 19.0.1
3887
4194
3888
-
'@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4195
+
'@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3889
4196
dependencies:
3890
4197
'@radix-ui/primitive': 1.1.0
3891
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3892
-
'@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3893
-
'@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3894
-
'@radix-ui/react-menu': 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3895
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3896
-
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3897
-
react: 18.3.1
3898
-
react-dom: 18.3.1(react@18.3.1)
4198
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4199
+
'@radix-ui/react-context': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4200
+
'@radix-ui/react-id': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4201
+
'@radix-ui/react-menu': 2.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4202
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4203
+
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4204
+
react: 19.0.0-rc-7283a213-20241206
4205
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3899
4206
optionalDependencies:
3900
-
'@types/react': 18.3.12
3901
-
'@types/react-dom': 18.3.1
4207
+
'@types/react': 19.0.1
4208
+
'@types/react-dom': 19.0.1
3902
4209
3903
-
'@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)':
4210
+
'@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
3904
4211
dependencies:
3905
-
react: 18.3.1
4212
+
react: 19.0.0-rc-7283a213-20241206
4213
+
optionalDependencies:
4214
+
'@types/react': 19.0.1
4215
+
4216
+
'@radix-ui/react-focus-scope@1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4217
+
dependencies:
4218
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4219
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4220
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4221
+
react: 19.0.0-rc-7283a213-20241206
4222
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3906
4223
optionalDependencies:
3907
-
'@types/react': 18.3.12
4224
+
'@types/react': 19.0.1
4225
+
'@types/react-dom': 19.0.1
3908
4226
3909
-
'@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4227
+
'@radix-ui/react-id@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
3910
4228
dependencies:
3911
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3912
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3913
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3914
-
react: 18.3.1
3915
-
react-dom: 18.3.1(react@18.3.1)
4229
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4230
+
react: 19.0.0-rc-7283a213-20241206
3916
4231
optionalDependencies:
3917
-
'@types/react': 18.3.12
3918
-
'@types/react-dom': 18.3.1
4232
+
'@types/react': 19.0.1
3919
4233
3920
-
'@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4234
+
'@radix-ui/react-label@2.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3921
4235
dependencies:
3922
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3923
-
react: 18.3.1
4236
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4237
+
react: 19.0.0-rc-7283a213-20241206
4238
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3924
4239
optionalDependencies:
3925
-
'@types/react': 18.3.12
4240
+
'@types/react': 19.0.1
4241
+
'@types/react-dom': 19.0.1
3926
4242
3927
-
'@radix-ui/react-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4243
+
'@radix-ui/react-menu@2.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3928
4244
dependencies:
3929
4245
'@radix-ui/primitive': 1.1.0
3930
-
'@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3931
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3932
-
'@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3933
-
'@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3934
-
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3935
-
'@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
3936
-
'@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3937
-
'@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3938
-
'@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3939
-
'@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3940
-
'@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3941
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3942
-
'@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3943
-
'@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3944
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4246
+
'@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4247
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4248
+
'@radix-ui/react-context': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4249
+
'@radix-ui/react-direction': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4250
+
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4251
+
'@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4252
+
'@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4253
+
'@radix-ui/react-id': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4254
+
'@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4255
+
'@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4256
+
'@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4257
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4258
+
'@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4259
+
'@radix-ui/react-slot': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4260
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
3945
4261
aria-hidden: 1.2.4
3946
-
react: 18.3.1
3947
-
react-dom: 18.3.1(react@18.3.1)
3948
-
react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
4262
+
react: 19.0.0-rc-7283a213-20241206
4263
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4264
+
react-remove-scroll: 2.6.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
3949
4265
optionalDependencies:
3950
-
'@types/react': 18.3.12
3951
-
'@types/react-dom': 18.3.1
4266
+
'@types/react': 19.0.1
4267
+
'@types/react-dom': 19.0.1
3952
4268
3953
-
'@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4269
+
'@radix-ui/react-popper@1.2.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3954
4270
dependencies:
3955
-
'@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3956
-
'@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3957
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3958
-
'@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3959
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3960
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3961
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3962
-
'@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3963
-
'@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4271
+
'@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4272
+
'@radix-ui/react-arrow': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4273
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4274
+
'@radix-ui/react-context': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4275
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4276
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4277
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4278
+
'@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4279
+
'@radix-ui/react-use-size': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
3964
4280
'@radix-ui/rect': 1.1.0
3965
-
react: 18.3.1
3966
-
react-dom: 18.3.1(react@18.3.1)
4281
+
react: 19.0.0-rc-7283a213-20241206
4282
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3967
4283
optionalDependencies:
3968
-
'@types/react': 18.3.12
3969
-
'@types/react-dom': 18.3.1
4284
+
'@types/react': 19.0.1
4285
+
'@types/react-dom': 19.0.1
3970
4286
3971
-
'@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4287
+
'@radix-ui/react-portal@1.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3972
4288
dependencies:
3973
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3974
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3975
-
react: 18.3.1
3976
-
react-dom: 18.3.1(react@18.3.1)
4289
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4290
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4291
+
react: 19.0.0-rc-7283a213-20241206
4292
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3977
4293
optionalDependencies:
3978
-
'@types/react': 18.3.12
3979
-
'@types/react-dom': 18.3.1
4294
+
'@types/react': 19.0.1
4295
+
'@types/react-dom': 19.0.1
3980
4296
3981
-
'@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4297
+
'@radix-ui/react-presence@1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3982
4298
dependencies:
3983
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3984
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3985
-
react: 18.3.1
3986
-
react-dom: 18.3.1(react@18.3.1)
4299
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4300
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4301
+
react: 19.0.0-rc-7283a213-20241206
4302
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3987
4303
optionalDependencies:
3988
-
'@types/react': 18.3.12
3989
-
'@types/react-dom': 18.3.1
4304
+
'@types/react': 19.0.1
4305
+
'@types/react-dom': 19.0.1
3990
4306
3991
-
'@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4307
+
'@radix-ui/react-primitive@2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
3992
4308
dependencies:
3993
-
'@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
3994
-
react: 18.3.1
3995
-
react-dom: 18.3.1(react@18.3.1)
4309
+
'@radix-ui/react-slot': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4310
+
react: 19.0.0-rc-7283a213-20241206
4311
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
3996
4312
optionalDependencies:
3997
-
'@types/react': 18.3.12
3998
-
'@types/react-dom': 18.3.1
4313
+
'@types/react': 19.0.1
4314
+
'@types/react-dom': 19.0.1
3999
4315
4000
-
'@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4316
+
'@radix-ui/react-roving-focus@1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4001
4317
dependencies:
4002
4318
'@radix-ui/primitive': 1.1.0
4003
-
'@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4004
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4005
-
'@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4006
-
'@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4007
-
'@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4008
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4009
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4010
-
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4011
-
react: 18.3.1
4012
-
react-dom: 18.3.1(react@18.3.1)
4319
+
'@radix-ui/react-collection': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4320
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4321
+
'@radix-ui/react-context': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4322
+
'@radix-ui/react-direction': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4323
+
'@radix-ui/react-id': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4324
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4325
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4326
+
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4327
+
react: 19.0.0-rc-7283a213-20241206
4328
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4013
4329
optionalDependencies:
4014
-
'@types/react': 18.3.12
4015
-
'@types/react-dom': 18.3.1
4330
+
'@types/react': 19.0.1
4331
+
'@types/react-dom': 19.0.1
4016
4332
4017
-
'@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4333
+
'@radix-ui/react-separator@1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4018
4334
dependencies:
4019
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4020
-
react: 18.3.1
4021
-
react-dom: 18.3.1(react@18.3.1)
4335
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4336
+
react: 19.0.0-rc-7283a213-20241206
4337
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4022
4338
optionalDependencies:
4023
-
'@types/react': 18.3.12
4024
-
'@types/react-dom': 18.3.1
4339
+
'@types/react': 19.0.1
4340
+
'@types/react-dom': 19.0.1
4025
4341
4026
-
'@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4342
+
'@radix-ui/react-slot@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4027
4343
dependencies:
4028
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4029
-
react: 18.3.1
4344
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4345
+
react: 19.0.0-rc-7283a213-20241206
4030
4346
optionalDependencies:
4031
-
'@types/react': 18.3.12
4347
+
'@types/react': 19.0.1
4032
4348
4033
-
'@radix-ui/react-tooltip@1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4349
+
'@radix-ui/react-tooltip@1.1.4(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4034
4350
dependencies:
4035
4351
'@radix-ui/primitive': 1.1.0
4036
-
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4037
-
'@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
4038
-
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4039
-
'@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4040
-
'@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4041
-
'@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4042
-
'@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4043
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4044
-
'@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4045
-
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4046
-
'@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4047
-
react: 18.3.1
4048
-
react-dom: 18.3.1(react@18.3.1)
4352
+
'@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4353
+
'@radix-ui/react-context': 1.1.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4354
+
'@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4355
+
'@radix-ui/react-id': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4356
+
'@radix-ui/react-popper': 1.2.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4357
+
'@radix-ui/react-portal': 1.1.2(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4358
+
'@radix-ui/react-presence': 1.1.1(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4359
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4360
+
'@radix-ui/react-slot': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4361
+
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4362
+
'@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4363
+
react: 19.0.0-rc-7283a213-20241206
4364
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4049
4365
optionalDependencies:
4050
-
'@types/react': 18.3.12
4051
-
'@types/react-dom': 18.3.1
4366
+
'@types/react': 19.0.1
4367
+
'@types/react-dom': 19.0.1
4052
4368
4053
-
'@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4369
+
'@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4054
4370
dependencies:
4055
-
react: 18.3.1
4371
+
react: 19.0.0-rc-7283a213-20241206
4056
4372
optionalDependencies:
4057
-
'@types/react': 18.3.12
4373
+
'@types/react': 19.0.1
4058
4374
4059
-
'@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4375
+
'@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4060
4376
dependencies:
4061
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4062
-
react: 18.3.1
4377
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4378
+
react: 19.0.0-rc-7283a213-20241206
4063
4379
optionalDependencies:
4064
-
'@types/react': 18.3.12
4380
+
'@types/react': 19.0.1
4065
4381
4066
-
'@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4382
+
'@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4067
4383
dependencies:
4068
-
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4069
-
react: 18.3.1
4384
+
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4385
+
react: 19.0.0-rc-7283a213-20241206
4070
4386
optionalDependencies:
4071
-
'@types/react': 18.3.12
4387
+
'@types/react': 19.0.1
4072
4388
4073
-
'@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4389
+
'@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4074
4390
dependencies:
4075
-
react: 18.3.1
4391
+
react: 19.0.0-rc-7283a213-20241206
4076
4392
optionalDependencies:
4077
-
'@types/react': 18.3.12
4393
+
'@types/react': 19.0.1
4078
4394
4079
-
'@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4395
+
'@radix-ui/react-use-rect@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4080
4396
dependencies:
4081
4397
'@radix-ui/rect': 1.1.0
4082
-
react: 18.3.1
4398
+
react: 19.0.0-rc-7283a213-20241206
4083
4399
optionalDependencies:
4084
-
'@types/react': 18.3.12
4400
+
'@types/react': 19.0.1
4085
4401
4086
-
'@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)':
4402
+
'@radix-ui/react-use-size@1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)':
4087
4403
dependencies:
4088
-
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
4089
-
react: 18.3.1
4404
+
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
4405
+
react: 19.0.0-rc-7283a213-20241206
4090
4406
optionalDependencies:
4091
-
'@types/react': 18.3.12
4407
+
'@types/react': 19.0.1
4092
4408
4093
-
'@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4409
+
'@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4094
4410
dependencies:
4095
-
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4096
-
react: 18.3.1
4097
-
react-dom: 18.3.1(react@18.3.1)
4411
+
'@radix-ui/react-primitive': 2.0.0(@types/react-dom@19.0.1)(@types/react@19.0.1)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4412
+
react: 19.0.0-rc-7283a213-20241206
4413
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4098
4414
optionalDependencies:
4099
-
'@types/react': 18.3.12
4100
-
'@types/react-dom': 18.3.1
4415
+
'@types/react': 19.0.1
4416
+
'@types/react-dom': 19.0.1
4101
4417
4102
4418
'@radix-ui/rect@1.1.0': {}
4103
4419
···
4228
4544
4229
4545
'@tanstack/query-devtools@5.61.4': {}
4230
4546
4231
-
'@tanstack/react-query-devtools@5.62.2(@tanstack/react-query@5.62.2(react@18.3.1))(react@18.3.1)':
4547
+
'@tanstack/react-query-devtools@5.62.2(@tanstack/react-query@5.62.2(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4232
4548
dependencies:
4233
4549
'@tanstack/query-devtools': 5.61.4
4234
-
'@tanstack/react-query': 5.62.2(react@18.3.1)
4235
-
react: 18.3.1
4550
+
'@tanstack/react-query': 5.62.2(react@19.0.0-rc-7283a213-20241206)
4551
+
react: 19.0.0-rc-7283a213-20241206
4236
4552
4237
-
'@tanstack/react-query@5.62.2(react@18.3.1)':
4553
+
'@tanstack/react-query@5.62.2(react@19.0.0-rc-7283a213-20241206)':
4238
4554
dependencies:
4239
4555
'@tanstack/query-core': 5.62.2
4240
-
react: 18.3.1
4556
+
react: 19.0.0-rc-7283a213-20241206
4241
4557
4242
-
'@tanstack/react-router@1.85.5(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4558
+
'@tanstack/react-router@1.85.5(@tanstack/router-generator@1.85.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4243
4559
dependencies:
4244
4560
'@tanstack/history': 1.85.3
4245
-
'@tanstack/react-store': 0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4561
+
'@tanstack/react-store': 0.6.1(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4246
4562
jsesc: 3.0.2
4247
-
react: 18.3.1
4248
-
react-dom: 18.3.1(react@18.3.1)
4563
+
react: 19.0.0-rc-7283a213-20241206
4564
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4249
4565
tiny-invariant: 1.3.3
4250
4566
tiny-warning: 1.0.3
4251
4567
optionalDependencies:
4252
4568
'@tanstack/router-generator': 1.85.3
4253
4569
4254
-
'@tanstack/react-store@0.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4570
+
'@tanstack/react-store@0.6.1(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4255
4571
dependencies:
4256
4572
'@tanstack/store': 0.6.0
4257
-
react: 18.3.1
4258
-
react-dom: 18.3.1(react@18.3.1)
4259
-
use-sync-external-store: 1.2.2(react@18.3.1)
4573
+
react: 19.0.0-rc-7283a213-20241206
4574
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4575
+
use-sync-external-store: 1.2.2(react@19.0.0-rc-7283a213-20241206)
4260
4576
4261
-
'@tanstack/router-devtools@1.85.5(@tanstack/react-router@1.85.5(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
4577
+
'@tanstack/router-devtools@1.85.5(@tanstack/react-router@1.85.5(@tanstack/router-generator@1.85.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206))(csstype@3.1.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)':
4262
4578
dependencies:
4263
-
'@tanstack/react-router': 1.85.5(@tanstack/router-generator@1.85.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4579
+
'@tanstack/react-router': 1.85.5(@tanstack/router-generator@1.85.3)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206))(react@19.0.0-rc-7283a213-20241206)
4264
4580
clsx: 2.1.1
4265
4581
goober: 2.1.16(csstype@3.1.3)
4266
-
react: 18.3.1
4267
-
react-dom: 18.3.1(react@18.3.1)
4582
+
react: 19.0.0-rc-7283a213-20241206
4583
+
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206)
4268
4584
transitivePeerDependencies:
4269
4585
- csstype
4270
4586
···
4341
4657
dependencies:
4342
4658
undici-types: 6.20.0
4343
4659
4344
-
'@types/prop-types@15.7.13': {}
4345
-
4346
-
'@types/react-dom@18.3.1':
4660
+
'@types/react-dom@19.0.1':
4347
4661
dependencies:
4348
-
'@types/react': 18.3.12
4662
+
'@types/react': 19.0.1
4349
4663
4350
-
'@types/react@18.3.12':
4664
+
'@types/react@19.0.1':
4351
4665
dependencies:
4352
-
'@types/prop-types': 15.7.13
4353
4666
csstype: 3.1.3
4354
4667
4355
4668
'@types/ws@8.5.13':
···
4489
4802
dependencies:
4490
4803
tslib: 2.8.1
4491
4804
4805
+
asynckit@0.4.0: {}
4806
+
4492
4807
atomic-sleep@1.0.0: {}
4493
4808
4494
4809
autoprefixer@10.4.20(postcss@8.4.49):
···
4501
4816
postcss: 8.4.49
4502
4817
postcss-value-parser: 4.2.0
4503
4818
4819
+
await-lock@2.2.2: {}
4820
+
4821
+
axios@1.7.9:
4822
+
dependencies:
4823
+
follow-redirects: 1.15.9
4824
+
form-data: 4.0.1
4825
+
proxy-from-env: 1.1.0
4826
+
transitivePeerDependencies:
4827
+
- debug
4828
+
4504
4829
babel-dead-code-elimination@1.0.6:
4505
4830
dependencies:
4506
4831
'@babel/core': 7.26.0
···
4588
4913
4589
4914
colorette@2.0.20: {}
4590
4915
4916
+
combined-stream@1.0.8:
4917
+
dependencies:
4918
+
delayed-stream: 1.0.0
4919
+
4591
4920
commander@4.1.1: {}
4592
4921
4593
4922
concat-map@0.0.1: {}
···
4618
4947
4619
4948
deep-is@0.1.4: {}
4620
4949
4950
+
delayed-stream@1.0.0: {}
4951
+
4621
4952
detect-libc@2.0.2: {}
4622
4953
4623
4954
detect-node-es@1.1.0: {}
···
4637
4968
transitivePeerDependencies:
4638
4969
- supports-color
4639
4970
4640
-
drizzle-orm@0.37.0(@libsql/client@0.14.0(bufferutil@4.0.8))(@types/react@18.3.12)(react@18.3.1):
4971
+
drizzle-orm@0.37.0(@libsql/client@0.14.0(bufferutil@4.0.8))(@types/react@19.0.1)(react@19.0.0):
4641
4972
optionalDependencies:
4642
4973
'@libsql/client': 0.14.0(bufferutil@4.0.8)
4643
-
'@types/react': 18.3.12
4644
-
react: 18.3.1
4974
+
'@types/react': 19.0.1
4975
+
react: 19.0.0
4645
4976
4646
4977
eastasianwidth@0.2.0: {}
4647
4978
···
4902
5233
4903
5234
flatted@3.3.2: {}
4904
5235
5236
+
follow-redirects@1.15.9: {}
5237
+
4905
5238
foreground-child@3.3.0:
4906
5239
dependencies:
4907
5240
cross-spawn: 7.0.6
4908
5241
signal-exit: 4.1.0
5242
+
5243
+
form-data@4.0.1:
5244
+
dependencies:
5245
+
asynckit: 0.4.0
5246
+
combined-stream: 1.0.8
5247
+
mime-types: 2.1.35
4909
5248
4910
5249
formdata-polyfill@4.0.10:
4911
5250
dependencies:
···
4972
5311
4973
5312
help-me@5.0.0: {}
4974
5313
5314
+
hono-sessions@0.7.0:
5315
+
dependencies:
5316
+
hono: 4.6.12
5317
+
iron-webcrypto: 0.10.1
5318
+
4975
5319
hono@4.6.12: {}
4976
5320
4977
5321
ignore@5.3.2: {}
···
4987
5331
dependencies:
4988
5332
loose-envify: 1.4.0
4989
5333
5334
+
ipaddr.js@2.2.0: {}
5335
+
5336
+
iron-webcrypto@0.10.1: {}
5337
+
4990
5338
is-binary-path@2.1.0:
4991
5339
dependencies:
4992
5340
binary-extensions: 2.3.0
···
5006
5354
is-number@7.0.0: {}
5007
5355
5008
5356
isexe@2.0.0: {}
5357
+
5358
+
iso-datestring-validator@2.2.2: {}
5009
5359
5010
5360
jackspeak@3.4.3:
5011
5361
dependencies:
···
5092
5442
dependencies:
5093
5443
yallist: 3.1.1
5094
5444
5095
-
lucide-react@0.464.0(react@18.3.1):
5445
+
lucide-react@0.464.0(react@19.0.0-rc-7283a213-20241206):
5096
5446
dependencies:
5097
-
react: 18.3.1
5447
+
react: 19.0.0-rc-7283a213-20241206
5098
5448
5099
5449
make-error@1.3.6: {}
5100
5450
···
5105
5455
braces: 3.0.3
5106
5456
picomatch: 2.3.1
5107
5457
5458
+
mime-db@1.52.0: {}
5459
+
5460
+
mime-types@2.1.35:
5461
+
dependencies:
5462
+
mime-db: 1.52.0
5463
+
5108
5464
minimatch@10.0.1:
5109
5465
dependencies:
5110
5466
brace-expansion: 2.0.1
···
5122
5478
minipass@7.1.2: {}
5123
5479
5124
5480
ms@2.1.3: {}
5481
+
5482
+
multiformats@9.9.0: {}
5125
5483
5126
5484
mz@2.7.0:
5127
5485
dependencies:
···
5305
5663
5306
5664
promise-limit@2.7.0: {}
5307
5665
5666
+
proxy-from-env@1.1.0: {}
5667
+
5668
+
psl@1.15.0:
5669
+
dependencies:
5670
+
punycode: 2.3.1
5671
+
5308
5672
pump@3.0.2:
5309
5673
dependencies:
5310
5674
end-of-stream: 1.4.4
···
5316
5680
5317
5681
quick-format-unescaped@4.0.4: {}
5318
5682
5319
-
react-dom@18.3.1(react@18.3.1):
5683
+
react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-7283a213-20241206):
5320
5684
dependencies:
5321
-
loose-envify: 1.4.0
5322
-
react: 18.3.1
5323
-
scheduler: 0.23.2
5685
+
react: 19.0.0-rc-7283a213-20241206
5686
+
scheduler: 0.25.0-rc-f994737d14-20240522
5324
5687
5325
-
react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1):
5688
+
react-remove-scroll-bar@2.3.6(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206):
5326
5689
dependencies:
5327
-
react: 18.3.1
5328
-
react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
5690
+
react: 19.0.0-rc-7283a213-20241206
5691
+
react-style-singleton: 2.2.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
5329
5692
tslib: 2.8.1
5330
5693
optionalDependencies:
5331
-
'@types/react': 18.3.12
5694
+
'@types/react': 19.0.1
5332
5695
5333
-
react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1):
5696
+
react-remove-scroll@2.6.0(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206):
5334
5697
dependencies:
5335
-
react: 18.3.1
5336
-
react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1)
5337
-
react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
5698
+
react: 19.0.0-rc-7283a213-20241206
5699
+
react-remove-scroll-bar: 2.3.6(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
5700
+
react-style-singleton: 2.2.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
5338
5701
tslib: 2.8.1
5339
-
use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1)
5340
-
use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1)
5702
+
use-callback-ref: 1.3.2(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
5703
+
use-sidecar: 1.1.2(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206)
5341
5704
optionalDependencies:
5342
-
'@types/react': 18.3.12
5705
+
'@types/react': 19.0.1
5343
5706
5344
-
react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1):
5707
+
react-style-singleton@2.2.1(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206):
5345
5708
dependencies:
5346
5709
get-nonce: 1.0.1
5347
5710
invariant: 2.2.4
5348
-
react: 18.3.1
5711
+
react: 19.0.0-rc-7283a213-20241206
5349
5712
tslib: 2.8.1
5350
5713
optionalDependencies:
5351
-
'@types/react': 18.3.12
5714
+
'@types/react': 19.0.1
5352
5715
5353
-
react@18.3.1:
5354
-
dependencies:
5355
-
loose-envify: 1.4.0
5716
+
react@19.0.0:
5717
+
optional: true
5718
+
5719
+
react@19.0.0-rc-7283a213-20241206: {}
5356
5720
5357
5721
read-cache@1.0.0:
5358
5722
dependencies:
···
5415
5779
5416
5780
safe-stable-stringify@2.5.0: {}
5417
5781
5418
-
scheduler@0.23.2:
5419
-
dependencies:
5420
-
loose-envify: 1.4.0
5782
+
scheduler@0.25.0-rc-f994737d14-20240522: {}
5421
5783
5422
5784
secure-json-parse@2.7.0: {}
5423
5785
···
5546
5908
fdir: 6.4.2(picomatch@4.0.2)
5547
5909
picomatch: 4.0.2
5548
5910
5911
+
tlds@1.255.0: {}
5912
+
5549
5913
to-regex-range@5.0.1:
5550
5914
dependencies:
5551
5915
is-number: 7.0.0
···
5659
6023
5660
6024
typescript@5.7.2: {}
5661
6025
6026
+
uint8arrays@3.0.0:
6027
+
dependencies:
6028
+
multiformats: 9.9.0
6029
+
5662
6030
undici-types@6.20.0: {}
6031
+
6032
+
undici@6.21.0: {}
5663
6033
5664
6034
unplugin@1.16.0:
5665
6035
dependencies:
···
5676
6046
dependencies:
5677
6047
punycode: 2.3.1
5678
6048
5679
-
use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1):
6049
+
use-callback-ref@1.3.2(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206):
5680
6050
dependencies:
5681
-
react: 18.3.1
6051
+
react: 19.0.0-rc-7283a213-20241206
5682
6052
tslib: 2.8.1
5683
6053
optionalDependencies:
5684
-
'@types/react': 18.3.12
6054
+
'@types/react': 19.0.1
5685
6055
5686
-
use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1):
6056
+
use-sidecar@1.1.2(@types/react@19.0.1)(react@19.0.0-rc-7283a213-20241206):
5687
6057
dependencies:
5688
6058
detect-node-es: 1.1.0
5689
-
react: 18.3.1
6059
+
react: 19.0.0-rc-7283a213-20241206
5690
6060
tslib: 2.8.1
5691
6061
optionalDependencies:
5692
-
'@types/react': 18.3.12
6062
+
'@types/react': 19.0.1
5693
6063
5694
-
use-sync-external-store@1.2.2(react@18.3.1):
6064
+
use-sync-external-store@1.2.2(react@19.0.0-rc-7283a213-20241206):
5695
6065
dependencies:
5696
-
react: 18.3.1
6066
+
react: 19.0.0-rc-7283a213-20241206
5697
6067
5698
6068
util-deprecate@1.0.2: {}
5699
6069