+6
-1
.github/workflows/build-and-push-link-aws.yaml
+6
-1
.github/workflows/build-and-push-link-aws.yaml
···
1
1
name: build-and-push-link-aws
2
2
on:
3
3
workflow_dispatch:
4
+
pull_request:
5
+
paths:
6
+
- 'bskylink/**'
7
+
- 'Dockerfile.bskylink'
8
+
- '.github/workflows/build-and-push-link-aws.yaml'
4
9
5
10
env:
6
11
REGISTRY: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_REGISTRY }}
···
45
50
uses: docker/build-push-action@v4
46
51
with:
47
52
context: .
48
-
push: ${{ github.event_name != 'pull_request' }}
53
+
push: true
49
54
file: ./Dockerfile.bskylink
50
55
tags: ${{ steps.meta.outputs.tags }}
51
56
labels: ${{ steps.meta.outputs.labels }}
+6
-1
.github/workflows/build-and-push-ogcard-aws.yaml
+6
-1
.github/workflows/build-and-push-ogcard-aws.yaml
···
1
1
name: build-and-push-ogcard-aws
2
2
on:
3
3
workflow_dispatch:
4
+
pull_request:
5
+
paths:
6
+
- 'bskyogcard/**'
7
+
- 'Dockerfile.bskyogcard'
8
+
- '.github/workflows/build-and-push-ogcard-aws.yaml'
4
9
5
10
env:
6
11
REGISTRY: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_REGISTRY }}
···
45
50
uses: docker/build-push-action@v4
46
51
with:
47
52
context: .
48
-
push: ${{ github.event_name != 'pull_request' }}
53
+
push: true
49
54
file: ./Dockerfile.bskyogcard
50
55
tags: ${{ steps.meta.outputs.tags }}
51
56
labels: ${{ steps.meta.outputs.labels }}
+2
-2
.github/workflows/build-submit-ios.yml
+2
-2
.github/workflows/build-submit-ios.yml
···
53
53
54
54
- uses: maxim-lobanov/setup-xcode@v1
55
55
with:
56
-
xcode-version: '16.4'
56
+
xcode-version: "16.4"
57
57
58
58
- name: ☕️ Setup Cocoapods
59
59
uses: maxim-lobanov/setup-cocoapods@v1
60
60
with:
61
-
version: 1.14.3
61
+
version: 1.16.2
62
62
63
63
- name: 💾 Cache Pods
64
64
uses: actions/cache@v3
+5
-5
.github/workflows/bundle-deploy-eas-update.yml
+5
-5
.github/workflows/bundle-deploy-eas-update.yml
···
192
192
193
193
- uses: maxim-lobanov/setup-xcode@v1
194
194
with:
195
-
xcode-version: '16.2'
195
+
xcode-version: "16.2"
196
196
197
197
- name: ☕️ Setup Cocoapods
198
198
uses: maxim-lobanov/setup-cocoapods@v1
199
199
with:
200
-
version: 1.14.3
200
+
version: 1.16.2
201
201
202
202
- name: 💾 Cache Pods
203
203
uses: actions/cache@v3
···
293
293
294
294
- uses: actions/setup-java@v4
295
295
with:
296
-
distribution: 'temurin'
297
-
java-version: '17'
296
+
distribution: "temurin"
297
+
java-version: "17"
298
298
299
299
- name: ⚙️ Install dependencies
300
300
run: yarn install
···
332
332
id: timestamp
333
333
uses: nanzm/get-time-action@master
334
334
with:
335
-
format: 'MM-DD-HH-mm-ss'
335
+
format: "MM-DD-HH-mm-ss"
336
336
337
337
- name: 🚀 Upload Artifact
338
338
id: upload-artifact
+2
-1
Dockerfile.bskyogcard
+2
-1
Dockerfile.bskyogcard
···
26
26
RUN mkdir /app/data && chown node /app/data
27
27
28
28
VOLUME /app/data
29
-
EXPOSE 3000
29
+
EXPOSE 3000 3001
30
30
ENV CARD_PORT=3000
31
+
ENV CARD_METRICS_PORT=3001
31
32
ENV NODE_ENV=production
32
33
# potential perf issues w/ io_uring on this version of node
33
34
ENV UV_USE_IO_URING=0
+1
-1
__tests__/lib/images.test.ts
+1
-1
__tests__/lib/images.test.ts
+3
-2
app.config.js
+3
-2
app.config.js
···
43
43
icon: './assets/app-icons/ios_icon_default_light.png',
44
44
userInterfaceStyle: 'automatic',
45
45
primaryColor: '#1083fe',
46
+
newArchEnabled: false,
46
47
ios: {
47
48
supportsTablet: false,
48
49
bundleIdentifier: 'xyz.blueskyweb.app',
···
102
103
'zh-Hans',
103
104
'zh-Hant',
104
105
],
106
+
UIDesignRequiresCompatibility: true,
105
107
},
106
108
associatedDomains: ASSOCIATED_DOMAINS,
107
109
entitlements: {
···
207
209
{
208
210
ios: {
209
211
deploymentTarget: '15.1',
210
-
newArchEnabled: false,
212
+
buildReactNativeFromSource: true,
211
213
},
212
214
android: {
213
215
compileSdkVersion: 35,
214
216
targetSdkVersion: 35,
215
217
buildToolsVersion: '35.0.0',
216
-
newArchEnabled: false,
217
218
},
218
219
},
219
220
],
+55
-22
bskylink/src/bin.ts
+55
-22
bskylink/src/bin.ts
···
1
1
import {Database, envToCfg, httpLogger, LinkService, readEnv} from './index.js'
2
+
2
3
async function main() {
3
-
const env = readEnv()
4
-
const cfg = envToCfg(env)
5
-
if (cfg.db.migrationUrl) {
6
-
const migrateDb = Database.postgres({
7
-
url: cfg.db.migrationUrl,
8
-
schema: cfg.db.schema,
9
-
})
10
-
await migrateDb.migrateToLatestOrThrow()
11
-
await migrateDb.close()
12
-
}
4
+
try {
5
+
httpLogger.info('Starting blink service')
6
+
7
+
const env = readEnv()
8
+
const cfg = envToCfg(env)
9
+
10
+
httpLogger.info(
11
+
{
12
+
port: cfg.service.port,
13
+
safelinkEnabled: cfg.service.safelinkEnabled,
14
+
hasDbUrl: !!cfg.db.url,
15
+
hasDbMigrationUrl: !!cfg.db.migrationUrl,
16
+
},
17
+
'Configuration loaded',
18
+
)
19
+
20
+
if (cfg.db.migrationUrl) {
21
+
httpLogger.info('Running database migrations')
22
+
const migrateDb = Database.postgres({
23
+
url: cfg.db.migrationUrl,
24
+
schema: cfg.db.schema,
25
+
})
26
+
await migrateDb.migrateToLatestOrThrow()
27
+
await migrateDb.close()
28
+
httpLogger.info('Database migrations completed')
29
+
}
30
+
31
+
httpLogger.info('Creating LinkService')
32
+
const link = await LinkService.create(cfg)
33
+
34
+
if (link.ctx.cfg.service.safelinkEnabled) {
35
+
httpLogger.info('Starting Safelink client')
36
+
link.ctx.safelinkClient.runFetchEvents()
37
+
}
13
38
14
-
const link = await LinkService.create(cfg)
39
+
await link.start()
40
+
httpLogger.info('Link service is running')
15
41
16
-
if (link.ctx.cfg.service.safelinkEnabled) {
17
-
link.ctx.safelinkClient.runFetchEvents()
42
+
process.on('SIGTERM', async () => {
43
+
httpLogger.info('Link service is stopping')
44
+
await link.destroy()
45
+
httpLogger.info('Link service is stopped')
46
+
})
47
+
} catch (error) {
48
+
httpLogger.error(
49
+
{
50
+
error: String(error),
51
+
stack: error instanceof Error ? error.stack : undefined,
52
+
},
53
+
'Failed to start blink service',
54
+
)
55
+
process.exit(1)
18
56
}
19
-
20
-
await link.start()
21
-
httpLogger.info('link service is running')
22
-
process.on('SIGTERM', async () => {
23
-
httpLogger.info('link service is stopping')
24
-
await link.destroy()
25
-
httpLogger.info('link service is stopped')
26
-
})
27
57
}
28
58
29
-
main()
59
+
main().catch(error => {
60
+
console.error('Unhandled startup error:', error)
61
+
process.exit(1)
62
+
})
+10
bskylink/src/db/index.ts
+10
bskylink/src/db/index.ts
···
34
34
35
35
static postgres(opts: PgOptions): Database {
36
36
const {schema, url, txLockNonce} = opts
37
+
log.info(
38
+
{
39
+
schema,
40
+
poolSize: opts.poolSize,
41
+
poolMaxUses: opts.poolMaxUses,
42
+
poolIdleTimeoutMs: opts.poolIdleTimeoutMs,
43
+
},
44
+
'Creating database connection',
45
+
)
46
+
37
47
const pool =
38
48
opts.pool ??
39
49
new Pg.Pool({
+3
bskyogcard/package.json
+3
bskyogcard/package.json
···
14
14
"@atproto/common": "^0.4.0",
15
15
"@resvg/resvg-js": "^2.6.2",
16
16
"express": "^4.19.2",
17
+
"express-prom-bundle": "^7.0.0",
17
18
"http-terminator": "^3.2.0",
18
19
"pino": "^9.2.0",
20
+
"prom-client": "^15.1.3",
19
21
"react": "^18.3.1",
20
22
"satori": "^0.10.13",
21
23
"twemoji": "^14.0.2"
22
24
},
23
25
"devDependencies": {
26
+
"@types/express": "^4.17.21",
24
27
"@types/node": "^20.14.3",
25
28
"ts-node": "^10.9.2",
26
29
"typescript": "^5.4.5"
+4
bskyogcard/src/config.ts
+4
bskyogcard/src/config.ts
···
6
6
7
7
export type ServiceConfig = {
8
8
port: number
9
+
metricsPort: number
9
10
version?: string
10
11
appviewUrl: string
11
12
originVerify?: string
···
13
14
14
15
export type Environment = {
15
16
port?: number
17
+
metricsPort?: number
16
18
version?: string
17
19
appviewUrl?: string
18
20
originVerify?: string
···
21
23
export const readEnv = (): Environment => {
22
24
return {
23
25
port: envInt('CARD_PORT'),
26
+
metricsPort: envInt('CARD_METRICS_PORT'),
24
27
version: envStr('CARD_VERSION'),
25
28
appviewUrl: envStr('CARD_APPVIEW_URL'),
26
29
originVerify: envStr('CARD_ORIGIN_VERIFY'),
···
30
33
export const envToCfg = (env: Environment): Config => {
31
34
const serviceCfg: ServiceConfig = {
32
35
port: env.port ?? 3000,
36
+
metricsPort: env.metricsPort ?? 3001,
33
37
version: env.version,
34
38
appviewUrl: env.appviewUrl ?? 'https://api.bsky.app',
35
39
originVerify: env.originVerify,
+65
-2
bskyogcard/src/index.ts
+65
-2
bskyogcard/src/index.ts
···
2
2
import type http from 'node:http'
3
3
4
4
import express from 'express'
5
+
import promBundle from 'express-prom-bundle'
5
6
import {createHttpTerminator, type HttpTerminator} from 'http-terminator'
7
+
import {register} from 'prom-client'
6
8
7
9
import {type Config} from './config.js'
8
10
import {AppContext} from './context.js'
···
13
15
14
16
export class CardService {
15
17
public server?: http.Server
18
+
public metricsServer?: http.Server
16
19
private terminator?: HttpTerminator
20
+
private metricsTerminator?: HttpTerminator
17
21
18
22
constructor(
19
23
public app: express.Application,
···
24
28
let app = express()
25
29
26
30
const ctx = await AppContext.fromConfig(cfg)
31
+
32
+
// Add Prometheus middleware for automatic HTTP instrumentation
33
+
const metricsMiddleware = promBundle({
34
+
includeMethod: true,
35
+
includePath: true,
36
+
includeStatusCode: true,
37
+
includeUp: true,
38
+
promClient: {
39
+
collectDefaultMetrics: {},
40
+
},
41
+
42
+
autoregister: false,
43
+
normalizePath: req => {
44
+
// If we have a matched route, use its path (with :params) instead of the full URL path
45
+
if (req.route) {
46
+
return req.route.path
47
+
}
48
+
49
+
// Group all unmatched paths together to reduce cardinality
50
+
return '<unmatched>'
51
+
},
52
+
})
53
+
app.use(metricsMiddleware)
54
+
27
55
app = routes(ctx, app)
28
56
app.use(errorHandler)
29
57
···
31
59
}
32
60
33
61
async start() {
62
+
// Start main application server
34
63
this.server = this.app.listen(this.ctx.cfg.service.port)
35
64
this.server.keepAliveTimeout = 90000
36
-
this.terminator = createHttpTerminator({server: this.server})
65
+
this.terminator = createHttpTerminator({
66
+
server: this.server,
67
+
gracefulTerminationTimeout: 15000, // 15s timeout for in-flight requests
68
+
})
37
69
await events.once(this.server, 'listening')
70
+
71
+
// Start separate metrics server
72
+
const metricsApp = express()
73
+
metricsApp.get('/metrics', async (_req, res) => {
74
+
res.set('Content-Type', register.contentType)
75
+
res.end(await register.metrics())
76
+
})
77
+
78
+
this.metricsServer = metricsApp.listen(this.ctx.cfg.service.metricsPort)
79
+
this.metricsTerminator = createHttpTerminator({
80
+
server: this.metricsServer,
81
+
gracefulTerminationTimeout: 2000, // 2s timeout for metrics server
82
+
})
83
+
await events.once(this.metricsServer, 'listening')
38
84
}
39
85
40
86
async destroy() {
87
+
const startTime = Date.now()
88
+
41
89
this.ctx.abortController.abort()
42
-
await this.terminator?.terminate()
90
+
91
+
const shutdownPromises = []
92
+
93
+
if (this.terminator) {
94
+
shutdownPromises.push(this.terminator.terminate())
95
+
}
96
+
97
+
if (this.metricsTerminator) {
98
+
shutdownPromises.push(this.metricsTerminator.terminate())
99
+
}
100
+
101
+
await Promise.all(shutdownPromises)
102
+
103
+
const elapsed = Date.now() - startTime
104
+
const {httpLogger} = await import('./logger.js')
105
+
httpLogger.info(`Graceful shutdown completed in ${elapsed}ms`)
43
106
}
44
107
}
+371
-2
bskyogcard/yarn.lock
+371
-2
bskyogcard/yarn.lock
···
123
123
"@jridgewell/resolve-uri" "^3.0.3"
124
124
"@jridgewell/sourcemap-codec" "^1.4.10"
125
125
126
+
"@opentelemetry/api@^1.4.0":
127
+
version "1.9.0"
128
+
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe"
129
+
integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==
130
+
126
131
"@resvg/resvg-js-android-arm-eabi@2.6.2":
127
132
version "2.6.2"
128
133
resolved "https://registry.yarnpkg.com/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz#e761e0b688127db64879f455178c92468a9aeabe"
···
229
234
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
230
235
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
231
236
237
+
"@types/body-parser@*":
238
+
version "1.19.6"
239
+
resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474"
240
+
integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==
241
+
dependencies:
242
+
"@types/connect" "*"
243
+
"@types/node" "*"
244
+
245
+
"@types/connect@*":
246
+
version "3.4.38"
247
+
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
248
+
integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
249
+
dependencies:
250
+
"@types/node" "*"
251
+
252
+
"@types/express-serve-static-core@^4.17.33":
253
+
version "4.19.6"
254
+
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267"
255
+
integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==
256
+
dependencies:
257
+
"@types/node" "*"
258
+
"@types/qs" "*"
259
+
"@types/range-parser" "*"
260
+
"@types/send" "*"
261
+
262
+
"@types/express@^4.17.21":
263
+
version "4.17.23"
264
+
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.23.tgz#35af3193c640bfd4d7fe77191cd0ed411a433bef"
265
+
integrity sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==
266
+
dependencies:
267
+
"@types/body-parser" "*"
268
+
"@types/express-serve-static-core" "^4.17.33"
269
+
"@types/qs" "*"
270
+
"@types/serve-static" "*"
271
+
272
+
"@types/http-errors@*":
273
+
version "2.0.5"
274
+
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472"
275
+
integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==
276
+
277
+
"@types/mime@^1":
278
+
version "1.3.5"
279
+
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
280
+
integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
281
+
282
+
"@types/node@*":
283
+
version "24.5.2"
284
+
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.5.2.tgz#52ceb83f50fe0fcfdfbd2a9fab6db2e9e7ef6446"
285
+
integrity sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==
286
+
dependencies:
287
+
undici-types "~7.12.0"
288
+
232
289
"@types/node@^20.14.3":
233
290
version "20.14.3"
234
291
resolved "https://registry.npmjs.org/@types/node/-/node-20.14.3.tgz"
···
236
293
dependencies:
237
294
undici-types "~5.26.4"
238
295
296
+
"@types/qs@*":
297
+
version "6.14.0"
298
+
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5"
299
+
integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==
300
+
301
+
"@types/range-parser@*":
302
+
version "1.2.7"
303
+
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
304
+
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
305
+
306
+
"@types/send@*":
307
+
version "0.17.5"
308
+
resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74"
309
+
integrity sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==
310
+
dependencies:
311
+
"@types/mime" "^1"
312
+
"@types/node" "*"
313
+
314
+
"@types/serve-static@*":
315
+
version "1.15.8"
316
+
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877"
317
+
integrity sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==
318
+
dependencies:
319
+
"@types/http-errors" "*"
320
+
"@types/node" "*"
321
+
"@types/send" "*"
322
+
239
323
abort-controller@^3.0.0:
240
324
version "3.0.0"
241
325
resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
···
288
372
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
289
373
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
290
374
375
+
bintrees@1.0.2:
376
+
version "1.0.2"
377
+
resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.2.tgz#49f896d6e858a4a499df85c38fb399b9aff840f8"
378
+
integrity sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==
379
+
291
380
body-parser@1.20.2:
292
381
version "1.20.2"
293
382
resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz"
···
306
395
type-is "~1.6.18"
307
396
unpipe "1.0.0"
308
397
398
+
body-parser@1.20.3:
399
+
version "1.20.3"
400
+
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6"
401
+
integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
402
+
dependencies:
403
+
bytes "3.1.2"
404
+
content-type "~1.0.5"
405
+
debug "2.6.9"
406
+
depd "2.0.0"
407
+
destroy "1.2.0"
408
+
http-errors "2.0.0"
409
+
iconv-lite "0.4.24"
410
+
on-finished "2.4.1"
411
+
qs "6.13.0"
412
+
raw-body "2.5.2"
413
+
type-is "~1.6.18"
414
+
unpipe "1.0.0"
415
+
309
416
boolean@^3.1.4:
310
417
version "3.2.0"
311
418
resolved "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz"
···
324
431
resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
325
432
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
326
433
434
+
call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
435
+
version "1.0.2"
436
+
resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
437
+
integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
438
+
dependencies:
439
+
es-errors "^1.3.0"
440
+
function-bind "^1.1.2"
441
+
327
442
call-bind@^1.0.7:
328
443
version "1.0.7"
329
444
resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz"
···
335
450
get-intrinsic "^1.2.4"
336
451
set-function-length "^1.2.1"
337
452
453
+
call-bound@^1.0.2:
454
+
version "1.0.4"
455
+
resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
456
+
integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
457
+
dependencies:
458
+
call-bind-apply-helpers "^1.0.2"
459
+
get-intrinsic "^1.3.0"
460
+
338
461
camelize@^1.0.0:
339
462
version "1.0.1"
340
463
resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz"
···
392
515
version "0.6.0"
393
516
resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz"
394
517
integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
518
+
519
+
cookie@0.7.1:
520
+
version "0.7.1"
521
+
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9"
522
+
integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
395
523
396
524
create-require@^1.1.0:
397
525
version "1.1.1"
···
463
591
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
464
592
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
465
593
594
+
dunder-proto@^1.0.1:
595
+
version "1.0.1"
596
+
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
597
+
integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
598
+
dependencies:
599
+
call-bind-apply-helpers "^1.0.1"
600
+
es-errors "^1.3.0"
601
+
gopd "^1.2.0"
602
+
466
603
ee-first@1.1.1:
467
604
version "1.1.1"
468
605
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
···
478
615
resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
479
616
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
480
617
618
+
encodeurl@~2.0.0:
619
+
version "2.0.0"
620
+
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
621
+
integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
622
+
481
623
es-define-property@^1.0.0:
482
624
version "1.0.0"
483
625
resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz"
484
626
integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
485
627
dependencies:
486
628
get-intrinsic "^1.2.4"
629
+
630
+
es-define-property@^1.0.1:
631
+
version "1.0.1"
632
+
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
633
+
integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
487
634
488
635
es-errors@^1.3.0:
489
636
version "1.3.0"
490
637
resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
491
638
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
492
639
640
+
es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
641
+
version "1.1.1"
642
+
resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
643
+
integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
644
+
dependencies:
645
+
es-errors "^1.3.0"
646
+
493
647
escape-html@^1.0.3, escape-html@~1.0.3:
494
648
version "1.0.3"
495
649
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
···
510
664
resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
511
665
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
512
666
667
+
express-prom-bundle@^7.0.0:
668
+
version "7.0.2"
669
+
resolved "https://registry.yarnpkg.com/express-prom-bundle/-/express-prom-bundle-7.0.2.tgz#73a83b9033639dae81c78906a9df78844f3c93fa"
670
+
integrity sha512-ffFV4HGHvCKnkNJFqm42sYztRJE5mLgOj8MpGey1HOatuFhtcwXoBD2m5gca7ZbcyjkIf7lOH5ZdrhlrBf0sGw==
671
+
dependencies:
672
+
"@types/express" "^4.17.21"
673
+
express "^4.18.2"
674
+
on-finished "^2.3.0"
675
+
url-value-parser "^2.0.0"
676
+
677
+
express@^4.18.2:
678
+
version "4.21.2"
679
+
resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32"
680
+
integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==
681
+
dependencies:
682
+
accepts "~1.3.8"
683
+
array-flatten "1.1.1"
684
+
body-parser "1.20.3"
685
+
content-disposition "0.5.4"
686
+
content-type "~1.0.4"
687
+
cookie "0.7.1"
688
+
cookie-signature "1.0.6"
689
+
debug "2.6.9"
690
+
depd "2.0.0"
691
+
encodeurl "~2.0.0"
692
+
escape-html "~1.0.3"
693
+
etag "~1.8.1"
694
+
finalhandler "1.3.1"
695
+
fresh "0.5.2"
696
+
http-errors "2.0.0"
697
+
merge-descriptors "1.0.3"
698
+
methods "~1.1.2"
699
+
on-finished "2.4.1"
700
+
parseurl "~1.3.3"
701
+
path-to-regexp "0.1.12"
702
+
proxy-addr "~2.0.7"
703
+
qs "6.13.0"
704
+
range-parser "~1.2.1"
705
+
safe-buffer "5.2.1"
706
+
send "0.19.0"
707
+
serve-static "1.16.2"
708
+
setprototypeof "1.2.0"
709
+
statuses "2.0.1"
710
+
type-is "~1.6.18"
711
+
utils-merge "1.0.1"
712
+
vary "~1.1.2"
713
+
513
714
express@^4.19.2:
514
715
version "4.19.2"
515
716
resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz"
···
577
778
statuses "2.0.1"
578
779
unpipe "~1.0.0"
579
780
781
+
finalhandler@1.3.1:
782
+
version "1.3.1"
783
+
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019"
784
+
integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
785
+
dependencies:
786
+
debug "2.6.9"
787
+
encodeurl "~2.0.0"
788
+
escape-html "~1.0.3"
789
+
on-finished "2.4.1"
790
+
parseurl "~1.3.3"
791
+
statuses "2.0.1"
792
+
unpipe "~1.0.0"
793
+
580
794
forwarded@0.2.0:
581
795
version "0.2.0"
582
796
resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz"
···
612
826
has-symbols "^1.0.3"
613
827
hasown "^2.0.0"
614
828
829
+
get-intrinsic@^1.2.5, get-intrinsic@^1.3.0:
830
+
version "1.3.0"
831
+
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
832
+
integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
833
+
dependencies:
834
+
call-bind-apply-helpers "^1.0.2"
835
+
es-define-property "^1.0.1"
836
+
es-errors "^1.3.0"
837
+
es-object-atoms "^1.1.1"
838
+
function-bind "^1.1.2"
839
+
get-proto "^1.0.1"
840
+
gopd "^1.2.0"
841
+
has-symbols "^1.1.0"
842
+
hasown "^2.0.2"
843
+
math-intrinsics "^1.1.0"
844
+
845
+
get-proto@^1.0.1:
846
+
version "1.0.1"
847
+
resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
848
+
integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
849
+
dependencies:
850
+
dunder-proto "^1.0.1"
851
+
es-object-atoms "^1.0.0"
852
+
615
853
gopd@^1.0.1:
616
854
version "1.0.1"
617
855
resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
618
856
integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
619
857
dependencies:
620
858
get-intrinsic "^1.1.3"
859
+
860
+
gopd@^1.2.0:
861
+
version "1.2.0"
862
+
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
863
+
integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
621
864
622
865
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
623
866
version "4.2.11"
···
646
889
resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
647
890
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
648
891
649
-
hasown@^2.0.0:
892
+
has-symbols@^1.1.0:
893
+
version "1.1.0"
894
+
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
895
+
integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
896
+
897
+
hasown@^2.0.0, hasown@^2.0.2:
650
898
version "2.0.2"
651
899
resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
652
900
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
···
747
995
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
748
996
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
749
997
998
+
math-intrinsics@^1.1.0:
999
+
version "1.1.0"
1000
+
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
1001
+
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
1002
+
750
1003
media-typer@0.3.0:
751
1004
version "0.3.0"
752
1005
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
···
757
1010
resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
758
1011
integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
759
1012
1013
+
merge-descriptors@1.0.3:
1014
+
version "1.0.3"
1015
+
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5"
1016
+
integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
1017
+
760
1018
methods@~1.1.2:
761
1019
version "1.1.2"
762
1020
resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
···
811
1069
resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz"
812
1070
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
813
1071
1072
+
object-inspect@^1.13.3:
1073
+
version "1.13.4"
1074
+
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
1075
+
integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
1076
+
814
1077
on-exit-leak-free@^2.1.0:
815
1078
version "2.1.2"
816
1079
resolved "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz"
817
1080
integrity sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==
818
1081
819
-
on-finished@2.4.1:
1082
+
on-finished@2.4.1, on-finished@^2.3.0:
820
1083
version "2.4.1"
821
1084
resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
822
1085
integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
···
860
1123
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
861
1124
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
862
1125
1126
+
path-to-regexp@0.1.12:
1127
+
version "0.1.12"
1128
+
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7"
1129
+
integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==
1130
+
863
1131
path-to-regexp@0.1.7:
864
1132
version "0.1.7"
865
1133
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
···
931
1199
version "0.11.10"
932
1200
resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
933
1201
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
1202
+
1203
+
prom-client@^15.1.3:
1204
+
version "15.1.3"
1205
+
resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-15.1.3.tgz#69fa8de93a88bc9783173db5f758dc1c69fa8fc2"
1206
+
integrity sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==
1207
+
dependencies:
1208
+
"@opentelemetry/api" "^1.4.0"
1209
+
tdigest "^0.1.1"
934
1210
935
1211
proxy-addr@~2.0.7:
936
1212
version "2.0.7"
···
947
1223
dependencies:
948
1224
side-channel "^1.0.4"
949
1225
1226
+
qs@6.13.0:
1227
+
version "6.13.0"
1228
+
resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906"
1229
+
integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
1230
+
dependencies:
1231
+
side-channel "^1.0.6"
1232
+
950
1233
quick-format-unescaped@^4.0.3:
951
1234
version "4.0.4"
952
1235
resolved "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz"
···
1054
1337
range-parser "~1.2.1"
1055
1338
statuses "2.0.1"
1056
1339
1340
+
send@0.19.0:
1341
+
version "0.19.0"
1342
+
resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
1343
+
integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
1344
+
dependencies:
1345
+
debug "2.6.9"
1346
+
depd "2.0.0"
1347
+
destroy "1.2.0"
1348
+
encodeurl "~1.0.2"
1349
+
escape-html "~1.0.3"
1350
+
etag "~1.8.1"
1351
+
fresh "0.5.2"
1352
+
http-errors "2.0.0"
1353
+
mime "1.6.0"
1354
+
ms "2.1.3"
1355
+
on-finished "2.4.1"
1356
+
range-parser "~1.2.1"
1357
+
statuses "2.0.1"
1358
+
1057
1359
serve-static@1.15.0:
1058
1360
version "1.15.0"
1059
1361
resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz"
···
1064
1366
parseurl "~1.3.3"
1065
1367
send "0.18.0"
1066
1368
1369
+
serve-static@1.16.2:
1370
+
version "1.16.2"
1371
+
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
1372
+
integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
1373
+
dependencies:
1374
+
encodeurl "~2.0.0"
1375
+
escape-html "~1.0.3"
1376
+
parseurl "~1.3.3"
1377
+
send "0.19.0"
1378
+
1067
1379
set-function-length@^1.2.1:
1068
1380
version "1.2.2"
1069
1381
resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz"
···
1081
1393
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
1082
1394
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
1083
1395
1396
+
side-channel-list@^1.0.0:
1397
+
version "1.0.0"
1398
+
resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
1399
+
integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
1400
+
dependencies:
1401
+
es-errors "^1.3.0"
1402
+
object-inspect "^1.13.3"
1403
+
1404
+
side-channel-map@^1.0.1:
1405
+
version "1.0.1"
1406
+
resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
1407
+
integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
1408
+
dependencies:
1409
+
call-bound "^1.0.2"
1410
+
es-errors "^1.3.0"
1411
+
get-intrinsic "^1.2.5"
1412
+
object-inspect "^1.13.3"
1413
+
1414
+
side-channel-weakmap@^1.0.2:
1415
+
version "1.0.2"
1416
+
resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
1417
+
integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
1418
+
dependencies:
1419
+
call-bound "^1.0.2"
1420
+
es-errors "^1.3.0"
1421
+
get-intrinsic "^1.2.5"
1422
+
object-inspect "^1.13.3"
1423
+
side-channel-map "^1.0.1"
1424
+
1084
1425
side-channel@^1.0.4:
1085
1426
version "1.0.6"
1086
1427
resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz"
···
1091
1432
get-intrinsic "^1.2.4"
1092
1433
object-inspect "^1.13.1"
1093
1434
1435
+
side-channel@^1.0.6:
1436
+
version "1.1.0"
1437
+
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
1438
+
integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
1439
+
dependencies:
1440
+
es-errors "^1.3.0"
1441
+
object-inspect "^1.13.3"
1442
+
side-channel-list "^1.0.0"
1443
+
side-channel-map "^1.0.1"
1444
+
side-channel-weakmap "^1.0.2"
1445
+
1094
1446
sonic-boom@^3.7.0:
1095
1447
version "3.8.1"
1096
1448
resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz"
···
1126
1478
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
1127
1479
dependencies:
1128
1480
safe-buffer "~5.2.0"
1481
+
1482
+
tdigest@^0.1.1:
1483
+
version "0.1.2"
1484
+
resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.2.tgz#96c64bac4ff10746b910b0e23b515794e12faced"
1485
+
integrity sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==
1486
+
dependencies:
1487
+
bintrees "1.0.2"
1129
1488
1130
1489
thread-stream@^2.6.0:
1131
1490
version "2.7.0"
···
1220
1579
resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
1221
1580
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
1222
1581
1582
+
undici-types@~7.12.0:
1583
+
version "7.12.0"
1584
+
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.12.0.tgz#15c5c7475c2a3ba30659529f5cdb4674b622fafb"
1585
+
integrity sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==
1586
+
1223
1587
unicode-trie@^2.0.0:
1224
1588
version "2.0.0"
1225
1589
resolved "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz"
···
1237
1601
version "1.0.0"
1238
1602
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
1239
1603
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
1604
+
1605
+
url-value-parser@^2.0.0:
1606
+
version "2.2.0"
1607
+
resolved "https://registry.yarnpkg.com/url-value-parser/-/url-value-parser-2.2.0.tgz#f38ae8cd24604ec69bc219d66929ddbbd93a2b32"
1608
+
integrity sha512-yIQdxJpgkPamPPAPuGdS7Q548rLhny42tg8d4vyTNzFqvOnwqrgHXvgehT09U7fwrzxi3RxCiXjoNUNnNOlQ8A==
1240
1609
1241
1610
utils-merge@1.0.1:
1242
1611
version "1.0.1"
+7
-3
bskyweb/cmd/bskyweb/server.go
+7
-3
bskyweb/cmd/bskyweb/server.go
···
394
394
func (srv *Server) NewTemplateContext() pongo2.Context {
395
395
return pongo2.Context{
396
396
"staticCDNHost": srv.cfg.staticCDNHost,
397
+
"favicon": fmt.Sprintf("%s/static/favicon.png", srv.cfg.staticCDNHost),
397
398
}
398
399
}
399
400
···
599
600
unauthedViewingOkay = false
600
601
}
601
602
}
602
-
if !unauthedViewingOkay {
603
-
return c.Render(http.StatusOK, "profile.html", data)
604
-
}
603
+
605
604
req := c.Request()
606
605
data["profileView"] = pv
607
606
data["requestURI"] = fmt.Sprintf("https://%s%s", req.Host, req.URL.Path)
608
607
data["requestHost"] = req.Host
608
+
609
+
if !unauthedViewingOkay {
610
+
data["requiresAuth"] = true
611
+
}
612
+
609
613
return c.Render(http.StatusOK, "profile.html", data)
610
614
}
611
615
+1
bskyweb/templates/base.html
+1
bskyweb/templates/base.html
···
95
95
<meta name="application-name" content="Bluesky">
96
96
<meta name="generator" content="bskyweb">
97
97
<meta property="og:site_name" content="Bluesky Social">
98
+
<meta property="og:logo" content="{{ favicon }}">
98
99
<meta name="twitter:site" content="@bluesky" />
99
100
<link type="application/activity+json" href="" />
100
101
+35
bskyweb/templates/post.html
+35
bskyweb/templates/post.html
···
56
56
<meta property="article:published_time" content="{{ postView.IndexedAt }}">
57
57
<link rel="alternate" type="application/json+oembed" href="https://embed.bsky.app/oembed?format=json&url={{ postView.Uri | urlencode }}" />
58
58
<link rel="alternate" href="{{ postView.Uri }}" />
59
+
<script type="application/ld+json">
60
+
{
61
+
"@context": "https://schema.org",
62
+
"@type": "DiscussionForumPosting",
63
+
"author": {
64
+
"@type": "Person",
65
+
"name": "{{ postView.Author.DisplayName }}",
66
+
"url": "https://bsky.app/profile/{{ postView.Author.Handle }}"
67
+
},
68
+
{%- if postText %}
69
+
"text": "{{ postText }}",
70
+
{% endif %}
71
+
{%- if imageThumbUrls %}
72
+
"image": "{{ imageThumbUrls[0] }}",
73
+
{% endif %}
74
+
"datePublished": "{{ postView.IndexedAt }}",
75
+
"interactionStatistic": [
76
+
{
77
+
"@type": "InteractionCounter",
78
+
"interactionType": "https://schema.org/LikeAction",
79
+
"userInteractionCount": {{ postView.LikeCount }}
80
+
},
81
+
{
82
+
"@type": "InteractionCounter",
83
+
"interactionType": "https://schema.org/CommentAction",
84
+
"userInteractionCount": {{ postView.ReplyCount }}
85
+
},
86
+
{
87
+
"@type": "InteractionCounter",
88
+
"interactionType": "https://schema.org/ShareAction",
89
+
"userInteractionCount": {{ postView.RepostCount + postView.QuoteCount }}
90
+
}
91
+
]
92
+
}
93
+
</script>
59
94
{%- elif requiresAuth and profileHandle -%}
60
95
<meta property="og:type" content="article">
61
96
<meta property="profile:username" content="{{ profileHandle }}">
+63
-16
bskyweb/templates/profile.html
+63
-16
bskyweb/templates/profile.html
···
9
9
{% endblock %}
10
10
11
11
{% block html_head_extra -%}
12
-
{%- if profileView -%}
13
12
<meta property="og:site_name" content="Bluesky Social">
14
13
<meta property="og:type" content="profile">
15
-
<meta property="profile:username" content="{{ profileView.Handle }}">
16
-
{%- if requestURI %}
14
+
{%- if requestURI %}
17
15
<meta property="og:url" content="{{ requestURI }}">
18
16
<link rel="canonical" href="{{ requestURI|canonicalize_url }}" />
19
-
{% endif -%}
17
+
{% endif -%}
18
+
19
+
{%- if profileView -%}
20
+
<meta property="profile:username" content="{{ profileView.Handle }}">
20
21
{%- if profileView.DisplayName %}
21
22
<meta property="og:title" content="{{ profileView.DisplayName }} (@{{ profileView.Handle }})">
22
23
{% else %}
23
24
<meta property="og:title" content="{{ profileView.Handle }}">
24
25
{% endif -%}
25
-
{%- if profileView.Description %}
26
-
<meta name="description" content="{{ profileView.Description }}">
27
-
<meta property="og:description" content="{{ profileView.Description }}">
28
-
{% endif -%}
29
-
{%- if profileView.Banner %}
30
-
<meta property="og:image" content="{{ profileView.Banner }}">
31
-
<meta name="twitter:card" content="summary_large_image">
32
-
{%- elif profileView.Avatar -%}
33
-
{# Don't use avatar image in cards; usually looks bad #}
34
-
<meta name="twitter:card" content="summary">
35
-
{% endif %}
26
+
27
+
<link rel="alternate" href="at://{{ profileView.Did }}/app.bsky.actor.profile/self" />
28
+
36
29
<meta name="twitter:label1" content="Account DID">
37
30
<meta name="twitter:value1" content="{{ profileView.Did }}">
31
+
38
32
{%- if requestHost %}
39
33
<link rel="alternate" type="application/rss+xml" href="https://{{ requestHost }}/profile/{{ profileView.Did }}/rss">
40
34
{% endif %}
41
-
<link rel="alternate" href="at://{{ profileView.Did }}/app.bsky.actor.profile/self" />
35
+
36
+
{# Only show details if auth isn't required #}
37
+
{% if not requiresAuth %}
38
+
{%- if profileView.Description %}
39
+
<meta name="description" content="{{ profileView.Description }}">
40
+
<meta property="og:description" content="{{ profileView.Description }}">
41
+
{% endif -%}
42
+
{%- if profileView.Banner %}
43
+
<meta property="og:image" content="{{ profileView.Banner }}">
44
+
<meta name="twitter:card" content="summary_large_image">
45
+
{%- elif profileView.Avatar -%}
46
+
{# Don't use avatar image in cards; usually looks bad #}
47
+
<meta name="twitter:card" content="summary">
48
+
{% endif %}
49
+
{% else %}
50
+
<meta name="description" content="This profile requires authentication to view.">
51
+
<meta property="og:description" content="This profile requires authentication to view.">
52
+
<meta property="twitter:description" content="This profile requires authentication to view.">
53
+
{% endif %}
54
+
55
+
<script type="application/ld+json">
56
+
{
57
+
"@context": "https://schema.org",
58
+
"@type": "ProfilePage",
59
+
"dateCreated": "{{ profileView.CreatedAt }}",
60
+
"mainEntity": {
61
+
"@type": "Person",
62
+
"name": "{{ profileView.DisplayName }}",
63
+
"alternateName": "@{{ profileView.Handle }}",
64
+
"identifier": "{{ profileView.Did }}",
65
+
"description": "{{ profileView.Description }}",
66
+
"image": "{{ profileView.Avatar }}",
67
+
"interactionStatistic": [
68
+
{
69
+
"@type": "InteractionCounter",
70
+
"interactionType": "https://schema.org/FollowAction",
71
+
"userInteractionCount": {{ profileView.FollowersCount }}
72
+
}
73
+
],
74
+
"agentInteractionStatistic": [
75
+
{
76
+
"@type": "InteractionCounter",
77
+
"interactionType": "https://schema.org/FollowAction",
78
+
"userInteractionCount": {{ profileView.FollowsCount }}
79
+
},
80
+
{
81
+
"@type": "InteractionCounter",
82
+
"interactionType": "https://schema.org/WriteAction",
83
+
"userInteractionCount": {{ profileView.PostsCount }}
84
+
}
85
+
]
86
+
}
87
+
}
88
+
</script>
42
89
{% endif -%}
43
90
{%- endblock %}
44
91
+1
-2
docs/build.md
+1
-2
docs/build.md
···
63
63
### Tips
64
64
65
65
- Copy the `.env.example` to `.env` and fill in any necessary tokens. (The Sentry token is NOT required; see instructions below if you want to enable Sentry.)
66
-
- To run on the device, add `--device` to the command (e.g. `yarn android --device`). To build in production mode (slower build, faster app), also add `--variant release`.
66
+
- To run on the device, add `--device` to the command (e.g. `yarn android --device`). To build in production mode (slower build, faster app), also add `--variant release` on Android or `--configuration Release` on iOS.
67
67
- If you want to use Expo EAS on your own builds without ejecting from Expo, make sure to change the `owner` and `extra.eas.projectId` properties. If you do not have an Expo account, you may remove these properties.
68
68
- `npx react-native info` Checks what has been installed.
69
69
- If the Android simulator frequently hangs or is very sluggish, [bump its memory limit](https://stackoverflow.com/a/40068396)
···
164
164
- TextEncoder / TextDecoder
165
165
- react-native-url-polyfill
166
166
- Array#findLast (on web)
167
-
- atob (on native)
168
167
169
168
### Sentry sourcemaps
170
169
+1
-1
eas.json
+1
-1
eas.json
+1
-1
jest/jestSetup.js
+1
-1
jest/jestSetup.js
+1
modules/bottom-sheet/ios/SheetView.swift
+1
modules/bottom-sheet/ios/SheetView.swift
+1
modules/expo-scroll-forwarder/ios/ExpoScrollForwarderView.swift
+1
modules/expo-scroll-forwarder/ios/ExpoScrollForwarderView.swift
+58
-62
package.json
+58
-62
package.json
···
74
74
"@atproto/api": "^0.16.7",
75
75
"@bitdrift/react-native": "^0.6.8",
76
76
"@braintree/sanitize-url": "^6.0.2",
77
+
"@bsky.app/alf": "^0.1.2",
77
78
"@discord/bottom-sheet": "bluesky-social/react-native-bottom-sheet",
78
79
"@emoji-mart/react": "^1.1.1",
79
80
"@expo/html-elements": "^0.12.5",
···
92
93
"@lingui/react": "^4.14.1",
93
94
"@mattermost/react-native-paste-input": "mattermost/react-native-paste-input",
94
95
"@miblanchard/react-native-slider": "^2.6.0",
95
-
"@mozzius/expo-dynamic-app-icon": "^1.7.1",
96
-
"@react-native-async-storage/async-storage": "2.1.2",
97
-
"@react-native-menu/menu": "^1.2.3",
98
-
"@react-native-picker/picker": "2.11.0",
96
+
"@mozzius/expo-dynamic-app-icon": "^1.8.0",
97
+
"@react-native-async-storage/async-storage": "2.2.0",
99
98
"@react-navigation/bottom-tabs": "^7.3.13",
100
99
"@react-navigation/drawer": "^7.3.12",
101
100
"@react-navigation/native": "^7.1.9",
102
101
"@react-navigation/native-stack": "^7.3.13",
103
-
"@sentry/react-native": "~6.14.0",
102
+
"@sentry/react-native": "~6.20.0",
104
103
"@tanstack/query-async-storage-persister": "^5.25.0",
105
104
"@tanstack/react-query": "^5.8.1",
106
105
"@tanstack/react-query-persist-client": "^5.25.0",
···
126
125
"bcp-47": "^2.1.0",
127
126
"bcp-47-match": "^2.0.3",
128
127
"date-fns": "^2.30.0",
129
-
"deprecated-react-native-prop-types": "^5.0.0",
130
128
"email-validator": "^2.0.4",
131
129
"emoji-mart": "^5.5.2",
132
130
"emoji-regex": "^10.4.0",
133
131
"eventemitter3": "^5.0.1",
134
-
"expo": "53.0.11",
135
-
"expo-application": "~6.1.4",
136
-
"expo-blur": "~14.1.5",
137
-
"expo-build-properties": "~0.14.6",
138
-
"expo-camera": "~16.1.8",
139
-
"expo-clipboard": "~7.1.4",
140
-
"expo-dev-client": "~5.2.0",
141
-
"expo-device": "~7.1.4",
142
-
"expo-file-system": "~18.1.10",
143
-
"expo-font": "~13.3.1",
144
-
"expo-haptics": "~14.1.4",
145
-
"expo-image": "^2.4.0",
132
+
"expo": "^54.0.9",
133
+
"expo-application": "~7.0.7",
134
+
"expo-blur": "~15.0.7",
135
+
"expo-build-properties": "~1.0.9",
136
+
"expo-camera": "~17.0.8",
137
+
"expo-clipboard": "~8.0.7",
138
+
"expo-dev-client": "~6.0.12",
139
+
"expo-device": "~8.0.8",
140
+
"expo-file-system": "~19.0.14",
141
+
"expo-font": "~14.0.8",
142
+
"expo-haptics": "~15.0.7",
143
+
"expo-image": "~3.0.8",
146
144
"expo-image-crop-tool": "^0.1.8",
147
-
"expo-image-manipulator": "~13.1.7",
148
-
"expo-image-picker": "17.0.5",
149
-
"expo-intent-launcher": "^12.1.5",
150
-
"expo-linear-gradient": "~14.1.5",
151
-
"expo-linking": "~7.1.5",
152
-
"expo-localization": "~16.1.5",
153
-
"expo-location": "~18.1.6",
154
-
"expo-media-library": "~17.1.7",
155
-
"expo-notifications": "~0.31.3",
156
-
"expo-screen-orientation": "~8.1.7",
157
-
"expo-sharing": "~13.1.5",
158
-
"expo-splash-screen": "~0.30.9",
159
-
"expo-system-ui": "~5.0.8",
160
-
"expo-task-manager": "~13.1.5",
161
-
"expo-updates": "~0.28.14",
162
-
"expo-video": "~2.2.1",
163
-
"expo-web-browser": "~14.1.6",
145
+
"expo-image-manipulator": "~14.0.7",
146
+
"expo-image-picker": "~17.0.8",
147
+
"expo-intent-launcher": "~13.0.7",
148
+
"expo-linear-gradient": "~15.0.7",
149
+
"expo-linking": "~8.0.8",
150
+
"expo-localization": "~17.0.7",
151
+
"expo-location": "~19.0.7",
152
+
"expo-media-library": "~18.2.0",
153
+
"expo-notifications": "~0.32.11",
154
+
"expo-screen-orientation": "~9.0.7",
155
+
"expo-sharing": "~14.0.7",
156
+
"expo-splash-screen": "~31.0.10",
157
+
"expo-system-ui": "~6.0.7",
158
+
"expo-task-manager": "~14.0.7",
159
+
"expo-updates": "~29.0.11",
160
+
"expo-video": "~3.0.11",
161
+
"expo-web-browser": "~15.0.7",
164
162
"fast-text-encoding": "^1.0.6",
165
163
"history": "^5.3.0",
166
164
"hls.js": "^1.6.2",
···
178
176
"patch-package": "^6.5.1",
179
177
"postinstall-postinstall": "^2.1.0",
180
178
"psl": "^1.9.0",
181
-
"radix-ui": "^1.2.0",
182
-
"react": "19.0.0",
179
+
"radix-ui": "^1.4.3",
180
+
"react": "19.1.0",
183
181
"react-compiler-runtime": "^19.1.0-rc.1",
184
-
"react-dom": "19.0.0",
182
+
"react-dom": "19.1.0",
185
183
"react-image-crop": "^11.0.7",
186
184
"react-is": "19",
187
185
"react-keyed-flatten-children": "^5.0.0",
188
-
"react-native": "^0.79.3",
189
-
"react-native-compressor": "^1.11.0",
190
-
"react-native-date-picker": "^5.0.12",
186
+
"react-native": "0.81.4",
187
+
"react-native-compressor": "^1.13.0",
188
+
"react-native-date-picker": "^5.0.13",
191
189
"react-native-device-attest": "^0.1.6",
192
190
"react-native-drawer-layout": "^4.1.8",
193
191
"react-native-edge-to-edge": "^1.6.0",
194
-
"react-native-gesture-handler": "2.25.0",
192
+
"react-native-gesture-handler": "~2.28.0",
195
193
"react-native-get-random-values": "~1.11.0",
196
-
"react-native-ios-context-menu": "^1.15.3",
197
-
"react-native-keyboard-controller": "^1.17.5",
194
+
"react-native-keyboard-controller": "1.18.5",
198
195
"react-native-mmkv": "^2.12.2",
199
196
"react-native-pager-view": "6.8.0",
200
197
"react-native-progress": "bluesky-social/react-native-progress",
201
198
"react-native-qrcode-styled": "^0.3.3",
202
-
"react-native-reanimated": "~3.17.5",
199
+
"react-native-reanimated": "^3.19.1",
203
200
"react-native-root-siblings": "^5.0.1",
204
-
"react-native-safe-area-context": "5.4.0",
205
-
"react-native-screens": "^4.11.1",
206
-
"react-native-svg": "15.12.0",
201
+
"react-native-safe-area-context": "~5.6.0",
202
+
"react-native-screens": "~4.16.0",
203
+
"react-native-svg": "15.12.1",
207
204
"react-native-uitextview": "^1.4.0",
208
205
"react-native-url-polyfill": "^1.3.0",
209
206
"react-native-uuid": "^2.0.3",
210
207
"react-native-view-shot": "^4.0.3",
211
-
"react-native-web": "~0.20.0",
208
+
"react-native-web": "^0.21.0",
212
209
"react-native-web-webview": "^1.0.2",
213
210
"react-native-webview": "^13.13.5",
214
211
"react-remove-scroll-bar": "^2.3.8",
···
220
217
"tippy.js": "^6.3.7",
221
218
"tlds": "^1.234.0",
222
219
"tldts": "^6.1.46",
223
-
"zeego": "^1.6.2",
224
220
"zod": "^3.20.2"
225
221
},
226
222
"devDependencies": {
···
228
224
"@babel/core": "^7.26.0",
229
225
"@babel/preset-env": "^7.26.0",
230
226
"@babel/runtime": "^7.26.0",
231
-
"@expo/config-plugins": "~10.0.2",
227
+
"@expo/config-plugins": "~54.0.1",
232
228
"@lingui/cli": "^4.14.1",
233
229
"@lingui/macro": "^4.14.1",
234
230
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
235
-
"@react-native/babel-preset": "0.79.3",
236
-
"@react-native/eslint-config": "^0.79.3",
237
-
"@react-native/typescript-config": "^0.79.3",
231
+
"@react-native/babel-preset": "0.81.4",
232
+
"@react-native/eslint-config": "^0.81.4",
233
+
"@react-native/typescript-config": "^0.81.4",
238
234
"@sentry/webpack-plugin": "^3.2.2",
239
235
"@testing-library/jest-native": "^5.4.3",
240
236
"@testing-library/react-native": "^13.2.0",
···
245
241
"@types/lodash.shuffle": "^4.2.7",
246
242
"@types/psl": "^1.1.1",
247
243
"@types/react": "^19.1.12",
248
-
"@types/react-dom": "^19.1.8",
244
+
"@types/react-dom": "^19.1.9",
249
245
"@typescript-eslint/eslint-plugin": "^7.18.0",
250
246
"@typescript-eslint/parser": "^7.18.0",
251
247
"babel-jest": "^29.7.0",
252
248
"babel-plugin-macros": "^3.1.0",
253
249
"babel-plugin-module-resolver": "^5.0.2",
254
250
"babel-plugin-react-compiler": "^19.1.0-rc.1",
255
-
"babel-preset-expo": "~13.1.11",
251
+
"babel-preset-expo": "~54.0.0",
256
252
"eslint": "^8.19.0",
257
253
"eslint-plugin-bsky-internal": "link:./eslint",
258
254
"eslint-plugin-ft-flow": "^2.0.3",
···
266
262
"husky": "^8.0.3",
267
263
"is-ci": "^3.0.1",
268
264
"jest": "^29.7.0",
269
-
"jest-expo": "~53.0.7",
265
+
"jest-expo": "~54.0.12",
270
266
"jest-junit": "^16.0.0",
271
267
"lint-staged": "^13.2.3",
272
268
"lockfile-lint": "^4.14.0",
···
276
272
"react-refresh": "^0.14.0",
277
273
"svgo": "^3.3.2",
278
274
"ts-node": "^10.9.1",
279
-
"typescript": "~5.8.3",
275
+
"typescript": "^5.9.2",
280
276
"webpack-bundle-analyzer": "^4.10.1"
281
277
},
282
278
"resolutions": {
283
-
"@expo/image-utils": "0.6.3",
284
-
"@react-native/babel-preset": "0.79.3",
285
-
"@react-native/normalize-colors": "0.79.3",
286
-
"**/expo-constants": "17.0.3",
279
+
"@react-native/babel-preset": "0.81.4",
280
+
"@react-native/normalize-colors": "0.81.4",
281
+
"**/@expo/image-utils": "0.8.7",
282
+
"**/expo-constants": "18.0.8",
287
283
"**/expo-device": "7.1.4",
288
284
"**/zod": "3.23.8",
289
285
"**/multiformats": "9.9.0"
+13
patches/@mattermost+react-native-paste-input+0.8.1.patch
+13
patches/@mattermost+react-native-paste-input+0.8.1.patch
···
1
+
diff --git a/node_modules/@mattermost/react-native-paste-input/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt b/node_modules/@mattermost/react-native-paste-input/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt
2
+
index 4ed2307..ede1181 100644
3
+
--- a/node_modules/@mattermost/react-native-paste-input/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt
4
+
+++ b/node_modules/@mattermost/react-native-paste-input/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt
5
+
@@ -54,7 +54,7 @@ class PasteTextInputManager(context: ReactApplicationContext) : ReactTextInputMa
6
+
}
7
+
8
+
override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any> {
9
+
- val map = super.getExportedCustomBubblingEventTypeConstants()!!
10
+
+ val map = super.getExportedCustomBubblingEventTypeConstants().toMutableMap()
11
+
map["onPaste"] = MapBuilder.of(
12
+
"phasedRegistrationNames",
13
+
MapBuilder.of("bubbled", "onPaste")
-13
patches/@sentry+react-native+6.14.0.patch
-13
patches/@sentry+react-native+6.14.0.patch
···
1
-
diff --git a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js
2
-
index c282ade..8777755 100755
3
-
--- a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js
4
-
+++ b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js
5
-
@@ -215,7 +215,7 @@ for (const [assetGroupName, assets] of Object.entries(groupedAssets)) {
6
-
7
-
const isHermes = assets.find(asset => asset.endsWith('.hbc'));
8
-
const windowsCallback = process.platform === "win32" ? 'node ' : '';
9
-
- execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')}`, {
10
-
+ execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')} --dist ${process.env.SENTRY_DIST}`, {
11
-
env: {
12
-
...process.env,
13
-
[SENTRY_PROJECT]: sentryProject,
+33
patches/@sentry+react-native+6.20.0.patch
+33
patches/@sentry+react-native+6.20.0.patch
···
1
+
diff --git a/node_modules/@sentry/react-native/dist/js/tools/sentryMetroSerializer.js b/node_modules/@sentry/react-native/dist/js/tools/sentryMetroSerializer.js
2
+
index d7f2350..e9c0368 100644
3
+
--- a/node_modules/@sentry/react-native/dist/js/tools/sentryMetroSerializer.js
4
+
+++ b/node_modules/@sentry/react-native/dist/js/tools/sentryMetroSerializer.js
5
+
@@ -12,12 +12,9 @@ exports.createSentryMetroSerializer = exports.unstable_beforeAssetSerializationP
6
+
const crypto = require("crypto");
7
+
const utils_1 = require("./utils");
8
+
const utils_2 = require("./vendor/metro/utils");
9
+
-let countLines;
10
+
-try {
11
+
- countLines = require('metro/private/lib/countLines');
12
+
-}
13
+
-catch (e) {
14
+
- countLines = require('metro/src/lib/countLines');
15
+
+const newline = /\r\n?|\n|\u2028|\u2029/g;
16
+
+function countLines(string) {
17
+
+ return (string.match(newline) || []).length + 1;
18
+
}
19
+
const DEBUG_ID_PLACE_HOLDER = '__debug_id_place_holder__';
20
+
const DEBUG_ID_MODULE_PATH = '__debugid__';
21
+
diff --git a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js
22
+
index b3783b5..d5e3e45 100755
23
+
--- a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js
24
+
+++ b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js
25
+
@@ -218,7 +218,7 @@ for (const [assetGroupName, assets] of Object.entries(groupedAssets)) {
26
+
27
+
const isHermes = assets.find(asset => asset.endsWith('.hbc'));
28
+
const windowsCallback = process.platform === "win32" ? 'node ' : '';
29
+
- execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')}`, {
30
+
+ execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')} --dist ${process.env.SENTRY_DIST}`, {
31
+
env: {
32
+
...process.env,
33
+
[SENTRY_PROJECT]: sentryProject,
+9
patches/@sentry+react-native+6.20.0.patch.md
+9
patches/@sentry+react-native+6.20.0.patch.md
···
1
+
# @sentry/react-native/scripts/expo-upload-sourcemaps.js patch
2
+
3
+
Lets us specify the output directory for the sourcemaps via an environment variable.
4
+
5
+
# @sentry/react-native/dist/js/tools/sentryMetroSerializer.js patch
6
+
7
+
Patch of this: https://github.com/getsentry/sentry-react-native/issues/5180#issuecomment-3311772038
8
+
9
+
Will be fixed in an upcoming release of @sentry/react-native - remove when available.
patches/expo-haptics+14.1.4.patch
patches/expo-haptics+15.0.7.patch
patches/expo-haptics+14.1.4.patch
patches/expo-haptics+15.0.7.patch
patches/expo-haptics+14.1.4.patch.md
patches/expo-haptics+15.0.7.patch.md
patches/expo-haptics+14.1.4.patch.md
patches/expo-haptics+15.0.7.patch.md
-19
patches/expo-media-library+17.1.7.patch
-19
patches/expo-media-library+17.1.7.patch
···
1
-
diff --git a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt
2
-
index f1255e8..a9b49e5 100644
3
-
--- a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt
4
-
+++ b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt
5
-
@@ -112,11 +112,9 @@ class MediaLibraryModule : Module() {
6
-
}
7
-
8
-
AsyncFunction("createAssetAsync") { localUri: String, albumId: String?, promise: Promise ->
9
-
- throwUnlessPermissionsGranted {
10
-
- withModuleScope(promise) {
11
-
- CreateAssetWithAlbumId(context, localUri, promise, true, albumId)
12
-
- .execute()
13
-
- }
14
-
+ withModuleScope(promise) {
15
-
+ CreateAssetWithAlbumId(context, localUri, promise, true, albumId)
16
-
+ .execute()
17
-
}
18
-
}
19
-
+13
patches/expo-media-library+18.2.0.patch
+13
patches/expo-media-library+18.2.0.patch
···
1
+
diff --git a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt
2
+
index 2dc1db2..ee844e8 100644
3
+
--- a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt
4
+
+++ b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt
5
+
@@ -105,7 +105,7 @@ class MediaLibraryModule : Module() {
6
+
}
7
+
8
+
AsyncFunction("createAssetAsync") Coroutine { localUri: String, albumId: String? ->
9
+
- requireSystemPermissions()
10
+
+ // requireSystemPermissions()
11
+
return@Coroutine createAssetWithAlbumId(context, localUri, true, albumId)
12
+
}
13
+
patches/expo-modules-core+2.4.0.patch
patches/expo-modules-core+3.0.17.patch
patches/expo-modules-core+2.4.0.patch
patches/expo-modules-core+3.0.17.patch
patches/expo-modules-core+2.4.0.patch.md
patches/expo-modules-core+3.0.17.patch.md
patches/expo-modules-core+2.4.0.patch.md
patches/expo-modules-core+3.0.17.patch.md
patches/expo-notifications+0.31.3.patch
patches/expo-notifications+0.32.11.patch
patches/expo-notifications+0.31.3.patch
patches/expo-notifications+0.32.11.patch
patches/expo-notifications+0.31.3.patch.md
patches/expo-notifications+0.32.11.patch.md
patches/expo-notifications+0.31.3.patch.md
patches/expo-notifications+0.32.11.patch.md
patches/expo-updates+0.28.14.patch
patches/expo-updates+29.0.11.patch
patches/expo-updates+0.28.14.patch
patches/expo-updates+29.0.11.patch
patches/expo-updates+0.28.14.patch.md
patches/expo-updates+29.0.11.patch.md
patches/expo-updates+0.28.14.patch.md
patches/expo-updates+29.0.11.patch.md
+1
-1
patches/react-native+0.79.3.patch
patches/react-native+0.81.4.patch
+1
-1
patches/react-native+0.79.3.patch
patches/react-native+0.81.4.patch
···
15
15
index d029337..0f63ea3 100644
16
16
--- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm
17
17
+++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm
18
-
@@ -1003,6 +1003,11 @@ - (void)_adjustForMaintainVisibleContentPosition
18
+
@@ -1038,6 +1038,11 @@ - (void)_adjustForMaintainVisibleContentPosition
19
19
}
20
20
}
21
21
patches/react-native+0.79.3.patch.md
patches/react-native+0.81.4.patch.md
patches/react-native+0.79.3.patch.md
patches/react-native+0.81.4.patch.md
+17
patches/react-native-date-picker+5.0.13.patch
+17
patches/react-native-date-picker+5.0.13.patch
···
1
+
diff --git a/node_modules/react-native-date-picker/ios/RNDatePicker.h b/node_modules/react-native-date-picker/ios/RNDatePicker.h
2
+
index 480746e..470dc3a 100644
3
+
--- a/node_modules/react-native-date-picker/ios/RNDatePicker.h
4
+
+++ b/node_modules/react-native-date-picker/ios/RNDatePicker.h
5
+
@@ -15,6 +15,7 @@ NS_ASSUME_NONNULL_END
6
+
#else
7
+
#import "DatePicker.h"
8
+
#import <UIKit/UIKit.h>
9
+
+#include <string>
10
+
11
+
@interface RNDatePicker : DatePicker
12
+
13
+
@@ -22,4 +23,3 @@ NS_ASSUME_NONNULL_END
14
+
@end
15
+
16
+
#endif
17
+
-
-36
patches/react-native-gesture-handler+2.25.0.patch
-36
patches/react-native-gesture-handler+2.25.0.patch
···
1
-
diff --git a/node_modules/react-native-gesture-handler/apple/RNGestureHandler.mm b/node_modules/react-native-gesture-handler/apple/RNGestureHandler.mm
2
-
index 43d11b4..5bf0d32 100644
3
-
--- a/node_modules/react-native-gesture-handler/apple/RNGestureHandler.mm
4
-
+++ b/node_modules/react-native-gesture-handler/apple/RNGestureHandler.mm
5
-
@@ -461,16 +461,23 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
6
-
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
7
-
shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
8
-
{
9
-
- if ([_handlersToWaitFor count]) {
10
-
- RNGestureHandler *handler = [RNGestureHandler findGestureHandlerByRecognizer:otherGestureRecognizer];
11
-
- if (handler != nil) {
12
-
- for (NSNumber *handlerTag in _handlersToWaitFor) {
13
-
- if ([handler.tag isEqual:handlerTag]) {
14
-
- return YES;
15
-
- }
16
-
- }
17
-
+ RNGestureHandler *handler = [RNGestureHandler findGestureHandlerByRecognizer:otherGestureRecognizer];
18
-
+ if (handler == nil) {
19
-
+ return NO;
20
-
+ }
21
-
+
22
-
+ for (NSNumber *handlerTag in _handlersToWaitFor) {
23
-
+ if ([handler.tag isEqual:handlerTag]) {
24
-
+ return YES;
25
-
}
26
-
}
27
-
+
28
-
+ for (NSNumber *handlerTag in handler->_handlersThatShouldWait) {
29
-
+ if ([_tag isEqual:handlerTag]) {
30
-
+ return YES;
31
-
+ }
32
-
+ }
33
-
+
34
-
return NO;
35
-
}
36
-
-44
patches/react-native-reanimated+3.17.5.patch
-44
patches/react-native-reanimated+3.17.5.patch
···
1
-
diff --git a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp
2
-
index eae3989..432745a 100644
3
-
--- a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp
4
-
+++ b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp
5
-
@@ -416,6 +416,10 @@ void NativeProxy::progressLayoutAnimation(
6
-
tag, newPropsJNI, isSharedTransition);
7
-
}
8
-
9
-
+void NativeProxy::endLayoutAnimation(int tag, bool shouldRemove) {
10
-
+ layoutAnimations_->cthis()->endLayoutAnimation(tag, shouldRemove);
11
-
+}
12
-
+
13
-
PlatformDepMethodsHolder NativeProxy::getPlatformDependentMethods() {
14
-
#ifdef RCT_NEW_ARCH_ENABLED
15
-
// nothing
16
-
@@ -455,14 +459,7 @@ PlatformDepMethodsHolder NativeProxy::getPlatformDependentMethods() {
17
-
auto progressLayoutAnimation =
18
-
bindThis(&NativeProxy::progressLayoutAnimation);
19
-
20
-
- auto endLayoutAnimation = [weakThis = weak_from_this()](
21
-
- int tag, bool removeView) {
22
-
- auto strongThis = weakThis.lock();
23
-
- if (!strongThis) {
24
-
- return;
25
-
- }
26
-
- strongThis->layoutAnimations_->cthis()->endLayoutAnimation(tag, removeView);
27
-
- };
28
-
+ auto endLayoutAnimation = bindThis(&NativeProxy::endLayoutAnimation);
29
-
30
-
auto maybeFlushUiUpdatesQueueFunction =
31
-
bindThis(&NativeProxy::maybeFlushUIUpdatesQueue);
32
-
diff --git a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h
33
-
index 2ee2cc8..2edb5c9 100644
34
-
--- a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h
35
-
+++ b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h
36
-
@@ -234,6 +234,8 @@ class NativeProxy : public jni::HybridClass<NativeProxy>,
37
-
const jsi::Object &newProps,
38
-
bool isSharedTransition);
39
-
40
-
+ void endLayoutAnimation(int tag, bool shouldRemove);
41
-
+
42
-
/***
43
-
* Wraps a method of `NativeProxy` in a function object capturing `this`
44
-
* @tparam TReturn return type of passed method
+326
patches/react-native-screens+4.16.0.patch
+326
patches/react-native-screens+4.16.0.patch
···
1
+
diff --git a/node_modules/react-native-screens/ios/RNSScreen.mm b/node_modules/react-native-screens/ios/RNSScreen.mm
2
+
index b62a2e2..cb469db 100644
3
+
--- a/node_modules/react-native-screens/ios/RNSScreen.mm
4
+
+++ b/node_modules/react-native-screens/ios/RNSScreen.mm
5
+
@@ -729,9 +729,26 @@ - (void)notifyTransitionProgress:(double)progress closing:(BOOL)closing goingFor
6
+
#endif
7
+
}
8
+
9
+
-#if !RCT_NEW_ARCH_ENABLED
10
+
+- (void)willMoveToWindow:(UIWindow *)newWindow
11
+
+{
12
+
+ if (@available(iOS 26, *)) {
13
+
+ // In iOS 26, as soon as another screen appears in transition, it is interactable
14
+
+ // To avoid glitches resulting from clicking buttons mid transition, we temporarily disable all interactions
15
+
+ // Disabling interactions for parent navigation controller won't be enough in case of nested stack
16
+
+ // Furthermore, a stack put inside a modal will exist in an entirely different hierarchy
17
+
+ // To be sure, we block interactions on the whole window.
18
+
+ // Note that newWindows is nil when moving from instead of moving to, and Obj-C handles nil correctly
19
+
+ newWindow.userInteractionEnabled = false;
20
+
+ }
21
+
+}
22
+
+
23
+
- (void)presentationControllerWillDismiss:(UIPresentationController *)presentationController
24
+
{
25
+
+ if (@available(iOS 26, *)) {
26
+
+ // Disable interactions to disallow multiple modals dismissed at once; see willMoveToWindow
27
+
+ presentationController.containerView.window.userInteractionEnabled = false;
28
+
+ }
29
+
+#if !RCT_NEW_ARCH_ENABLED
30
+
// On Paper, we need to call both "cancel" and "reset" here because RN's gesture
31
+
// recognizer does not handle the scenario when it gets cancelled by other top
32
+
// level gesture recognizer. In this case by the modal dismiss gesture.
33
+
@@ -744,8 +761,8 @@ - (void)presentationControllerWillDismiss:(UIPresentationController *)presentati
34
+
// down.
35
+
[_touchHandler cancel];
36
+
[_touchHandler reset];
37
+
-}
38
+
#endif // !RCT_NEW_ARCH_ENABLED
39
+
+}
40
+
41
+
- (BOOL)presentationControllerShouldDismiss:(UIPresentationController *)presentationController
42
+
{
43
+
@@ -757,6 +774,10 @@ - (BOOL)presentationControllerShouldDismiss:(UIPresentationController *)presenta
44
+
45
+
- (void)presentationControllerDidAttemptToDismiss:(UIPresentationController *)presentationController
46
+
{
47
+
+ if (@available(iOS 26, *)) {
48
+
+ // Reenable interactions; see presentationControllerWillDismiss
49
+
+ presentationController.containerView.window.userInteractionEnabled = true;
50
+
+ }
51
+
// NOTE(kkafar): We should consider depracating the use of gesture cancel here & align
52
+
// with usePreventRemove API of react-navigation v7.
53
+
[self notifyGestureCancel];
54
+
@@ -767,6 +788,11 @@ - (void)presentationControllerDidAttemptToDismiss:(UIPresentationController *)pr
55
+
56
+
- (void)presentationControllerDidDismiss:(UIPresentationController *)presentationController
57
+
{
58
+
+ if (@available(iOS 26, *)) {
59
+
+ // Reenable interactions; see presentationControllerWillDismiss
60
+
+ // Dismissed screen doesn't hold a reference to window, but presentingViewController.view does
61
+
+ presentationController.presentingViewController.view.window.userInteractionEnabled = true;
62
+
+ }
63
+
if ([_reactSuperview respondsToSelector:@selector(presentationControllerDidDismiss:)]) {
64
+
[_reactSuperview performSelector:@selector(presentationControllerDidDismiss:) withObject:presentationController];
65
+
}
66
+
@@ -1518,6 +1544,10 @@ - (void)viewWillDisappear:(BOOL)animated
67
+
68
+
- (void)viewDidAppear:(BOOL)animated
69
+
{
70
+
+ if (@available(iOS 26, *)) {
71
+
+ // Reenable interactions, see willMoveToWindow
72
+
+ self.view.window.userInteractionEnabled = true;
73
+
+ }
74
+
[super viewDidAppear:animated];
75
+
if (!_isSwiping || _shouldNotify) {
76
+
// we are going forward or dismissing without swipe
77
+
diff --git a/node_modules/react-native-screens/ios/RNSScreenStack.mm b/node_modules/react-native-screens/ios/RNSScreenStack.mm
78
+
index 229dc58..10b365b 100644
79
+
--- a/node_modules/react-native-screens/ios/RNSScreenStack.mm
80
+
+++ b/node_modules/react-native-screens/ios/RNSScreenStack.mm
81
+
@@ -62,26 +62,6 @@ @interface RNSScreenStackView () <
82
+
83
+
@implementation RNSNavigationController
84
+
85
+
-#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
86
+
-- (void)viewDidLoad
87
+
-{
88
+
- // iOS 26 introduces new gesture recognizer which replaces our RNSPanGestureRecognizer.
89
+
- // The problem is that we are not able to handle it here for various reasons:
90
+
- // - the new recognizer comes with its own delegate and our current approach is to wire
91
+
- // all recognizers to RNSScreenStackView; to be 100% sure we don't break the logic,
92
+
- // we would have to decorate its delegate and call it after our code, which would
93
+
- // break other recognizers that the stack view is the delegate for
94
+
- // - when RNSScreenStackView.setupGestureHandler method is called, the recognizer hasn't been
95
+
- // loaded yet and there is no other place to configure in a not "hacky" way
96
+
- // - the official docs warn us to not use it for anything other than "setting up failure requirements with it"
97
+
- // - we expose fullScreenGestureEnabled prop to enable/disable the feature,
98
+
- // so we need control over the delegate
99
+
- if (@available(iOS 26.0, *)) {
100
+
- self.interactiveContentPopGestureRecognizer.enabled = NO;
101
+
- }
102
+
-}
103
+
-#endif // iOS 26
104
+
-
105
+
#if !TARGET_OS_TV
106
+
- (UIViewController *)childViewControllerForStatusBarStyle
107
+
{
108
+
@@ -219,50 +199,6 @@ - (bool)onRepeatedTabSelectionOfTabScreenController:(RNSTabsScreenViewController
109
+
return false;
110
+
}
111
+
112
+
-#pragma mark - UINavigationBarDelegate
113
+
-
114
+
-#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
115
+
-- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item
116
+
-{
117
+
- if (@available(iOS 26, *)) {
118
+
- // To prevent popping multiple screens when back button is pressed repeatedly,
119
+
- // We allow for pop operation to proceed only if no transition is in progress,
120
+
- // which we check indirectly by checking if transitionCoordinator is set.
121
+
- // If it's not, we are safe to proceed.
122
+
- if (self.transitionCoordinator == nil) {
123
+
- // We still need to disable interactions for back button so click effects are not applied,
124
+
- // and there is unfortunately no better place for it currently
125
+
- UIView *button = [navigationBar rnscreens_findBackButtonWrapperView];
126
+
- if (button != nil) {
127
+
- button.userInteractionEnabled = false;
128
+
- }
129
+
-
130
+
- return true;
131
+
- }
132
+
-
133
+
- return false;
134
+
- }
135
+
-
136
+
- return true;
137
+
-}
138
+
-
139
+
-- (void)navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item
140
+
-{
141
+
- if (@available(iOS 26, *)) {
142
+
- // Reset interactions on back button -> see navigationBar:shouldPopItem
143
+
- // IMPORTANT: This reset won't execute when preventNativeDismiss is on.
144
+
- // However, on iOS 26, unlike in previous versions, the back button instance changes
145
+
- // when handling preventNativeDismiss and userIteractionEnabled is reset.
146
+
- // The instance also changes when regular screen pop happens, but in that case
147
+
- // the value of userInteractionEnabled is carried on, and we reset it here.
148
+
- UIView *button = [navigationBar rnscreens_findBackButtonWrapperView];
149
+
- if (button != nil) {
150
+
- button.userInteractionEnabled = true;
151
+
- }
152
+
- }
153
+
-}
154
+
-#endif // Check for iOS >= 26
155
+
-
156
+
#pragma mark - RNSFrameCorrectionProvider
157
+
158
+
#ifdef RNS_GAMMA_ENABLED
159
+
@@ -327,7 +263,7 @@ @implementation RNSScreenStackView {
160
+
UINavigationController *_controller;
161
+
NSMutableArray<RNSScreenView *> *_reactSubviews;
162
+
BOOL _invalidated;
163
+
- BOOL _isFullWidthSwiping;
164
+
+ BOOL _isFullWidthSwipingWithPanGesture; // used only for content swipe with RNSPanGestureRecognizer
165
+
RNSPercentDrivenInteractiveTransition *_interactionController;
166
+
__weak RNSScreenStackManager *_manager;
167
+
BOOL _updateScheduled;
168
+
@@ -522,6 +458,11 @@ - (void)reactAddControllerToClosestParent:(UIViewController *)controller
169
+
[self addSubview:controller.view];
170
+
#if !TARGET_OS_TV
171
+
_controller.interactivePopGestureRecognizer.delegate = self;
172
+
+ #if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
173
+
+ if (@available(iOS 26, *)) {
174
+
+ _controller.interactiveContentPopGestureRecognizer.delegate = self;
175
+
+ }
176
+
+#endif // Check for iOS >= 26.0
177
+
#endif
178
+
[controller didMoveToParentViewController:parentView.reactViewController];
179
+
// On iOS pre 12 we observed that `willShowViewController` delegate method does not always
180
+
@@ -943,7 +884,7 @@ - (void)dismissOnReload
181
+
// when preventing the native dismiss with back button, we have to return the animator.
182
+
// Also, we need to return the animator when full width swiping even if the animation is not custom,
183
+
// otherwise the screen will be just popped immediately due to no animation
184
+
- ((operation == UINavigationControllerOperationPop && shouldCancelDismiss) || _isFullWidthSwiping ||
185
+
+ ((operation == UINavigationControllerOperationPop && shouldCancelDismiss) || _isFullWidthSwipingWithPanGesture ||
186
+
[RNSScreenStackAnimator isCustomAnimation:screen.stackAnimation] || _customAnimation)) {
187
+
return [[RNSScreenStackAnimator alloc] initWithOperation:operation];
188
+
}
189
+
@@ -967,23 +908,39 @@ - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
190
+
}
191
+
RNSScreenView *topScreen = _reactSubviews.lastObject;
192
+
193
+
+ BOOL customAnimationOnSwipePropSetAndSelectedAnimationIsCustom =
194
+
+ topScreen.customAnimationOnSwipe && [RNSScreenStackAnimator isCustomAnimation:topScreen.stackAnimation];
195
+
+
196
+
#if TARGET_OS_TV || TARGET_OS_VISION
197
+
[self cancelTouchesInParent];
198
+
return YES;
199
+
#else
200
+
- // RNSPanGestureRecognizer will receive events iff topScreen.fullScreenSwipeEnabled == YES;
201
+
- // Events are filtered in gestureRecognizer:shouldReceivePressOrTouchEvent: method
202
+
if ([gestureRecognizer isKindOfClass:[RNSPanGestureRecognizer class]]) {
203
+
- if ([self isInGestureResponseDistance:gestureRecognizer topScreen:topScreen]) {
204
+
- _isFullWidthSwiping = YES;
205
+
- [self cancelTouchesInParent];
206
+
- return YES;
207
+
+ // On iOS < 26, we have a custom full screen swipe recognizer that functions similarily
208
+
+ // to interactiveContentPopGestureRecognizer introduced in iOS 26.
209
+
+ // On iOS >= 26, we want to use the native one, but we are unable to handle custom animations
210
+
+ // with native interactiveContentPopGestureRecognizer, so we have to fallback to the old implementation.
211
+
+ // In this case, the old one should behave as close as the new native one, having only the difference
212
+
+ // in animation, and without any customization that is exclusive for it (e.g. gestureResponseDistance).
213
+
+ if (@available(iOS 26, *)) {
214
+
+ if (customAnimationOnSwipePropSetAndSelectedAnimationIsCustom) {
215
+
+ _isFullWidthSwipingWithPanGesture = YES;
216
+
+ [self cancelTouchesInParent];
217
+
+ return YES;
218
+
+ }
219
+
+ return NO;
220
+
+ } else {
221
+
+ if ([self isInGestureResponseDistance:gestureRecognizer topScreen:topScreen]) {
222
+
+ _isFullWidthSwipingWithPanGesture = YES;
223
+
+ [self cancelTouchesInParent];
224
+
+ return YES;
225
+
+ }
226
+
+ return NO;
227
+
}
228
+
- return NO;
229
+
}
230
+
231
+
// Now we're dealing with RNSScreenEdgeGestureRecognizer (or _UIParallaxTransitionPanGestureRecognizer)
232
+
- if (topScreen.customAnimationOnSwipe && [RNSScreenStackAnimator isCustomAnimation:topScreen.stackAnimation]) {
233
+
+ if (customAnimationOnSwipePropSetAndSelectedAnimationIsCustom) {
234
+
if ([gestureRecognizer isKindOfClass:[RNSScreenEdgeGestureRecognizer class]]) {
235
+
UIRectEdge edges = ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges;
236
+
BOOL isRTL = _controller.view.semanticContentAttribute == UISemanticContentAttributeForceRightToLeft;
237
+
@@ -1028,7 +985,9 @@ - (void)setupGestureHandlers
238
+
rightEdgeSwipeGestureRecognizer.delegate = self;
239
+
[self addGestureRecognizer:rightEdgeSwipeGestureRecognizer];
240
+
241
+
- // gesture recognizer for full width swipe gesture
242
+
+ // Starting from iOS 26, RNSPanGestureRecognizer has been mostly replaced by native
243
+
+ // interactiveContentPopGestureRecognizer. It still needs to handle custom dismiss animations,
244
+
+ // which we are not able to handle with the latter.
245
+
RNSPanGestureRecognizer *panRecognizer = [[RNSPanGestureRecognizer alloc] initWithTarget:self
246
+
action:@selector(handleSwipe:)];
247
+
panRecognizer.delegate = self;
248
+
@@ -1091,7 +1050,7 @@ - (void)handleSwipe:(UIPanGestureRecognizer *)gestureRecognizer
249
+
[_interactionController cancelInteractiveTransition];
250
+
}
251
+
_interactionController = nil;
252
+
- _isFullWidthSwiping = NO;
253
+
+ _isFullWidthSwipingWithPanGesture = NO;
254
+
}
255
+
default: {
256
+
break;
257
+
@@ -1225,14 +1184,6 @@ - (BOOL)isScrollViewPanGestureRecognizer:(UIGestureRecognizer *)gestureRecognize
258
+
// Be careful when adding another type of gesture recognizer.
259
+
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivePressOrTouchEvent:(NSObject *)event
260
+
{
261
+
- if (@available(iOS 26, *)) {
262
+
- // in iOS 26, you can swipe to pop screen before the previous one finished transitioning;
263
+
- // this prevents from registering the second gesture
264
+
- if ([self isTransitionInProgress]) {
265
+
- return NO;
266
+
- }
267
+
- }
268
+
-
269
+
RNSScreenView *topScreen = _reactSubviews.lastObject;
270
+
271
+
for (RNSScreenView *s in _reactSubviews.reverseObjectEnumerator) {
272
+
@@ -1249,10 +1200,30 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceive
273
+
return NO;
274
+
}
275
+
276
+
+ BOOL customAnimationOnSwipePropSetAndSelectedAnimationIsCustom =
277
+
+ topScreen.customAnimationOnSwipe && [RNSScreenStackAnimator isCustomAnimation:topScreen.stackAnimation];
278
+
+#if RNS_IPHONE_OS_VERSION_AVAILABLE(26_0)
279
+
+ if (@available(iOS 26, *)) {
280
+
+ // On iOS 26, fullScreenSwipeEnabled takes no effect, and depending on whether custom animations are on,
281
+
+ // we select either interactiveContentPopGestureRecognizer or RNSPanGestureRecognizer
282
+
+ if (([gestureRecognizer isKindOfClass:[RNSPanGestureRecognizer class]] &&
283
+
+ !customAnimationOnSwipePropSetAndSelectedAnimationIsCustom) ||
284
+
+ (gestureRecognizer == _controller.interactiveContentPopGestureRecognizer &&
285
+
+ customAnimationOnSwipePropSetAndSelectedAnimationIsCustom)) {
286
+
+ return NO;
287
+
+ }
288
+
+ } else {
289
+
+ // We want to pass events to RNSPanGestureRecognizer iff full screen swipe is enabled.
290
+
+ if ([gestureRecognizer isKindOfClass:[RNSPanGestureRecognizer class]]) {
291
+
+ return topScreen.fullScreenSwipeEnabled;
292
+
+ }
293
+
+ }
294
+
+#else // check for iOS >= 26
295
+
// We want to pass events to RNSPanGestureRecognizer iff full screen swipe is enabled.
296
+
if ([gestureRecognizer isKindOfClass:[RNSPanGestureRecognizer class]]) {
297
+
return topScreen.fullScreenSwipeEnabled;
298
+
}
299
+
+#endif // check for iOS >= 26
300
+
301
+
// RNSScreenEdgeGestureRecognizer || _UIParallaxTransitionPanGestureRecognizer
302
+
return YES;
303
+
@@ -1268,15 +1239,6 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceive
304
+
return [self gestureRecognizer:gestureRecognizer shouldReceivePressOrTouchEvent:touch];
305
+
}
306
+
307
+
-- (BOOL)isTransitionInProgress
308
+
-{
309
+
- if (_controller.transitionCoordinator != nil) {
310
+
- return YES;
311
+
- }
312
+
-
313
+
- return NO;
314
+
-}
315
+
-
316
+
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
317
+
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
318
+
{
319
+
@@ -1289,7 +1251,6 @@ - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
320
+
if (gestureRecognizer.state == UIGestureRecognizerStateBegan || isBackGesture) {
321
+
return NO;
322
+
}
323
+
-
324
+
return YES;
325
+
}
326
+
return NO;
patches/react-native-svg+15.12.0.patch
patches/react-native-svg+15.12.1.patch
patches/react-native-svg+15.12.0.patch
patches/react-native-svg+15.12.1.patch
+16
-19
src/App.native.tsx
+16
-19
src/App.native.tsx
···
38
38
} from '#/state/geolocation'
39
39
import {GlobalGestureEventsProvider} from '#/state/global-gesture-events'
40
40
import {Provider as HomeBadgeProvider} from '#/state/home-badge'
41
-
import {Provider as InvitesStateProvider} from '#/state/invites'
42
41
import {Provider as LightboxStateProvider} from '#/state/lightbox'
43
42
import {MessagesProvider} from '#/state/messages'
44
43
import {Provider as ModalStateProvider} from '#/state/modals'
···
225
224
<PrefsStateProvider>
226
225
<I18nProvider>
227
226
<ShellStateProvider>
228
-
<InvitesStateProvider>
229
-
<ModalStateProvider>
230
-
<DialogStateProvider>
231
-
<LightboxStateProvider>
232
-
<PortalProvider>
233
-
<BottomSheetProvider>
234
-
<StarterPackProvider>
235
-
<SafeAreaProvider
236
-
initialMetrics={initialWindowMetrics}>
237
-
<InnerApp />
238
-
</SafeAreaProvider>
239
-
</StarterPackProvider>
240
-
</BottomSheetProvider>
241
-
</PortalProvider>
242
-
</LightboxStateProvider>
243
-
</DialogStateProvider>
244
-
</ModalStateProvider>
245
-
</InvitesStateProvider>
227
+
<ModalStateProvider>
228
+
<DialogStateProvider>
229
+
<LightboxStateProvider>
230
+
<PortalProvider>
231
+
<BottomSheetProvider>
232
+
<StarterPackProvider>
233
+
<SafeAreaProvider
234
+
initialMetrics={initialWindowMetrics}>
235
+
<InnerApp />
236
+
</SafeAreaProvider>
237
+
</StarterPackProvider>
238
+
</BottomSheetProvider>
239
+
</PortalProvider>
240
+
</LightboxStateProvider>
241
+
</DialogStateProvider>
242
+
</ModalStateProvider>
246
243
</ShellStateProvider>
247
244
</I18nProvider>
248
245
</PrefsStateProvider>
+11
-14
src/App.web.tsx
+11
-14
src/App.web.tsx
···
26
26
Provider as GeolocationProvider,
27
27
} from '#/state/geolocation'
28
28
import {Provider as HomeBadgeProvider} from '#/state/home-badge'
29
-
import {Provider as InvitesStateProvider} from '#/state/invites'
30
29
import {Provider as LightboxStateProvider} from '#/state/lightbox'
31
30
import {MessagesProvider} from '#/state/messages'
32
31
import {Provider as ModalStateProvider} from '#/state/modals'
···
199
198
<PrefsStateProvider>
200
199
<I18nProvider>
201
200
<ShellStateProvider>
202
-
<InvitesStateProvider>
203
-
<ModalStateProvider>
204
-
<DialogStateProvider>
205
-
<LightboxStateProvider>
206
-
<PortalProvider>
207
-
<StarterPackProvider>
208
-
<InnerApp />
209
-
</StarterPackProvider>
210
-
</PortalProvider>
211
-
</LightboxStateProvider>
212
-
</DialogStateProvider>
213
-
</ModalStateProvider>
214
-
</InvitesStateProvider>
201
+
<ModalStateProvider>
202
+
<DialogStateProvider>
203
+
<LightboxStateProvider>
204
+
<PortalProvider>
205
+
<StarterPackProvider>
206
+
<InnerApp />
207
+
</StarterPackProvider>
208
+
</PortalProvider>
209
+
</LightboxStateProvider>
210
+
</DialogStateProvider>
211
+
</ModalStateProvider>
215
212
</ShellStateProvider>
216
213
</I18nProvider>
217
214
</PrefsStateProvider>
+4
-997
src/alf/atoms.ts
+4
-997
src/alf/atoms.ts
···
1
-
import {
2
-
Platform,
3
-
type StyleProp,
4
-
StyleSheet,
5
-
type ViewStyle,
6
-
} from 'react-native'
1
+
import {type StyleProp, type ViewStyle} from 'react-native'
2
+
import {atoms as baseAtoms} from '@bsky.app/alf'
7
3
8
-
import * as tokens from '#/alf/tokens'
9
-
import {ios, native, platform, web} from '#/alf/util/platform'
4
+
import {native, platform, web} from '#/alf/util/platform'
10
5
import * as Layout from '#/components/Layout'
11
6
12
7
export const atoms = {
13
-
debug: {
14
-
borderColor: 'red',
15
-
borderWidth: 1,
16
-
},
17
-
18
-
/*
19
-
* Positioning
20
-
*/
21
-
fixed: {
22
-
position: Platform.select({web: 'fixed', native: 'absolute'}) as 'absolute',
23
-
},
24
-
absolute: {
25
-
position: 'absolute',
26
-
},
27
-
relative: {
28
-
position: 'relative',
29
-
},
30
-
static: {
31
-
position: 'static',
32
-
},
33
-
sticky: web({
34
-
position: 'sticky',
35
-
}),
36
-
inset_0: {
37
-
top: 0,
38
-
left: 0,
39
-
right: 0,
40
-
bottom: 0,
41
-
},
42
-
top_0: {
43
-
top: 0,
44
-
},
45
-
right_0: {
46
-
right: 0,
47
-
},
48
-
bottom_0: {
49
-
bottom: 0,
50
-
},
51
-
left_0: {
52
-
left: 0,
53
-
},
54
-
z_10: {
55
-
zIndex: 10,
56
-
},
57
-
z_20: {
58
-
zIndex: 20,
59
-
},
60
-
z_30: {
61
-
zIndex: 30,
62
-
},
63
-
z_40: {
64
-
zIndex: 40,
65
-
},
66
-
z_50: {
67
-
zIndex: 50,
68
-
},
69
-
70
-
overflow_visible: {
71
-
overflow: 'visible',
72
-
},
73
-
overflow_x_visible: {
74
-
overflowX: 'visible',
75
-
},
76
-
overflow_y_visible: {
77
-
overflowY: 'visible',
78
-
},
79
-
overflow_hidden: {
80
-
overflow: 'hidden',
81
-
},
82
-
overflow_x_hidden: {
83
-
overflowX: 'hidden',
84
-
},
85
-
overflow_y_hidden: {
86
-
overflowY: 'hidden',
87
-
},
88
-
/**
89
-
* @platform web
90
-
*/
91
-
overflow_auto: web({
92
-
overflow: 'auto',
93
-
}),
8
+
...baseAtoms,
94
9
95
-
/*
96
-
* Width & Height
97
-
*/
98
-
w_full: {
99
-
width: '100%',
100
-
},
101
-
h_full: {
102
-
height: '100%',
103
-
},
104
10
h_full_vh: web({
105
11
height: '100vh',
106
12
}),
107
-
max_w_full: {
108
-
maxWidth: '100%',
109
-
},
110
-
max_h_full: {
111
-
maxHeight: '100%',
112
-
},
113
13
114
14
/**
115
15
* Used for the outermost components on screens, to ensure that they can fill
···
132
32
},
133
33
134
34
/*
135
-
* Border radius
136
-
*/
137
-
rounded_0: {
138
-
borderRadius: 0,
139
-
},
140
-
rounded_2xs: {
141
-
borderRadius: tokens.borderRadius._2xs,
142
-
},
143
-
rounded_xs: {
144
-
borderRadius: tokens.borderRadius.xs,
145
-
},
146
-
rounded_sm: {
147
-
borderRadius: tokens.borderRadius.sm,
148
-
},
149
-
rounded_md: {
150
-
borderRadius: tokens.borderRadius.md,
151
-
},
152
-
rounded_lg: {
153
-
borderRadius: tokens.borderRadius.lg,
154
-
},
155
-
rounded_full: {
156
-
borderRadius: tokens.borderRadius.full,
157
-
},
158
-
159
-
/*
160
-
* Flex
161
-
*/
162
-
gap_0: {
163
-
gap: 0,
164
-
},
165
-
gap_2xs: {
166
-
gap: tokens.space._2xs,
167
-
},
168
-
gap_xs: {
169
-
gap: tokens.space.xs,
170
-
},
171
-
gap_sm: {
172
-
gap: tokens.space.sm,
173
-
},
174
-
gap_md: {
175
-
gap: tokens.space.md,
176
-
},
177
-
gap_lg: {
178
-
gap: tokens.space.lg,
179
-
},
180
-
gap_xl: {
181
-
gap: tokens.space.xl,
182
-
},
183
-
gap_2xl: {
184
-
gap: tokens.space._2xl,
185
-
},
186
-
gap_3xl: {
187
-
gap: tokens.space._3xl,
188
-
},
189
-
gap_4xl: {
190
-
gap: tokens.space._4xl,
191
-
},
192
-
gap_5xl: {
193
-
gap: tokens.space._5xl,
194
-
},
195
-
flex: {
196
-
display: 'flex',
197
-
},
198
-
flex_col: {
199
-
flexDirection: 'column',
200
-
},
201
-
flex_row: {
202
-
flexDirection: 'row',
203
-
},
204
-
flex_col_reverse: {
205
-
flexDirection: 'column-reverse',
206
-
},
207
-
flex_row_reverse: {
208
-
flexDirection: 'row-reverse',
209
-
},
210
-
flex_wrap: {
211
-
flexWrap: 'wrap',
212
-
},
213
-
flex_nowrap: {
214
-
flexWrap: 'nowrap',
215
-
},
216
-
flex_0: {
217
-
flex: web('0 0 auto') || (native(0) as number),
218
-
},
219
-
flex_1: {
220
-
flex: 1,
221
-
},
222
-
flex_grow: {
223
-
flexGrow: 1,
224
-
},
225
-
flex_grow_0: {
226
-
flexGrow: 0,
227
-
},
228
-
flex_shrink: {
229
-
flexShrink: 1,
230
-
},
231
-
flex_shrink_0: {
232
-
flexShrink: 0,
233
-
},
234
-
justify_start: {
235
-
justifyContent: 'flex-start',
236
-
},
237
-
justify_center: {
238
-
justifyContent: 'center',
239
-
},
240
-
justify_between: {
241
-
justifyContent: 'space-between',
242
-
},
243
-
justify_end: {
244
-
justifyContent: 'flex-end',
245
-
},
246
-
align_center: {
247
-
alignItems: 'center',
248
-
},
249
-
align_start: {
250
-
alignItems: 'flex-start',
251
-
},
252
-
align_end: {
253
-
alignItems: 'flex-end',
254
-
},
255
-
align_baseline: {
256
-
alignItems: 'baseline',
257
-
},
258
-
align_stretch: {
259
-
alignItems: 'stretch',
260
-
},
261
-
self_auto: {
262
-
alignSelf: 'auto',
263
-
},
264
-
self_start: {
265
-
alignSelf: 'flex-start',
266
-
},
267
-
self_end: {
268
-
alignSelf: 'flex-end',
269
-
},
270
-
self_center: {
271
-
alignSelf: 'center',
272
-
},
273
-
self_stretch: {
274
-
alignSelf: 'stretch',
275
-
},
276
-
self_baseline: {
277
-
alignSelf: 'baseline',
278
-
},
279
-
280
-
/*
281
-
* Text
282
-
*/
283
-
text_left: {
284
-
textAlign: 'left',
285
-
},
286
-
text_center: {
287
-
textAlign: 'center',
288
-
},
289
-
text_right: {
290
-
textAlign: 'right',
291
-
},
292
-
text_2xs: {
293
-
fontSize: tokens.fontSize._2xs,
294
-
letterSpacing: tokens.TRACKING,
295
-
},
296
-
text_xs: {
297
-
fontSize: tokens.fontSize.xs,
298
-
letterSpacing: tokens.TRACKING,
299
-
},
300
-
text_sm: {
301
-
fontSize: tokens.fontSize.sm,
302
-
letterSpacing: tokens.TRACKING,
303
-
},
304
-
text_md: {
305
-
fontSize: tokens.fontSize.md,
306
-
letterSpacing: tokens.TRACKING,
307
-
},
308
-
text_lg: {
309
-
fontSize: tokens.fontSize.lg,
310
-
letterSpacing: tokens.TRACKING,
311
-
},
312
-
text_xl: {
313
-
fontSize: tokens.fontSize.xl,
314
-
letterSpacing: tokens.TRACKING,
315
-
},
316
-
text_2xl: {
317
-
fontSize: tokens.fontSize._2xl,
318
-
letterSpacing: tokens.TRACKING,
319
-
},
320
-
text_3xl: {
321
-
fontSize: tokens.fontSize._3xl,
322
-
letterSpacing: tokens.TRACKING,
323
-
},
324
-
text_4xl: {
325
-
fontSize: tokens.fontSize._4xl,
326
-
letterSpacing: tokens.TRACKING,
327
-
},
328
-
text_5xl: {
329
-
fontSize: tokens.fontSize._5xl,
330
-
letterSpacing: tokens.TRACKING,
331
-
},
332
-
leading_tight: {
333
-
lineHeight: 1.15,
334
-
},
335
-
leading_snug: {
336
-
lineHeight: 1.3,
337
-
},
338
-
leading_normal: {
339
-
lineHeight: 1.5,
340
-
},
341
-
tracking_normal: {
342
-
letterSpacing: tokens.TRACKING,
343
-
},
344
-
font_normal: {
345
-
fontWeight: tokens.fontWeight.normal,
346
-
},
347
-
font_medium: {
348
-
fontWeight: tokens.fontWeight.medium,
349
-
},
350
-
font_bold: {
351
-
fontWeight: tokens.fontWeight.bold,
352
-
},
353
-
font_heavy: {
354
-
fontWeight: tokens.fontWeight.heavy,
355
-
},
356
-
italic: {
357
-
fontStyle: 'italic',
358
-
},
359
-
360
-
/*
361
-
* Border
362
-
*/
363
-
border_0: {
364
-
borderWidth: 0,
365
-
},
366
-
border_t_0: {
367
-
borderTopWidth: 0,
368
-
},
369
-
border_b_0: {
370
-
borderBottomWidth: 0,
371
-
},
372
-
border_l_0: {
373
-
borderLeftWidth: 0,
374
-
},
375
-
border_r_0: {
376
-
borderRightWidth: 0,
377
-
},
378
-
border_x_0: {
379
-
borderLeftWidth: 0,
380
-
borderRightWidth: 0,
381
-
},
382
-
border_y_0: {
383
-
borderTopWidth: 0,
384
-
borderBottomWidth: 0,
385
-
},
386
-
border: {
387
-
borderWidth: StyleSheet.hairlineWidth,
388
-
},
389
-
border_t: {
390
-
borderTopWidth: StyleSheet.hairlineWidth,
391
-
},
392
-
border_b: {
393
-
borderBottomWidth: StyleSheet.hairlineWidth,
394
-
},
395
-
border_l: {
396
-
borderLeftWidth: StyleSheet.hairlineWidth,
397
-
},
398
-
border_r: {
399
-
borderRightWidth: StyleSheet.hairlineWidth,
400
-
},
401
-
border_x: {
402
-
borderLeftWidth: StyleSheet.hairlineWidth,
403
-
borderRightWidth: StyleSheet.hairlineWidth,
404
-
},
405
-
border_y: {
406
-
borderTopWidth: StyleSheet.hairlineWidth,
407
-
borderBottomWidth: StyleSheet.hairlineWidth,
408
-
},
409
-
border_transparent: {
410
-
borderColor: 'transparent',
411
-
},
412
-
curve_circular: ios({
413
-
borderCurve: 'circular',
414
-
}),
415
-
curve_continuous: ios({
416
-
borderCurve: 'continuous',
417
-
}),
418
-
419
-
/*
420
-
* Shadow
421
-
*/
422
-
shadow_sm: {
423
-
shadowRadius: 8,
424
-
shadowOpacity: 0.1,
425
-
elevation: 8,
426
-
},
427
-
shadow_md: {
428
-
shadowRadius: 16,
429
-
shadowOpacity: 0.1,
430
-
elevation: 16,
431
-
},
432
-
shadow_lg: {
433
-
shadowRadius: 32,
434
-
shadowOpacity: 0.1,
435
-
elevation: 24,
436
-
},
437
-
438
-
/*
439
-
* Padding
440
-
*/
441
-
p_0: {
442
-
padding: 0,
443
-
},
444
-
p_2xs: {
445
-
padding: tokens.space._2xs,
446
-
},
447
-
p_xs: {
448
-
padding: tokens.space.xs,
449
-
},
450
-
p_sm: {
451
-
padding: tokens.space.sm,
452
-
},
453
-
p_md: {
454
-
padding: tokens.space.md,
455
-
},
456
-
p_lg: {
457
-
padding: tokens.space.lg,
458
-
},
459
-
p_xl: {
460
-
padding: tokens.space.xl,
461
-
},
462
-
p_2xl: {
463
-
padding: tokens.space._2xl,
464
-
},
465
-
p_3xl: {
466
-
padding: tokens.space._3xl,
467
-
},
468
-
p_4xl: {
469
-
padding: tokens.space._4xl,
470
-
},
471
-
p_5xl: {
472
-
padding: tokens.space._5xl,
473
-
},
474
-
px_0: {
475
-
paddingLeft: 0,
476
-
paddingRight: 0,
477
-
},
478
-
px_2xs: {
479
-
paddingLeft: tokens.space._2xs,
480
-
paddingRight: tokens.space._2xs,
481
-
},
482
-
px_xs: {
483
-
paddingLeft: tokens.space.xs,
484
-
paddingRight: tokens.space.xs,
485
-
},
486
-
px_sm: {
487
-
paddingLeft: tokens.space.sm,
488
-
paddingRight: tokens.space.sm,
489
-
},
490
-
px_md: {
491
-
paddingLeft: tokens.space.md,
492
-
paddingRight: tokens.space.md,
493
-
},
494
-
px_lg: {
495
-
paddingLeft: tokens.space.lg,
496
-
paddingRight: tokens.space.lg,
497
-
},
498
-
px_xl: {
499
-
paddingLeft: tokens.space.xl,
500
-
paddingRight: tokens.space.xl,
501
-
},
502
-
px_2xl: {
503
-
paddingLeft: tokens.space._2xl,
504
-
paddingRight: tokens.space._2xl,
505
-
},
506
-
px_3xl: {
507
-
paddingLeft: tokens.space._3xl,
508
-
paddingRight: tokens.space._3xl,
509
-
},
510
-
px_4xl: {
511
-
paddingLeft: tokens.space._4xl,
512
-
paddingRight: tokens.space._4xl,
513
-
},
514
-
px_5xl: {
515
-
paddingLeft: tokens.space._5xl,
516
-
paddingRight: tokens.space._5xl,
517
-
},
518
-
py_0: {
519
-
paddingTop: 0,
520
-
paddingBottom: 0,
521
-
},
522
-
py_2xs: {
523
-
paddingTop: tokens.space._2xs,
524
-
paddingBottom: tokens.space._2xs,
525
-
},
526
-
py_xs: {
527
-
paddingTop: tokens.space.xs,
528
-
paddingBottom: tokens.space.xs,
529
-
},
530
-
py_sm: {
531
-
paddingTop: tokens.space.sm,
532
-
paddingBottom: tokens.space.sm,
533
-
},
534
-
py_md: {
535
-
paddingTop: tokens.space.md,
536
-
paddingBottom: tokens.space.md,
537
-
},
538
-
py_lg: {
539
-
paddingTop: tokens.space.lg,
540
-
paddingBottom: tokens.space.lg,
541
-
},
542
-
py_xl: {
543
-
paddingTop: tokens.space.xl,
544
-
paddingBottom: tokens.space.xl,
545
-
},
546
-
py_2xl: {
547
-
paddingTop: tokens.space._2xl,
548
-
paddingBottom: tokens.space._2xl,
549
-
},
550
-
py_3xl: {
551
-
paddingTop: tokens.space._3xl,
552
-
paddingBottom: tokens.space._3xl,
553
-
},
554
-
py_4xl: {
555
-
paddingTop: tokens.space._4xl,
556
-
paddingBottom: tokens.space._4xl,
557
-
},
558
-
py_5xl: {
559
-
paddingTop: tokens.space._5xl,
560
-
paddingBottom: tokens.space._5xl,
561
-
},
562
-
pt_0: {
563
-
paddingTop: 0,
564
-
},
565
-
pt_2xs: {
566
-
paddingTop: tokens.space._2xs,
567
-
},
568
-
pt_xs: {
569
-
paddingTop: tokens.space.xs,
570
-
},
571
-
pt_sm: {
572
-
paddingTop: tokens.space.sm,
573
-
},
574
-
pt_md: {
575
-
paddingTop: tokens.space.md,
576
-
},
577
-
pt_lg: {
578
-
paddingTop: tokens.space.lg,
579
-
},
580
-
pt_xl: {
581
-
paddingTop: tokens.space.xl,
582
-
},
583
-
pt_2xl: {
584
-
paddingTop: tokens.space._2xl,
585
-
},
586
-
pt_3xl: {
587
-
paddingTop: tokens.space._3xl,
588
-
},
589
-
pt_4xl: {
590
-
paddingTop: tokens.space._4xl,
591
-
},
592
-
pt_5xl: {
593
-
paddingTop: tokens.space._5xl,
594
-
},
595
-
pb_0: {
596
-
paddingBottom: 0,
597
-
},
598
-
pb_2xs: {
599
-
paddingBottom: tokens.space._2xs,
600
-
},
601
-
pb_xs: {
602
-
paddingBottom: tokens.space.xs,
603
-
},
604
-
pb_sm: {
605
-
paddingBottom: tokens.space.sm,
606
-
},
607
-
pb_md: {
608
-
paddingBottom: tokens.space.md,
609
-
},
610
-
pb_lg: {
611
-
paddingBottom: tokens.space.lg,
612
-
},
613
-
pb_xl: {
614
-
paddingBottom: tokens.space.xl,
615
-
},
616
-
pb_2xl: {
617
-
paddingBottom: tokens.space._2xl,
618
-
},
619
-
pb_3xl: {
620
-
paddingBottom: tokens.space._3xl,
621
-
},
622
-
pb_4xl: {
623
-
paddingBottom: tokens.space._4xl,
624
-
},
625
-
pb_5xl: {
626
-
paddingBottom: tokens.space._5xl,
627
-
},
628
-
pl_0: {
629
-
paddingLeft: 0,
630
-
},
631
-
pl_2xs: {
632
-
paddingLeft: tokens.space._2xs,
633
-
},
634
-
pl_xs: {
635
-
paddingLeft: tokens.space.xs,
636
-
},
637
-
pl_sm: {
638
-
paddingLeft: tokens.space.sm,
639
-
},
640
-
pl_md: {
641
-
paddingLeft: tokens.space.md,
642
-
},
643
-
pl_lg: {
644
-
paddingLeft: tokens.space.lg,
645
-
},
646
-
pl_xl: {
647
-
paddingLeft: tokens.space.xl,
648
-
},
649
-
pl_2xl: {
650
-
paddingLeft: tokens.space._2xl,
651
-
},
652
-
pl_3xl: {
653
-
paddingLeft: tokens.space._3xl,
654
-
},
655
-
pl_4xl: {
656
-
paddingLeft: tokens.space._4xl,
657
-
},
658
-
pl_5xl: {
659
-
paddingLeft: tokens.space._5xl,
660
-
},
661
-
pr_0: {
662
-
paddingRight: 0,
663
-
},
664
-
pr_2xs: {
665
-
paddingRight: tokens.space._2xs,
666
-
},
667
-
pr_xs: {
668
-
paddingRight: tokens.space.xs,
669
-
},
670
-
pr_sm: {
671
-
paddingRight: tokens.space.sm,
672
-
},
673
-
pr_md: {
674
-
paddingRight: tokens.space.md,
675
-
},
676
-
pr_lg: {
677
-
paddingRight: tokens.space.lg,
678
-
},
679
-
pr_xl: {
680
-
paddingRight: tokens.space.xl,
681
-
},
682
-
pr_2xl: {
683
-
paddingRight: tokens.space._2xl,
684
-
},
685
-
pr_3xl: {
686
-
paddingRight: tokens.space._3xl,
687
-
},
688
-
pr_4xl: {
689
-
paddingRight: tokens.space._4xl,
690
-
},
691
-
pr_5xl: {
692
-
paddingRight: tokens.space._5xl,
693
-
},
694
-
695
-
/*
696
-
* Margin
697
-
*/
698
-
m_0: {
699
-
margin: 0,
700
-
},
701
-
m_2xs: {
702
-
margin: tokens.space._2xs,
703
-
},
704
-
m_xs: {
705
-
margin: tokens.space.xs,
706
-
},
707
-
m_sm: {
708
-
margin: tokens.space.sm,
709
-
},
710
-
m_md: {
711
-
margin: tokens.space.md,
712
-
},
713
-
m_lg: {
714
-
margin: tokens.space.lg,
715
-
},
716
-
m_xl: {
717
-
margin: tokens.space.xl,
718
-
},
719
-
m_2xl: {
720
-
margin: tokens.space._2xl,
721
-
},
722
-
m_3xl: {
723
-
margin: tokens.space._3xl,
724
-
},
725
-
m_4xl: {
726
-
margin: tokens.space._4xl,
727
-
},
728
-
m_5xl: {
729
-
margin: tokens.space._5xl,
730
-
},
731
-
m_auto: {
732
-
margin: 'auto',
733
-
},
734
-
mx_0: {
735
-
marginLeft: 0,
736
-
marginRight: 0,
737
-
},
738
-
mx_2xs: {
739
-
marginLeft: tokens.space._2xs,
740
-
marginRight: tokens.space._2xs,
741
-
},
742
-
mx_xs: {
743
-
marginLeft: tokens.space.xs,
744
-
marginRight: tokens.space.xs,
745
-
},
746
-
mx_sm: {
747
-
marginLeft: tokens.space.sm,
748
-
marginRight: tokens.space.sm,
749
-
},
750
-
mx_md: {
751
-
marginLeft: tokens.space.md,
752
-
marginRight: tokens.space.md,
753
-
},
754
-
mx_lg: {
755
-
marginLeft: tokens.space.lg,
756
-
marginRight: tokens.space.lg,
757
-
},
758
-
mx_xl: {
759
-
marginLeft: tokens.space.xl,
760
-
marginRight: tokens.space.xl,
761
-
},
762
-
mx_2xl: {
763
-
marginLeft: tokens.space._2xl,
764
-
marginRight: tokens.space._2xl,
765
-
},
766
-
mx_3xl: {
767
-
marginLeft: tokens.space._3xl,
768
-
marginRight: tokens.space._3xl,
769
-
},
770
-
mx_4xl: {
771
-
marginLeft: tokens.space._4xl,
772
-
marginRight: tokens.space._4xl,
773
-
},
774
-
mx_5xl: {
775
-
marginLeft: tokens.space._5xl,
776
-
marginRight: tokens.space._5xl,
777
-
},
778
-
mx_auto: {
779
-
marginLeft: 'auto',
780
-
marginRight: 'auto',
781
-
},
782
-
my_0: {
783
-
marginTop: 0,
784
-
marginBottom: 0,
785
-
},
786
-
my_2xs: {
787
-
marginTop: tokens.space._2xs,
788
-
marginBottom: tokens.space._2xs,
789
-
},
790
-
my_xs: {
791
-
marginTop: tokens.space.xs,
792
-
marginBottom: tokens.space.xs,
793
-
},
794
-
my_sm: {
795
-
marginTop: tokens.space.sm,
796
-
marginBottom: tokens.space.sm,
797
-
},
798
-
my_md: {
799
-
marginTop: tokens.space.md,
800
-
marginBottom: tokens.space.md,
801
-
},
802
-
my_lg: {
803
-
marginTop: tokens.space.lg,
804
-
marginBottom: tokens.space.lg,
805
-
},
806
-
my_xl: {
807
-
marginTop: tokens.space.xl,
808
-
marginBottom: tokens.space.xl,
809
-
},
810
-
my_2xl: {
811
-
marginTop: tokens.space._2xl,
812
-
marginBottom: tokens.space._2xl,
813
-
},
814
-
my_3xl: {
815
-
marginTop: tokens.space._3xl,
816
-
marginBottom: tokens.space._3xl,
817
-
},
818
-
my_4xl: {
819
-
marginTop: tokens.space._4xl,
820
-
marginBottom: tokens.space._4xl,
821
-
},
822
-
my_5xl: {
823
-
marginTop: tokens.space._5xl,
824
-
marginBottom: tokens.space._5xl,
825
-
},
826
-
my_auto: {
827
-
marginTop: 'auto',
828
-
marginBottom: 'auto',
829
-
},
830
-
mt_0: {
831
-
marginTop: 0,
832
-
},
833
-
mt_2xs: {
834
-
marginTop: tokens.space._2xs,
835
-
},
836
-
mt_xs: {
837
-
marginTop: tokens.space.xs,
838
-
},
839
-
mt_sm: {
840
-
marginTop: tokens.space.sm,
841
-
},
842
-
mt_md: {
843
-
marginTop: tokens.space.md,
844
-
},
845
-
mt_lg: {
846
-
marginTop: tokens.space.lg,
847
-
},
848
-
mt_xl: {
849
-
marginTop: tokens.space.xl,
850
-
},
851
-
mt_2xl: {
852
-
marginTop: tokens.space._2xl,
853
-
},
854
-
mt_3xl: {
855
-
marginTop: tokens.space._3xl,
856
-
},
857
-
mt_4xl: {
858
-
marginTop: tokens.space._4xl,
859
-
},
860
-
mt_5xl: {
861
-
marginTop: tokens.space._5xl,
862
-
},
863
-
mt_auto: {
864
-
marginTop: 'auto',
865
-
},
866
-
mb_0: {
867
-
marginBottom: 0,
868
-
},
869
-
mb_2xs: {
870
-
marginBottom: tokens.space._2xs,
871
-
},
872
-
mb_xs: {
873
-
marginBottom: tokens.space.xs,
874
-
},
875
-
mb_sm: {
876
-
marginBottom: tokens.space.sm,
877
-
},
878
-
mb_md: {
879
-
marginBottom: tokens.space.md,
880
-
},
881
-
mb_lg: {
882
-
marginBottom: tokens.space.lg,
883
-
},
884
-
mb_xl: {
885
-
marginBottom: tokens.space.xl,
886
-
},
887
-
mb_2xl: {
888
-
marginBottom: tokens.space._2xl,
889
-
},
890
-
mb_3xl: {
891
-
marginBottom: tokens.space._3xl,
892
-
},
893
-
mb_4xl: {
894
-
marginBottom: tokens.space._4xl,
895
-
},
896
-
mb_5xl: {
897
-
marginBottom: tokens.space._5xl,
898
-
},
899
-
mb_auto: {
900
-
marginBottom: 'auto',
901
-
},
902
-
ml_0: {
903
-
marginLeft: 0,
904
-
},
905
-
ml_2xs: {
906
-
marginLeft: tokens.space._2xs,
907
-
},
908
-
ml_xs: {
909
-
marginLeft: tokens.space.xs,
910
-
},
911
-
ml_sm: {
912
-
marginLeft: tokens.space.sm,
913
-
},
914
-
ml_md: {
915
-
marginLeft: tokens.space.md,
916
-
},
917
-
ml_lg: {
918
-
marginLeft: tokens.space.lg,
919
-
},
920
-
ml_xl: {
921
-
marginLeft: tokens.space.xl,
922
-
},
923
-
ml_2xl: {
924
-
marginLeft: tokens.space._2xl,
925
-
},
926
-
ml_3xl: {
927
-
marginLeft: tokens.space._3xl,
928
-
},
929
-
ml_4xl: {
930
-
marginLeft: tokens.space._4xl,
931
-
},
932
-
ml_5xl: {
933
-
marginLeft: tokens.space._5xl,
934
-
},
935
-
ml_auto: {
936
-
marginLeft: 'auto',
937
-
},
938
-
mr_0: {
939
-
marginRight: 0,
940
-
},
941
-
mr_2xs: {
942
-
marginRight: tokens.space._2xs,
943
-
},
944
-
mr_xs: {
945
-
marginRight: tokens.space.xs,
946
-
},
947
-
mr_sm: {
948
-
marginRight: tokens.space.sm,
949
-
},
950
-
mr_md: {
951
-
marginRight: tokens.space.md,
952
-
},
953
-
mr_lg: {
954
-
marginRight: tokens.space.lg,
955
-
},
956
-
mr_xl: {
957
-
marginRight: tokens.space.xl,
958
-
},
959
-
mr_2xl: {
960
-
marginRight: tokens.space._2xl,
961
-
},
962
-
mr_3xl: {
963
-
marginRight: tokens.space._3xl,
964
-
},
965
-
mr_4xl: {
966
-
marginRight: tokens.space._4xl,
967
-
},
968
-
mr_5xl: {
969
-
marginRight: tokens.space._5xl,
970
-
},
971
-
mr_auto: {
972
-
marginRight: 'auto',
973
-
},
974
-
975
-
/*
976
-
* Pointer events & user select
977
-
*/
978
-
pointer_events_none: {
979
-
pointerEvents: 'none',
980
-
},
981
-
pointer_events_auto: {
982
-
pointerEvents: 'auto',
983
-
},
984
-
user_select_none: {
985
-
userSelect: 'none',
986
-
},
987
-
user_select_text: {
988
-
userSelect: 'text',
989
-
},
990
-
user_select_all: {
991
-
userSelect: 'all',
992
-
},
993
-
outline_inset_1: {
994
-
outlineOffset: -1,
995
-
},
996
-
997
-
/*
998
-
* Text decoration
999
-
*/
1000
-
underline: {
1001
-
textDecorationLine: 'underline',
1002
-
},
1003
-
strike_through: {
1004
-
textDecorationLine: 'line-through',
1005
-
},
1006
-
1007
-
/*
1008
-
* Display
1009
-
*/
1010
-
hidden: {
1011
-
display: 'none',
1012
-
},
1013
-
inline: web({
1014
-
display: 'inline',
1015
-
}),
1016
-
block: web({
1017
-
display: 'block',
1018
-
}),
1019
-
contents: web({
1020
-
display: 'contents',
1021
-
}),
1022
-
1023
-
/*
1024
35
* Transition
1025
36
*/
1026
37
transition_none: web({
···
1099
110
transform: [],
1100
111
},
1101
112
}) as {transform: Exclude<ViewStyle['transform'], string | undefined>},
1102
-
1103
-
pointer: web({
1104
-
cursor: 'pointer',
1105
-
}),
1106
113
} as const
+5
-5
src/alf/fonts.ts
+5
-5
src/alf/fonts.ts
···
7
7
8
8
const factor = 0.0625 // 1 - (15/16)
9
9
const fontScaleMultipliers: Record<Device['fontScale'], number> = {
10
-
'-2': 1 - factor * 3,
11
-
'-1': 1 - factor * 2,
12
-
'0': 1 - factor * 1, // default
13
-
'1': 1,
14
-
'2': 1 + factor * 1,
10
+
'-2': 1 - factor * 1, // unused
11
+
'-1': 1 - factor * 1,
12
+
'0': 1, // default
13
+
'1': 1 + factor * 1,
14
+
'2': 1 + factor * 1, // unused
15
15
}
16
16
17
17
export function computeFontScaleMultiplier(scale: Device['fontScale']) {
+13
-30
src/alf/index.tsx
+13
-30
src/alf/index.tsx
···
1
1
import React from 'react'
2
+
import {type Theme, type ThemeName} from '@bsky.app/alf'
2
3
3
4
import {
4
5
computeFontScaleMultiplier,
···
7
8
setFontFamily as persistFontFamily,
8
9
setFontScale as persistFontScale,
9
10
} from '#/alf/fonts'
10
-
import {createThemes, defaultTheme} from '#/alf/themes'
11
-
import {type Theme, type ThemeName} from '#/alf/types'
12
-
import {BLUE_HUE, GREEN_HUE, RED_HUE} from '#/alf/util/colorGeneration'
11
+
import {themes} from '#/alf/themes'
13
12
import {type Device} from '#/storage'
14
13
14
+
export {type TextStyleProp, type Theme, type ViewStyleProp} from '@bsky.app/alf'
15
15
export {atoms} from '#/alf/atoms'
16
16
export * from '#/alf/breakpoints'
17
17
export * from '#/alf/fonts'
18
18
export * as tokens from '#/alf/tokens'
19
-
export * from '#/alf/types'
20
19
export * from '#/alf/util/flatten'
21
20
export * from '#/alf/util/platform'
22
21
export * from '#/alf/util/themeSelector'
···
25
24
export type Alf = {
26
25
themeName: ThemeName
27
26
theme: Theme
28
-
themes: ReturnType<typeof createThemes>
27
+
themes: typeof themes
29
28
fonts: {
30
29
scale: Exclude<Device['fontScale'], undefined>
31
30
scaleMultiplier: number
···
44
43
*/
45
44
export const Context = React.createContext<Alf>({
46
45
themeName: 'light',
47
-
theme: defaultTheme,
48
-
themes: createThemes({
49
-
hues: {
50
-
primary: BLUE_HUE,
51
-
negative: RED_HUE,
52
-
positive: GREEN_HUE,
53
-
},
54
-
}),
46
+
theme: themes.light,
47
+
themes,
55
48
fonts: {
56
49
scale: getFontScale(),
57
50
scaleMultiplier: computeFontScaleMultiplier(getFontScale()),
···
76
69
const setFontScaleAndPersist = React.useCallback<
77
70
Alf['fonts']['setFontScale']
78
71
>(
79
-
fontScale => {
80
-
setFontScale(fontScale)
81
-
persistFontScale(fontScale)
82
-
setFontScaleMultiplier(computeFontScaleMultiplier(fontScale))
72
+
fs => {
73
+
setFontScale(fs)
74
+
persistFontScale(fs)
75
+
setFontScaleMultiplier(computeFontScaleMultiplier(fs))
83
76
},
84
77
[setFontScale],
85
78
)
···
89
82
const setFontFamilyAndPersist = React.useCallback<
90
83
Alf['fonts']['setFontFamily']
91
84
>(
92
-
fontFamily => {
93
-
setFontFamily(fontFamily)
94
-
persistFontFamily(fontFamily)
85
+
ff => {
86
+
setFontFamily(ff)
87
+
persistFontFamily(ff)
95
88
},
96
89
[setFontFamily],
97
90
)
98
-
const themes = React.useMemo(() => {
99
-
return createThemes({
100
-
hues: {
101
-
primary: BLUE_HUE,
102
-
negative: RED_HUE,
103
-
positive: GREEN_HUE,
104
-
},
105
-
})
106
-
}, [])
107
91
108
92
const value = React.useMemo<Alf>(
109
93
() => ({
···
121
105
}),
122
106
[
123
107
themeName,
124
-
themes,
125
108
fontScale,
126
109
setFontScaleAndPersist,
127
110
fontFamily,
+29
-13
src/alf/themes.ts
+29
-13
src/alf/themes.ts
···
1
1
import {atoms} from '#/alf/atoms'
2
2
import {mocha} from '#/alf/catppuccin/palette'
3
3
import {type Palette, type Theme} from '#/alf/types'
4
-
import {
5
-
BLUE_HUE,
6
-
defaultScale,
7
-
dimScale,
8
-
GREEN_HUE,
9
-
RED_HUE,
10
-
} from '#/alf/util/colorGeneration'
4
+
import {defaultScale, dimScale} from '#/alf/util/colorGeneration'
11
5
import {fade} from '#/alf/util/colors'
12
6
13
-
const themes = createThemes({
14
-
hues: {
15
-
primary: BLUE_HUE,
16
-
negative: RED_HUE,
17
-
positive: GREEN_HUE,
18
-
},
7
+
const DEFAULT_THEMES = createThemes({
8
+
defaultPalette: DEFAULT_PALETTE,
9
+
subduedPalette: DEFAULT_SUBDUED_PALETTE,
19
10
})
20
11
21
12
/**
···
611
602
dim,
612
603
}
613
604
}
605
+
606
+
/**
607
+
* @deprecated use ALF and access palette from `useTheme()`
608
+
*/
609
+
export const lightPalette = DEFAULT_THEMES.light.palette
610
+
/**
611
+
* @deprecated use ALF and access palette from `useTheme()`
612
+
*/
613
+
export const darkPalette = DEFAULT_THEMES.dark.palette
614
+
/**
615
+
* @deprecated use ALF and access palette from `useTheme()`
616
+
*/
617
+
export const dimPalette = DEFAULT_THEMES.dim.palette
618
+
/**
619
+
* @deprecated use ALF and access theme from `useTheme()`
620
+
*/
621
+
export const light = DEFAULT_THEMES.light
622
+
/**
623
+
* @deprecated use ALF and access theme from `useTheme()`
624
+
*/
625
+
export const dark = DEFAULT_THEMES.dark
626
+
/**
627
+
* @deprecated use ALF and access theme from `useTheme()`
628
+
*/
629
+
export const dim = DEFAULT_THEMES.dim
+4
-55
src/alf/tokens.ts
+4
-55
src/alf/tokens.ts
···
1
-
import {isAndroid} from '#/platform/detection'
1
+
import {tokens} from '@bsky.app/alf'
2
2
3
-
export const TRACKING = isAndroid ? 0.1 : 0
3
+
export * from '@bsky.app/alf/dist/tokens'
4
4
5
5
export const color = {
6
-
temp_purple: 'rgb(105 0 255)',
7
-
temp_purple_dark: 'rgb(83 0 202)',
8
-
} as const
9
-
10
-
export const space = {
11
-
_2xs: 2,
12
-
xs: 4,
13
-
sm: 8,
14
-
md: 12,
15
-
lg: 16,
16
-
xl: 20,
17
-
_2xl: 24,
18
-
_3xl: 28,
19
-
_4xl: 32,
20
-
_5xl: 40,
21
-
} as const
22
-
23
-
export const fontSize = {
24
-
_2xs: 10,
25
-
xs: 12,
26
-
sm: 14,
27
-
md: 16,
28
-
lg: 18,
29
-
xl: 20,
30
-
_2xl: 22,
31
-
_3xl: 26,
32
-
_4xl: 32,
33
-
_5xl: 40,
34
-
} as const
35
-
36
-
export const lineHeight = {
37
-
none: 1,
38
-
normal: 1.5,
39
-
relaxed: 1.625,
40
-
} as const
41
-
42
-
export const borderRadius = {
43
-
_2xs: 2,
44
-
xs: 4,
45
-
sm: 8,
46
-
md: 12,
47
-
lg: 16,
48
-
full: 999,
49
-
} as const
50
-
51
-
/**
52
-
* These correspond to Inter font files we actually load.
53
-
*/
54
-
export const fontWeight = {
55
-
normal: '400',
56
-
medium: '500',
57
-
bold: '600',
58
-
heavy: '800',
6
+
temp_purple: tokens.labelerColor.purple,
7
+
temp_purple_dark: tokens.labelerColor.purple_dark,
59
8
} as const
60
9
61
10
export const gradients = {
-15
src/alf/typography.tsx
-15
src/alf/typography.tsx
···
9
9
import {type Alf, applyFonts, atoms, flatten} from '#/alf'
10
10
11
11
/**
12
-
* Util to calculate lineHeight from a text size atom and a leading atom
13
-
*
14
-
* Example:
15
-
* `leading(atoms.text_md, atoms.leading_normal)` // => 24
16
-
*/
17
-
export function leading<
18
-
Size extends {fontSize?: number},
19
-
Leading extends {lineHeight?: number},
20
-
>(textSize: Size, leading: Leading) {
21
-
const size = textSize?.fontSize || atoms.text_md.fontSize
22
-
const lineHeight = leading?.lineHeight || atoms.leading_normal.lineHeight
23
-
return Math.round(size * lineHeight)
24
-
}
25
-
26
-
/**
27
12
* Ensures that `lineHeight` defaults to a relative value of `1`, or applies
28
13
* other relative leading atoms.
29
14
*
-8
src/alf/util/__tests__/colors.test.ts
-8
src/alf/util/__tests__/colors.test.ts
···
1
1
import {jest} from '@jest/globals'
2
2
3
-
import {logger} from '#/logger'
4
3
import {transparentifyColor} from '../colorGeneration'
5
-
6
-
jest.mock('#/logger', () => ({
7
-
logger: {warn: jest.fn()},
8
-
}))
9
4
10
5
describe('transparentifyColor', () => {
11
6
beforeEach(() => {
···
41
36
const unsupported = 'blue'
42
37
const result = transparentifyColor(unsupported, 0.5)
43
38
expect(result).toBe(unsupported)
44
-
expect(logger.warn).toHaveBeenCalledWith(
45
-
`Could not make '${unsupported}' transparent`,
46
-
)
47
39
})
48
40
})
+1
-62
src/alf/util/platform.ts
+1
-62
src/alf/util/platform.ts
···
1
-
import {Platform} from 'react-native'
2
-
3
-
import {isAndroid, isIOS, isNative, isWeb} from '#/platform/detection'
4
-
5
-
/**
6
-
* Identity function on web. Returns nothing on other platforms.
7
-
*
8
-
* Note: Platform splitting does not tree-shake away the other platforms,
9
-
* so don't do stuff like e.g. rely on platform-specific imports. Use
10
-
* platform-split files instead.
11
-
*/
12
-
export function web(value: any) {
13
-
if (isWeb) {
14
-
return value
15
-
}
16
-
}
17
-
18
-
/**
19
-
* Identity function on iOS. Returns nothing on other platforms.
20
-
*
21
-
* Note: Platform splitting does not tree-shake away the other platforms,
22
-
* so don't do stuff like e.g. rely on platform-specific imports. Use
23
-
* platform-split files instead.
24
-
*/
25
-
export function ios(value: any) {
26
-
if (isIOS) {
27
-
return value
28
-
}
29
-
}
30
-
31
-
/**
32
-
* Identity function on Android. Returns nothing on other platforms..
33
-
*
34
-
* Note: Platform splitting does not tree-shake away the other platforms,
35
-
* so don't do stuff like e.g. rely on platform-specific imports. Use
36
-
* platform-split files instead.
37
-
*/
38
-
export function android(value: any) {
39
-
if (isAndroid) {
40
-
return value
41
-
}
42
-
}
43
-
44
-
/**
45
-
* Identity function on iOS and Android. Returns nothing on web.
46
-
*
47
-
* Note: Platform splitting does not tree-shake away the other platforms,
48
-
* so don't do stuff like e.g. rely on platform-specific imports. Use
49
-
* platform-split files instead.
50
-
*/
51
-
export function native(value: any) {
52
-
if (isNative) {
53
-
return value
54
-
}
55
-
}
56
-
57
-
/**
58
-
* Note: Platform splitting does not tree-shake away the other platforms,
59
-
* so don't do stuff like e.g. rely on platform-specific imports. Use
60
-
* platform-split files instead.
61
-
*/
62
-
export const platform = Platform.select
1
+
export {android, ios, native, platform, web} from '@bsky.app/alf'
+1
-1
src/alf/util/systemUI.ts
+1
-1
src/alf/util/systemUI.ts
+2
-13
src/alf/util/themeSelector.ts
+2
-13
src/alf/util/themeSelector.ts
···
1
-
import {type ThemeName} from '#/alf/types'
1
+
import {utils} from '@bsky.app/alf'
2
2
3
-
export function select<T>(name: ThemeName, options: Record<ThemeName, T>) {
4
-
switch (name) {
5
-
case 'light':
6
-
return options.light
7
-
case 'dark':
8
-
return options.dark || options.dim
9
-
case 'dim':
10
-
return options.dim || options.dark
11
-
default:
12
-
throw new Error(`select(theme, options) received unknown theme ${name}`)
13
-
}
14
-
}
3
+
export const select = utils.select
+1
-1
src/alf/util/useColorModeTheme.ts
+1
-1
src/alf/util/useColorModeTheme.ts
···
1
1
import React from 'react'
2
2
import {type ColorSchemeName, useColorScheme} from 'react-native'
3
+
import {type ThemeName} from '@bsky.app/alf'
3
4
4
5
import {isWeb} from '#/platform/detection'
5
6
import {useThemePrefs} from '#/state/shell'
6
7
import {dark, dim, light} from '#/alf/themes'
7
-
import {type ThemeName} from '#/alf/types'
8
8
9
9
export function useColorModeTheme(): ThemeName {
10
10
const theme = useThemeName()
+2
-2
src/components/AccountList.tsx
+2
-2
src/components/AccountList.tsx
···
77
77
]}>
78
78
<Text
79
79
style={[
80
-
a.font_bold,
80
+
a.font_semi_bold,
81
81
a.flex_1,
82
82
a.flex_row,
83
83
a.py_sm,
···
151
151
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
152
152
<Text
153
153
emoji
154
-
style={[a.font_bold, a.leading_tight]}
154
+
style={[a.font_semi_bold, a.leading_tight]}
155
155
numberOfLines={1}>
156
156
{sanitizeDisplayName(
157
157
profile?.displayName || profile?.handle || account.handle,
+2
-3
src/components/BlockedGeoOverlay.tsx
+2
-3
src/components/BlockedGeoOverlay.tsx
···
96
96
<Mark fill={t.palette.primary_600} width={14} />
97
97
<Text
98
98
style={[
99
-
a.font_bold,
99
+
a.font_semi_bold,
100
100
{
101
101
color: t.palette.primary_600,
102
102
},
···
121
121
</View>
122
122
123
123
<View style={[a.mt_xl, a.align_start]}>
124
-
<Text
125
-
style={[a.text_lg, a.font_heavy, a.leading_snug, a.pb_xs]}>
124
+
<Text style={[a.text_lg, a.font_bold, a.leading_snug, a.pb_xs]}>
126
125
<Trans>Not in Mississippi?</Trans>
127
126
</Text>
128
127
<Text
+5
-13
src/components/Button.tsx
+5
-13
src/components/Button.tsx
···
240
240
}
241
241
} else if (color === 'secondary') {
242
242
if (!disabled) {
243
-
baseStyles.push(t.atoms.bg_contrast_25)
243
+
baseStyles.push(t.atoms.bg_contrast_50)
244
244
hoverStyles.push(t.atoms.bg_contrast_100)
245
245
} else {
246
246
baseStyles.push(t.atoms.bg_contrast_50)
···
289
289
})
290
290
} else {
291
291
baseStyles.push({
292
-
backgroundColor: select(t.name, {
293
-
light: t.palette.primary_25,
294
-
dim: t.palette.primary_50,
295
-
dark: t.palette.primary_50,
296
-
}),
292
+
backgroundColor: t.palette.primary_50,
297
293
})
298
294
}
299
295
} else if (color === 'negative_subtle') {
···
314
310
})
315
311
} else {
316
312
baseStyles.push({
317
-
backgroundColor: select(t.name, {
318
-
light: t.palette.negative_25,
319
-
dim: t.palette.negative_50,
320
-
dark: t.palette.negative_50,
321
-
}),
313
+
backgroundColor: t.palette.negative_50,
322
314
})
323
315
}
324
316
}
···
372
364
if (!disabled) {
373
365
baseStyles.push(t.atoms.bg)
374
366
hoverStyles.push({
375
-
backgroundColor: t.palette.contrast_25,
367
+
backgroundColor: t.palette.contrast_50,
376
368
})
377
369
}
378
370
}
···
396
388
if (!disabled) {
397
389
baseStyles.push(t.atoms.bg)
398
390
hoverStyles.push({
399
-
backgroundColor: t.palette.contrast_25,
391
+
backgroundColor: t.palette.contrast_50,
400
392
})
401
393
}
402
394
}
+6
-2
src/components/ContextMenu/index.tsx
+6
-2
src/components/ContextMenu/index.tsx
···
796
796
style={[
797
797
a.flex_1,
798
798
a.text_md,
799
-
a.font_bold,
799
+
a.font_semi_bold,
800
800
t.atoms.text_contrast_high,
801
801
{paddingTop: 3},
802
802
style,
···
855
855
const t = useTheme()
856
856
return (
857
857
<Text
858
-
style={[a.font_bold, t.atoms.text_contrast_medium, {marginBottom: -8}]}>
858
+
style={[
859
+
a.font_semi_bold,
860
+
t.atoms.text_contrast_medium,
861
+
{marginBottom: -8},
862
+
]}>
859
863
{children}
860
864
</Text>
861
865
)
+4
-1
src/components/Dialog/index.tsx
+4
-1
src/components/Dialog/index.tsx
···
267
267
scrollEventThrottle={50}
268
268
onScroll={isAndroid ? onScroll : undefined}
269
269
keyboardShouldPersistTaps="handled"
270
-
stickyHeaderIndices={header ? [0] : undefined}>
270
+
// TODO: figure out why this positions the header absolutely (rather than stickily)
271
+
// on Android. fine to disable for now, because we don't have any
272
+
// dialogs that use this that actually scroll -sfn
273
+
stickyHeaderIndices={ios(header ? [0] : undefined)}>
271
274
{header}
272
275
{children}
273
276
</KeyboardAwareScrollView>
+1
-1
src/components/Error.tsx
+1
-1
src/components/Error.tsx
+2
-2
src/components/FeedCard.tsx
+2
-2
src/components/FeedCard.tsx
···
128
128
<View style={[a.flex_1]}>
129
129
<Text
130
130
emoji
131
-
style={[a.text_md, a.font_bold, a.leading_snug]}
131
+
style={[a.text_md, a.font_semi_bold, a.leading_snug]}
132
132
numberOfLines={1}>
133
133
{title}
134
134
</Text>
···
214
214
export function Likes({count}: {count: number}) {
215
215
const t = useTheme()
216
216
return (
217
-
<Text style={[a.text_sm, t.atoms.text_contrast_medium, a.font_bold]}>
217
+
<Text style={[a.text_sm, t.atoms.text_contrast_medium, a.font_semi_bold]}>
218
218
<Trans>
219
219
Liked by <Plural value={count || 0} one="# user" other="# users" />
220
220
</Trans>
+2
-2
src/components/FeedInterstitials.tsx
+2
-2
src/components/FeedInterstitials.tsx
···
380
380
a.justify_between,
381
381
]}
382
382
pointerEvents={isIOS ? 'auto' : 'box-none'}>
383
-
<Text style={[a.text_sm, a.font_bold, t.atoms.text]}>
383
+
<Text style={[a.text_sm, a.font_semi_bold, t.atoms.text]}>
384
384
{isFeedContext ? (
385
385
<Trans>Suggested for you</Trans>
386
386
) : (
···
516
516
style={[
517
517
a.flex_1,
518
518
a.text_lg,
519
-
a.font_bold,
519
+
a.font_semi_bold,
520
520
t.atoms.text_contrast_medium,
521
521
]}>
522
522
<Trans>Some other feeds you might like</Trans>
+3
-5
src/components/FocusScope/index.tsx
+3
-5
src/components/FocusScope/index.tsx
···
2
2
Children,
3
3
cloneElement,
4
4
isValidElement,
5
-
type ReactElement,
6
-
type ReactNode,
7
5
useCallback,
8
6
useEffect,
9
7
useMemo,
···
26
24
* screen reader support is enabled. THIS SHOULD BE USED SPARINGLY, only when
27
25
* no better option is available.
28
26
*/
29
-
export function FocusScope({children}: {children: ReactNode}) {
27
+
export function FocusScope({children}: {children: React.ReactNode}) {
30
28
const {screenReaderEnabled} = useA11y()
31
29
32
30
return screenReaderEnabled ? <FocusTrap>{children}</FocusTrap> : children
···
41
39
* they have reached the start or end of the content and tell them how to
42
40
* remain within the active content section.
43
41
*/
44
-
function FocusTrap({children}: {children: ReactNode}) {
42
+
function FocusTrap({children}: {children: React.ReactNode}) {
45
43
const {_} = useLingui()
46
44
const child = useRef<View>(null)
47
45
···
53
51
const decoratedChildren = useMemo(() => {
54
52
return Children.toArray(children).map((node, i) => {
55
53
if (i === 0 && isValidElement(node)) {
56
-
const n = node as ReactElement<any>
54
+
const n = node as React.ReactElement<any>
57
55
if (n.props.ref !== undefined) {
58
56
throw new Error(
59
57
'FocusScope needs to override the ref on its first child.',
+1
-2
src/components/FocusScope/index.web.tsx
+1
-2
src/components/FocusScope/index.web.tsx
···
1
-
import {type ReactNode} from 'react'
2
1
import {FocusScope as RadixFocusScope} from 'radix-ui/internal'
3
2
4
3
/*
···
6
5
* use this in Dialogs and such already. It's here as a convenient counterpart
7
6
* to the hacky native solution.
8
7
*/
9
-
export function FocusScope({children}: {children: ReactNode}) {
8
+
export function FocusScope({children}: {children: React.ReactNode}) {
10
9
return (
11
10
<RadixFocusScope.FocusScope loop asChild trapped>
12
11
{children}
+1
-1
src/components/LabelingServiceCard/index.tsx
+1
-1
src/components/LabelingServiceCard/index.tsx
+1
-1
src/components/Layout/Header/index.tsx
+1
-1
src/components/Layout/Header/index.tsx
+2
-2
src/components/ListCard.tsx
+2
-2
src/components/ListCard.tsx
···
127
127
allowOverride={creator && currentAccount?.did === creator.did}>
128
128
<Hider.Mask>
129
129
<Text
130
-
style={[a.text_md, a.font_bold, a.leading_snug, a.italic]}
130
+
style={[a.text_md, a.font_semi_bold, a.leading_snug, a.italic]}
131
131
numberOfLines={1}>
132
132
<Trans>Hidden list</Trans>
133
133
</Text>
···
135
135
<Hider.Content>
136
136
<Text
137
137
emoji
138
-
style={[a.text_md, a.font_bold, a.leading_snug]}
138
+
style={[a.text_md, a.font_semi_bold, a.leading_snug]}
139
139
numberOfLines={1}>
140
140
{title}
141
141
</Text>
+1
-1
src/components/LoggedOutCTA.tsx
+1
-1
src/components/LoggedOutCTA.tsx
···
50
50
<View style={[a.flex_row, a.align_center, a.flex_1, a.pr_md]}>
51
51
<Logo width={30} style={[a.mr_md]} />
52
52
<View style={[a.flex_1]}>
53
-
<Text style={[a.text_lg, a.font_bold, a.leading_snug]}>
53
+
<Text style={[a.text_lg, a.font_semi_bold, a.leading_snug]}>
54
54
<Trans>Join Bluesky</Trans>
55
55
</Text>
56
56
<Text
+2
-2
src/components/Menu/index.tsx
+2
-2
src/components/Menu/index.tsx
···
191
191
style={[
192
192
a.flex_1,
193
193
a.text_md,
194
-
a.font_bold,
194
+
a.font_semi_bold,
195
195
t.atoms.text_contrast_high,
196
196
{paddingTop: 3},
197
197
style,
···
293
293
return (
294
294
<Text
295
295
style={[
296
-
a.font_bold,
296
+
a.font_semi_bold,
297
297
t.atoms.text_contrast_medium,
298
298
{marginBottom: -8},
299
299
style,
+2
-2
src/components/Menu/index.web.tsx
+2
-2
src/components/Menu/index.web.tsx
···
292
292
<Text
293
293
style={[
294
294
a.flex_1,
295
-
a.font_bold,
295
+
a.font_semi_bold,
296
296
t.atoms.text_contrast_high,
297
297
style,
298
298
disabled && t.atoms.text_contrast_low,
···
372
372
return (
373
373
<Text
374
374
style={[
375
-
a.font_bold,
375
+
a.font_semi_bold,
376
376
a.p_sm,
377
377
t.atoms.text_contrast_low,
378
378
a.leading_snug,
+1
-1
src/components/NewskieDialog.tsx
+1
-1
src/components/NewskieDialog.tsx
+1
-1
src/components/Pills.tsx
+1
-1
src/components/Pills.tsx
+1
-1
src/components/PolicyUpdateOverlay/Badge.tsx
+1
-1
src/components/PolicyUpdateOverlay/Badge.tsx
+2
-2
src/components/PolicyUpdateOverlay/updates/202508/index.tsx
+2
-2
src/components/PolicyUpdateOverlay/updates/202508/index.tsx
···
69
69
70
70
{screenReaderEnabled ? (
71
71
<View style={[a.gap_sm]}>
72
-
<Text emoji style={[a.text_2xl, a.font_bold, a.leading_snug]}>
72
+
<Text emoji style={[a.text_2xl, a.font_semi_bold, a.leading_snug]}>
73
73
<Trans>Hey there 👋</Trans>
74
74
</Text>
75
75
<Text style={[a.leading_snug, a.text_md]}>
···
115
115
</View>
116
116
) : (
117
117
<View style={[a.gap_sm]}>
118
-
<Text emoji style={[a.text_2xl, a.font_bold, a.leading_snug]}>
118
+
<Text emoji style={[a.text_2xl, a.font_semi_bold, a.leading_snug]}>
119
119
<Trans>Hey there 👋</Trans>
120
120
</Text>
121
121
<Text style={[a.leading_snug, a.text_md]}>
+1
-1
src/components/Post/Embed/ExternalEmbed/index.tsx
+1
-1
src/components/Post/Embed/ExternalEmbed/index.tsx
+1
-1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx
+1
-1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx
+4
-1
src/components/Post/Embed/VideoEmbed/index.tsx
+4
-1
src/components/Post/Embed/VideoEmbed/index.tsx
···
71
71
) : (
72
72
<ConstrainedImage
73
73
fullBleed={crop === 'square'}
74
-
aspectRatio={constrained || 1}>
74
+
aspectRatio={constrained || 1}
75
+
// slightly smaller max height than images
76
+
// images use 16 / 9, for reference
77
+
minMobileAspectRatio={14 / 9}>
75
78
{contents}
76
79
</ConstrainedImage>
77
80
)}
+15
-3
src/components/Post/Embed/VideoEmbed/index.web.tsx
+15
-3
src/components/Post/Embed/VideoEmbed/index.web.tsx
···
14
14
import {isFirefox} from '#/lib/browser'
15
15
import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
16
16
import {ConstrainedImage} from '#/view/com/util/images/AutoSizedImage'
17
-
import {atoms as a} from '#/alf'
17
+
import {atoms as a, useTheme} from '#/alf'
18
18
import {useIsWithinMessage} from '#/components/dms/MessageContext'
19
19
import {useFullscreen} from '#/components/hooks/useFullscreen'
20
20
import {
···
32
32
embed: AppBskyEmbedVideo.View
33
33
crop?: 'none' | 'square' | 'constrained'
34
34
}) {
35
+
const t = useTheme()
35
36
const ref = useRef<HTMLDivElement>(null)
36
37
const {active, setActive, sendPosition, currentActiveView} =
37
38
useActiveVideoWeb()
···
114
115
sendPosition={sendPosition}
115
116
isAnyViewActive={currentActiveView !== null}>
116
117
{cropDisabled ? (
117
-
<View style={[a.w_full, a.overflow_hidden, {aspectRatio: max ?? 1}]}>
118
+
<View
119
+
style={[
120
+
a.w_full,
121
+
a.overflow_hidden,
122
+
{aspectRatio: max ?? 1},
123
+
a.rounded_md,
124
+
a.overflow_hidden,
125
+
t.atoms.bg_contrast_25,
126
+
]}>
118
127
{contents}
119
128
</View>
120
129
) : (
121
130
<ConstrainedImage
122
131
fullBleed={crop === 'square'}
123
-
aspectRatio={constrained || 1}>
132
+
aspectRatio={constrained || 1}
133
+
// slightly smaller max height than images
134
+
// images use 16 / 9, for reference
135
+
minMobileAspectRatio={14 / 9}>
124
136
{contents}
125
137
</ConstrainedImage>
126
138
)}
+1
-1
src/components/Post/Embed/index.tsx
+1
-1
src/components/Post/Embed/index.tsx
+6
-1
src/components/PostControls/PostControlButton.tsx
+6
-1
src/components/PostControls/PostControlButton.tsx
+2
-2
src/components/PostControls/RepostButton.tsx
+2
-2
src/components/PostControls/RepostButton.tsx
···
157
157
variant="ghost"
158
158
color="primary">
159
159
<Repost size="lg" fill={t.palette.primary_500} />
160
-
<Text style={[a.font_bold, a.text_xl]}>
160
+
<Text style={[a.font_semi_bold, a.text_xl]}>
161
161
{isReposted ? (
162
162
<Trans>Remove repost</Trans>
163
163
) : (
···
188
188
/>
189
189
<Text
190
190
style={[
191
-
a.font_bold,
191
+
a.font_semi_bold,
192
192
a.text_xl,
193
193
embeddingDisabled && t.atoms.text_contrast_low,
194
194
]}>
+2
-2
src/components/ProfileCard.tsx
+2
-2
src/components/ProfileCard.tsx
···
233
233
<Text
234
234
emoji
235
235
style={[
236
-
a.font_bold,
236
+
a.font_semi_bold,
237
237
a.leading_tight,
238
238
a.flex_shrink_0,
239
239
{maxWidth: '70%'},
···
287
287
emoji
288
288
style={[
289
289
a.text_md,
290
-
a.font_bold,
290
+
a.font_semi_bold,
291
291
a.leading_snug,
292
292
a.self_start,
293
293
a.flex_shrink,
+3
-3
src/components/ProfileHoverCard/index.web.tsx
+3
-3
src/components/ProfileHoverCard/index.web.tsx
···
515
515
<View style={[a.flex_row, a.align_center, a.pt_md, a.pb_xs]}>
516
516
<Text
517
517
numberOfLines={1}
518
-
style={[a.text_lg, a.font_bold, a.self_start]}>
518
+
style={[a.text_lg, a.font_semi_bold, a.self_start]}>
519
519
{sanitizeDisplayName(
520
520
profile.displayName || sanitizeHandle(profile.handle),
521
521
moderation.ui('displayName'),
···
562
562
label={`${followers} ${pluralizedFollowers}`}
563
563
style={[t.atoms.text]}
564
564
onPress={hide}>
565
-
<Text style={[a.text_md, a.font_bold]}>{followers} </Text>
565
+
<Text style={[a.text_md, a.font_semi_bold]}>{followers} </Text>
566
566
<Text style={[t.atoms.text_contrast_medium]}>
567
567
{pluralizedFollowers}
568
568
</Text>
···
572
572
label={_(msg`${following} following`)}
573
573
style={[t.atoms.text]}
574
574
onPress={hide}>
575
-
<Text style={[a.text_md, a.font_bold]}>{following} </Text>
575
+
<Text style={[a.text_md, a.font_semi_bold]}>{following} </Text>
576
576
<Text style={[t.atoms.text_contrast_medium]}>
577
577
{pluralizedFollowings}
578
578
</Text>
+1
-1
src/components/ProgressGuide/FollowDialog.tsx
+1
-1
src/components/ProgressGuide/FollowDialog.tsx
+1
-1
src/components/ProgressGuide/List.tsx
+1
-1
src/components/ProgressGuide/List.tsx
+1
-1
src/components/ProgressGuide/Task.tsx
+1
-1
src/components/ProgressGuide/Task.tsx
+1
-1
src/components/ProgressGuide/Toast.tsx
+1
-1
src/components/ProgressGuide/Toast.tsx
+1
-1
src/components/Prompt.tsx
+1
-1
src/components/Prompt.tsx
+3
-2
src/components/ReportDialog/SelectLabelerView.tsx
+3
-2
src/components/ReportDialog/SelectLabelerView.tsx
···
24
24
return (
25
25
<View style={[a.gap_lg]}>
26
26
<View style={[a.justify_center, gtMobile ? a.gap_sm : a.gap_xs]}>
27
-
<Text style={[a.text_2xl, a.font_bold]}>
27
+
<Text style={[a.text_2xl, a.font_semi_bold]}>
28
28
<Trans>Select moderator</Trans>
29
29
</Text>
30
30
<Text style={[a.text_md, t.atoms.text_contrast_medium]}>
···
75
75
handle: labeler.creator.handle,
76
76
})}
77
77
/>
78
-
<Text style={[t.atoms.text_contrast_medium, a.text_sm, a.font_bold]}>
78
+
<Text
79
+
style={[t.atoms.text_contrast_medium, a.text_sm, a.font_semi_bold]}>
79
80
@{labeler.creator.handle}
80
81
</Text>
81
82
</LabelingServiceCard.Content>
+3
-2
src/components/ReportDialog/SelectReportOptionView.tsx
+3
-2
src/components/ReportDialog/SelectReportOptionView.tsx
···
85
85
) : null}
86
86
87
87
<View style={[a.justify_center, gtMobile ? a.gap_sm : a.gap_xs]}>
88
-
<Text style={[a.text_2xl, a.font_bold]}>{i18n.title}</Text>
88
+
<Text style={[a.text_2xl, a.font_semi_bold]}>{i18n.title}</Text>
89
89
<Text style={[a.text_md, t.atoms.text_contrast_medium]}>
90
90
{i18n.description}
91
91
</Text>
···
173
173
interacted && t.atoms.bg_contrast_50,
174
174
]}>
175
175
<View style={[a.flex_1, a.gap_xs]}>
176
-
<Text style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
176
+
<Text
177
+
style={[a.text_md, a.font_semi_bold, t.atoms.text_contrast_medium]}>
177
178
{title}
178
179
</Text>
179
180
<Text style={[a.leading_tight, {maxWidth: 400}]}>{description}</Text>
+1
-1
src/components/ReportDialog/SubmitView.tsx
+1
-1
src/components/ReportDialog/SubmitView.tsx
···
125
125
t.atoms.border_contrast_low,
126
126
]}>
127
127
<View style={[a.flex_1, a.gap_xs]}>
128
-
<Text style={[a.text_md, a.font_bold]}>
128
+
<Text style={[a.text_md, a.font_semi_bold]}>
129
129
{selectedReportOption.title}
130
130
</Text>
131
131
<Text style={[a.leading_tight, {maxWidth: 400}]}>
+40
src/components/ScreenTransition.tsx
+40
src/components/ScreenTransition.tsx
···
1
+
import {type StyleProp, type ViewStyle} from 'react-native'
2
+
import Animated, {
3
+
Easing,
4
+
FadeIn,
5
+
FadeOut,
6
+
SlideInLeft,
7
+
SlideInRight,
8
+
} from 'react-native-reanimated'
9
+
import type React from 'react'
10
+
11
+
import {isWeb} from '#/platform/detection'
12
+
13
+
export function ScreenTransition({
14
+
direction,
15
+
style,
16
+
children,
17
+
enabledWeb,
18
+
}: {
19
+
direction: 'Backward' | 'Forward'
20
+
style?: StyleProp<ViewStyle>
21
+
children: React.ReactNode
22
+
enabledWeb?: boolean
23
+
}) {
24
+
const entering =
25
+
direction === 'Forward'
26
+
? SlideInRight.easing(Easing.out(Easing.exp))
27
+
: SlideInLeft.easing(Easing.out(Easing.exp))
28
+
const webEntering = enabledWeb ? FadeIn.duration(90) : undefined
29
+
const exiting = FadeOut.duration(90) // Totally vibes based
30
+
const webExiting = enabledWeb ? FadeOut.duration(90) : undefined
31
+
32
+
return (
33
+
<Animated.View
34
+
entering={isWeb ? webEntering : entering}
35
+
exiting={isWeb ? webExiting : exiting}
36
+
style={style}>
37
+
{children}
38
+
</Animated.View>
39
+
)
40
+
}
+7
-1
src/components/SearchError.tsx
+7
-1
src/components/SearchError.tsx
···
36
36
{maxWidth: gtMobile ? 394 : 294},
37
37
gtMobile ? a.gap_md : a.gap_sm,
38
38
]}>
39
-
<Text style={[a.font_bold, a.text_lg, a.text_center, a.leading_snug]}>
39
+
<Text
40
+
style={[
41
+
a.font_semi_bold,
42
+
a.text_lg,
43
+
a.text_center,
44
+
a.leading_snug,
45
+
]}>
40
46
{title}
41
47
</Text>
42
48
{children}
+1
-1
src/components/Select/index.tsx
+1
-1
src/components/Select/index.tsx
···
280
280
// eslint-disable-next-line bsky-internal/avoid-unwrapped-text
281
281
return (
282
282
<View style={[a.flex_1, a.py_md, a.border_b, t.atoms.border_contrast_low]}>
283
-
<Text style={[a.text_md, selected && a.font_bold]}>{children}</Text>
283
+
<Text style={[a.text_md, selected && a.font_semi_bold]}>{children}</Text>
284
284
</View>
285
285
)
286
286
}
+1
-1
src/components/Select/index.web.tsx
+1
-1
src/components/Select/index.web.tsx
+1
-1
src/components/StarterPack/ProfileStarterPacks.tsx
+1
-1
src/components/StarterPack/ProfileStarterPacks.tsx
···
255
255
{marginTop: a.border.borderWidth},
256
256
]}>
257
257
<View style={[a.gap_xs]}>
258
-
<Text style={[a.font_bold, a.text_lg, {color: 'white'}]}>
258
+
<Text style={[a.font_semi_bold, a.text_lg, {color: 'white'}]}>
259
259
<Trans>You haven't created a starter pack yet!</Trans>
260
260
</Text>
261
261
<Text style={[a.text_md, {color: 'white'}]}>
+8
-3
src/components/StarterPack/QrCode.tsx
+8
-3
src/components/StarterPack/QrCode.tsx
···
54
54
]}>
55
55
<View style={[a.gap_sm]}>
56
56
<Text
57
-
style={[a.font_bold, a.text_3xl, a.text_center, {color: 'white'}]}>
57
+
style={[
58
+
a.font_semi_bold,
59
+
a.text_3xl,
60
+
a.text_center,
61
+
{color: 'white'},
62
+
]}>
58
63
{record.name}
59
64
</Text>
60
65
</View>
61
66
<View style={[a.gap_xl, a.align_center]}>
62
67
<Text
63
68
style={[
64
-
a.font_bold,
69
+
a.font_semi_bold,
65
70
a.text_center,
66
71
{color: 'white', fontSize: 18},
67
72
]}>
···
76
81
a.flex,
77
82
a.flex_row,
78
83
a.align_center,
79
-
a.font_bold,
84
+
a.font_semi_bold,
80
85
{color: 'white', fontSize: 18, gap: 6},
81
86
]}>
82
87
<Trans>
+2
-2
src/components/StarterPack/StarterPackCard.tsx
+2
-2
src/components/StarterPack/StarterPackCard.tsx
···
77
77
<View style={[a.flex_1]}>
78
78
<Text
79
79
emoji
80
-
style={[a.text_md, a.font_bold, a.leading_snug]}
80
+
style={[a.text_md, a.font_semi_bold, a.leading_snug]}
81
81
numberOfLines={2}>
82
82
{record.name}
83
83
</Text>
···
97
97
</Text>
98
98
) : null}
99
99
{!!joinedAllTimeCount && joinedAllTimeCount >= 50 && (
100
-
<Text style={[a.font_bold, t.atoms.text_contrast_medium]}>
100
+
<Text style={[a.font_semi_bold, t.atoms.text_contrast_medium]}>
101
101
<Trans comment="Number of users (always at least 50) who have joined Bluesky using a specific starter pack">
102
102
<Plural value={joinedAllTimeCount} other="# users have" /> joined!
103
103
</Trans>
-31
src/components/StarterPack/Wizard/ScreenTransition.tsx
-31
src/components/StarterPack/Wizard/ScreenTransition.tsx
···
1
-
import {type StyleProp, type ViewStyle} from 'react-native'
2
-
import Animated, {
3
-
FadeIn,
4
-
FadeOut,
5
-
SlideInLeft,
6
-
SlideInRight,
7
-
} from 'react-native-reanimated'
8
-
import type React from 'react'
9
-
10
-
import {isWeb} from '#/platform/detection'
11
-
12
-
export function ScreenTransition({
13
-
direction,
14
-
style,
15
-
children,
16
-
}: {
17
-
direction: 'Backward' | 'Forward'
18
-
style?: StyleProp<ViewStyle>
19
-
children: React.ReactNode
20
-
}) {
21
-
const entering = direction === 'Forward' ? SlideInRight : SlideInLeft
22
-
23
-
return (
24
-
<Animated.View
25
-
entering={isWeb ? FadeIn.duration(90) : entering}
26
-
exiting={FadeOut.duration(90)} // Totally vibes based
27
-
style={style}>
28
-
{children}
29
-
</Animated.View>
30
-
)
31
-
}
+1
-1
src/components/StarterPack/Wizard/WizardEditListDialog.tsx
+1
-1
src/components/StarterPack/Wizard/WizardEditListDialog.tsx
+1
-1
src/components/StarterPack/Wizard/WizardListCard.tsx
+1
-1
src/components/StarterPack/Wizard/WizardListCard.tsx
+1
-1
src/components/SubtleWebHover.web.tsx
+1
-1
src/components/SubtleWebHover.web.tsx
+1
-1
src/components/TrendingTopics.tsx
+1
-1
src/components/TrendingTopics.tsx
+9
-3
src/components/VideoPostCard.tsx
+9
-3
src/components/VideoPostCard.tsx
···
227
227
{likeCount > 0 && (
228
228
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
229
229
<Heart size="sm" fill="white" />
230
-
<Text style={[a.text_sm, a.font_bold, {color: 'white'}]}>
230
+
<Text
231
+
style={[a.text_sm, a.font_semi_bold, {color: 'white'}]}>
231
232
{formatCount(i18n, likeCount)}
232
233
</Text>
233
234
</View>
···
235
236
{repostCount > 0 && (
236
237
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
237
238
<Repost size="sm" fill="white" />
238
-
<Text style={[a.text_sm, a.font_bold, {color: 'white'}]}>
239
+
<Text
240
+
style={[a.text_sm, a.font_semi_bold, {color: 'white'}]}>
239
241
{formatCount(i18n, repostCount)}
240
242
</Text>
241
243
</View>
···
520
522
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
521
523
<Heart size="sm" fill="white" />
522
524
<Text
523
-
style={[a.text_sm, a.font_bold, {color: 'white'}]}>
525
+
style={[
526
+
a.text_sm,
527
+
a.font_semi_bold,
528
+
{color: 'white'},
529
+
]}>
524
530
{formatCount(i18n, likeCount)}
525
531
</Text>
526
532
</View>
+2
-2
src/components/WelcomeModal.tsx
+2
-2
src/components/WelcomeModal.tsx
···
108
108
<Text
109
109
style={[
110
110
a.text_2xl,
111
-
a.font_bold,
111
+
a.font_semi_bold,
112
112
a.user_select_none,
113
113
{color: '#354358', letterSpacing: -0.5},
114
114
]}>
···
127
127
<Text
128
128
style={[
129
129
gtMobile ? a.text_4xl : a.text_3xl,
130
-
a.font_bold,
130
+
a.font_semi_bold,
131
131
a.text_center,
132
132
{color: '#354358'},
133
133
web({
+1
-1
src/components/WhoCanReply.tsx
+1
-1
src/components/WhoCanReply.tsx
···
188
188
label={_(msg`Dialog: adjust who can interact with this post`)}
189
189
style={web({maxWidth: 400})}>
190
190
<View style={[a.gap_sm]}>
191
-
<Text style={[a.font_bold, a.text_xl, a.pb_sm]}>
191
+
<Text style={[a.font_semi_bold, a.text_xl, a.pb_sm]}>
192
192
<Trans>Who can interact with this post?</Trans>
193
193
</Text>
194
194
<Rules
+1
-1
src/components/activity-notifications/SubscribeProfileDialog.tsx
+1
-1
src/components/activity-notifications/SubscribeProfileDialog.tsx
···
219
219
label={_(msg`Get notified of new posts from ${name}`)}>
220
220
<View style={[a.gap_lg]}>
221
221
<View style={[a.gap_xs]}>
222
-
<Text style={[a.font_heavy, a.text_2xl]}>
222
+
<Text style={[a.font_bold, a.text_2xl]}>
223
223
<Trans>Keep me posted</Trans>
224
224
</Text>
225
225
<Text style={[t.atoms.text_contrast_medium, a.text_md]}>
+2
-2
src/components/ageAssurance/AgeAssuranceAdmonition.tsx
+2
-2
src/components/ageAssurance/AgeAssuranceAdmonition.tsx
···
82
82
</View>
83
83
<View style={[a.flex_1, a.gap_xs, a.pr_4xl]}>
84
84
<Text style={[a.text_sm, a.leading_snug]}>{children}</Text>
85
-
<Text style={[a.text_sm, a.leading_snug, a.font_bold]}>
85
+
<Text style={[a.text_sm, a.leading_snug, a.font_semi_bold]}>
86
86
<Trans>
87
87
Learn more in your{' '}
88
88
<InlineLinkText
89
89
label={_(msg`Go to account settings`)}
90
90
to={'/settings/account'}
91
-
style={[a.text_sm, a.leading_snug, a.font_bold]}
91
+
style={[a.text_sm, a.leading_snug, a.font_semi_bold]}
92
92
onPress={() => {
93
93
logger.metric('ageAssurance:navigateToSettings', {})
94
94
}}>
+1
-1
src/components/ageAssurance/AgeAssuranceAppealDialog.tsx
+1
-1
src/components/ageAssurance/AgeAssuranceAppealDialog.tsx
+1
-1
src/components/ageAssurance/AgeAssuranceBadge.tsx
+1
-1
src/components/ageAssurance/AgeAssuranceBadge.tsx
+1
-1
src/components/ageAssurance/AgeAssuranceInitDialog.tsx
+1
-1
src/components/ageAssurance/AgeAssuranceInitDialog.tsx
···
178
178
<View style={[a.align_start]}>
179
179
<AgeAssuranceBadge />
180
180
181
-
<Text style={[a.text_xl, a.font_heavy, a.pt_xl, a.pb_md]}>
181
+
<Text style={[a.text_xl, a.font_bold, a.pt_xl, a.pb_md]}>
182
182
{success ? <Trans>Success!</Trans> : <Trans>Verify your age</Trans>}
183
183
</Text>
184
184
+2
-2
src/components/ageAssurance/AgeAssuranceRedirectDialog.tsx
+2
-2
src/components/ageAssurance/AgeAssuranceRedirectDialog.tsx
···
160
160
a.pb_md,
161
161
]}>
162
162
<SuccessIcon size="sm" fill={t.palette.positive_600} />
163
-
<Text style={[a.text_xl, a.font_heavy]}>
163
+
<Text style={[a.text_xl, a.font_bold]}>
164
164
<Trans>Success</Trans>
165
165
</Text>
166
166
</View>
···
209
209
]}>
210
210
{error && <ErrorIcon size="md" fill={t.palette.negative_500} />}
211
211
212
-
<Text style={[a.text_xl, a.font_heavy]}>
212
+
<Text style={[a.text_xl, a.font_bold]}>
213
213
{error ? <Trans>Connection issue</Trans> : <Trans>Verifying</Trans>}
214
214
</Text>
215
215
+1
-1
src/components/ageAssurance/AgeRestrictedScreen.tsx
+1
-1
src/components/ageAssurance/AgeRestrictedScreen.tsx
+1
-1
src/components/dialogs/BirthDateSettings.tsx
+1
-1
src/components/dialogs/BirthDateSettings.tsx
···
38
38
label={_(msg`My Birthday`)}
39
39
style={web({maxWidth: 400})}>
40
40
<View style={[a.gap_sm]}>
41
-
<Text style={[a.text_xl, a.font_bold]}>
41
+
<Text style={[a.text_xl, a.font_semi_bold]}>
42
42
<Trans>My Birthday</Trans>
43
43
</Text>
44
44
<Text style={[a.leading_snug, t.atoms.text_contrast_medium]}>
+1
-1
src/components/dialogs/DeviceLocationRequestDialog.tsx
+1
-1
src/components/dialogs/DeviceLocationRequestDialog.tsx
+3
-3
src/components/dialogs/EmailDialog/screens/Manage2FA/Disable.tsx
+3
-3
src/components/dialogs/EmailDialog/screens/Manage2FA/Disable.tsx
···
153
153
154
154
return (
155
155
<View style={[a.gap_sm]}>
156
-
<Text style={[a.text_xl, a.font_heavy, a.leading_snug]}>
156
+
<Text style={[a.text_xl, a.font_bold, a.leading_snug]}>
157
157
<Trans>Disable email 2FA</Trans>
158
158
</Text>
159
159
···
163
163
style={[a.text_sm, a.leading_snug, t.atoms.text_contrast_medium]}>
164
164
<Trans>
165
165
To disable your email 2FA method, please verify your access to{' '}
166
-
<Span style={[a.font_bold]}>{currentAccount?.email}</Span>
166
+
<Span style={[a.font_semi_bold]}>{currentAccount?.email}</Span>
167
167
</Trans>
168
168
</Text>
169
169
···
214
214
style={[a.text_sm, a.leading_snug, t.atoms.text_contrast_medium]}>
215
215
<Trans>
216
216
To disable your email 2FA method, please verify your access to{' '}
217
-
<Span style={[a.font_bold]}>{currentAccount?.email}</Span>
217
+
<Span style={[a.font_semi_bold]}>{currentAccount?.email}</Span>
218
218
</Trans>
219
219
</Text>
220
220
+1
-1
src/components/dialogs/EmailDialog/screens/Manage2FA/Enable.tsx
+1
-1
src/components/dialogs/EmailDialog/screens/Manage2FA/Enable.tsx
+3
-3
src/components/dialogs/EmailDialog/screens/Update.tsx
+3
-3
src/components/dialogs/EmailDialog/screens/Update.tsx
···
199
199
200
200
return (
201
201
<View style={[a.gap_lg]}>
202
-
<Text style={[a.text_xl, a.font_heavy]}>
202
+
<Text style={[a.text_xl, a.font_bold]}>
203
203
<Trans>Update your email</Trans>
204
204
</Text>
205
205
···
239
239
<>
240
240
<Divider />
241
241
<View>
242
-
<Text style={[a.text_md, a.pb_sm, a.font_bold]}>
242
+
<Text style={[a.text_md, a.pb_sm, a.font_semi_bold]}>
243
243
<Trans>Security step required</Trans>
244
244
</Text>
245
245
<Text
···
282
282
<View style={[a.gap_sm]}>
283
283
<View style={[a.flex_row, a.gap_sm, a.align_center]}>
284
284
<Check fill={t.palette.positive_600} size="xs" />
285
-
<Text style={[a.text_md, a.font_heavy]}>
285
+
<Text style={[a.text_md, a.font_bold]}>
286
286
<Trans>Success!</Trans>
287
287
</Text>
288
288
</View>
+1
-1
src/components/dialogs/EmailDialog/screens/VerificationReminder.tsx
+1
-1
src/components/dialogs/EmailDialog/screens/VerificationReminder.tsx
···
58
58
<View style={[a.mb_xs, {height: 150 - dialogPadding}]} />
59
59
60
60
<View style={[a.gap_sm]}>
61
-
<Text style={[a.text_xl, a.font_heavy]}>
61
+
<Text style={[a.text_xl, a.font_bold]}>
62
62
<Trans>Please verify your email</Trans>
63
63
</Text>
64
64
<Text style={[a.text_sm, a.leading_snug, t.atoms.text_contrast_medium]}>
+5
-5
src/components/dialogs/EmailDialog/screens/Verify.tsx
+5
-5
src/components/dialogs/EmailDialog/screens/Verify.tsx
···
174
174
return (
175
175
<View style={[a.gap_lg]}>
176
176
<View style={[a.gap_sm]}>
177
-
<Text style={[a.text_xl, a.font_heavy]}>
177
+
<Text style={[a.text_xl, a.font_bold]}>
178
178
<Span style={{top: 1}}>
179
179
<Check size="sm" fill={t.palette.positive_600} />
180
180
</Span>
···
197
197
return (
198
198
<View style={[a.gap_lg]}>
199
199
<View style={[a.gap_sm]}>
200
-
<Text style={[a.text_xl, a.font_heavy]}>
200
+
<Text style={[a.text_xl, a.font_bold]}>
201
201
{state.step === 'email' ? (
202
202
state.mutationStatus === 'success' ? (
203
203
<>
···
239
239
state.mutationStatus === 'success' ? (
240
240
<Trans>
241
241
We sent an email to{' '}
242
-
<Span style={[a.font_bold, t.atoms.text]}>
242
+
<Span style={[a.font_semi_bold, t.atoms.text]}>
243
243
{currentAccount!.email}
244
244
</Span>{' '}
245
245
containing a link. Please click on it to complete the email
···
248
248
) : (
249
249
<Trans>
250
250
We'll send an email to{' '}
251
-
<Span style={[a.font_bold, t.atoms.text]}>
251
+
<Span style={[a.font_semi_bold, t.atoms.text]}>
252
252
{currentAccount!.email}
253
253
</Span>{' '}
254
254
containing a link. Please click on it to complete the email
···
258
258
) : (
259
259
<Trans>
260
260
Please enter the code we sent to{' '}
261
-
<Span style={[a.font_bold, t.atoms.text]}>
261
+
<Span style={[a.font_semi_bold, t.atoms.text]}>
262
262
{currentAccount!.email}
263
263
</Span>{' '}
264
264
below.
+2
-2
src/components/dialogs/Embed.tsx
+2
-2
src/components/dialogs/Embed.tsx
···
104
104
<Dialog.Inner label={_(msg`Embed post`)} style={[{maxWidth: 500}]}>
105
105
<View style={[a.gap_lg]}>
106
106
<View style={[a.gap_sm]}>
107
-
<Text style={[a.text_2xl, a.font_heavy]}>
107
+
<Text style={[a.text_2xl, a.font_bold]}>
108
108
<Trans>Embed post</Trans>
109
109
</Text>
110
110
<Text
···
147
147
148
148
{showCustomisation && (
149
149
<View style={[a.gap_sm, a.p_md]}>
150
-
<Text style={[t.atoms.text_contrast_medium, a.font_bold]}>
150
+
<Text style={[t.atoms.text_contrast_medium, a.font_semi_bold]}>
151
151
<Trans>Color theme</Trans>
152
152
</Text>
153
153
<ToggleButton.Group
+1
-1
src/components/dialogs/EmbedConsent.tsx
+1
-1
src/components/dialogs/EmbedConsent.tsx
+1
-1
src/components/dialogs/InAppBrowserConsent.tsx
+1
-1
src/components/dialogs/InAppBrowserConsent.tsx
···
62
62
<Dialog.ScrollableInner label={_(msg`How should we open this link?`)}>
63
63
<View style={[a.gap_2xl]}>
64
64
<View style={[a.gap_sm]}>
65
-
<Text style={[a.font_heavy, a.text_2xl]}>
65
+
<Text style={[a.font_bold, a.text_2xl]}>
66
66
<Trans>How should we open this link?</Trans>
67
67
</Text>
68
68
<Text style={[t.atoms.text_contrast_high, a.leading_snug, a.text_md]}>
+3
-2
src/components/dialogs/LinkWarning.tsx
+3
-2
src/components/dialogs/LinkWarning.tsx
···
68
68
}>
69
69
<View style={[a.gap_2xl]}>
70
70
<View style={[a.gap_sm]}>
71
-
<Text style={[a.font_heavy, a.text_2xl]}>
71
+
<Text style={[a.font_bold, a.text_2xl]}>
72
72
{potentiallyMisleading ? (
73
73
<Trans>Potentially misleading link</Trans>
74
74
) : (
···
151
151
]}>
152
152
<Text style={[a.text_md, a.leading_snug, t.atoms.text_contrast_medium]}>
153
153
{scheme}
154
-
<Text style={[a.text_md, a.leading_snug, t.atoms.text, a.font_bold]}>
154
+
<Text
155
+
style={[a.text_md, a.leading_snug, t.atoms.text, a.font_semi_bold]}>
155
156
{hostname}
156
157
</Text>
157
158
{rest}
+15
-8
src/components/dialogs/MutedWords.tsx
+15
-8
src/components/dialogs/MutedWords.tsx
···
108
108
<Dialog.ScrollableInner label={_(msg`Manage your muted words and tags`)}>
109
109
<View>
110
110
<Text
111
-
style={[a.text_md, a.font_bold, a.pb_sm, t.atoms.text_contrast_high]}>
111
+
style={[
112
+
a.text_md,
113
+
a.font_semi_bold,
114
+
a.pb_sm,
115
+
t.atoms.text_contrast_high,
116
+
]}>
112
117
<Trans>Add muted words and tags</Trans>
113
118
</Text>
114
119
<Text style={[a.pb_lg, a.leading_snug, t.atoms.text_contrast_medium]}>
···
147
152
style={[
148
153
a.pb_xs,
149
154
a.text_sm,
150
-
a.font_bold,
155
+
a.font_semi_bold,
151
156
t.atoms.text_contrast_medium,
152
157
]}>
153
158
<Trans>Duration:</Trans>
···
247
252
style={[
248
253
a.pb_xs,
249
254
a.text_sm,
250
-
a.font_bold,
255
+
a.font_semi_bold,
251
256
t.atoms.text_contrast_medium,
252
257
]}>
253
258
<Trans>Mute in:</Trans>
···
293
298
style={[
294
299
a.pb_xs,
295
300
a.text_sm,
296
-
a.font_bold,
301
+
a.font_semi_bold,
297
302
t.atoms.text_contrast_medium,
298
303
]}>
299
304
<Trans>Options:</Trans>
···
362
367
<Text
363
368
style={[
364
369
a.text_md,
365
-
a.font_bold,
370
+
a.font_semi_bold,
366
371
a.pb_md,
367
372
t.atoms.text_contrast_high,
368
373
]}>
···
455
460
style={[
456
461
a.flex_1,
457
462
a.leading_snug,
458
-
a.font_bold,
463
+
a.font_semi_bold,
459
464
web({
460
465
overflowWrap: 'break-word',
461
466
wordBreak: 'break-word',
···
466
471
{word.value}{' '}
467
472
<Text style={[a.font_normal, t.atoms.text_contrast_medium]}>
468
473
in{' '}
469
-
<Text style={[a.font_bold, t.atoms.text_contrast_medium]}>
474
+
<Text
475
+
style={[a.font_semi_bold, t.atoms.text_contrast_medium]}>
470
476
text & tags
471
477
</Text>
472
478
</Text>
···
476
482
{word.value}{' '}
477
483
<Text style={[a.font_normal, t.atoms.text_contrast_medium]}>
478
484
in{' '}
479
-
<Text style={[a.font_bold, t.atoms.text_contrast_medium]}>
485
+
<Text
486
+
style={[a.font_semi_bold, t.atoms.text_contrast_medium]}>
480
487
tags
481
488
</Text>
482
489
</Text>
+7
-5
src/components/dialogs/PostInteractionSettingsDialog.tsx
+7
-5
src/components/dialogs/PostInteractionSettingsDialog.tsx
···
84
84
]}>
85
85
<Trans>
86
86
You can set default interaction settings in{' '}
87
-
<Text style={[a.font_bold, t.atoms.text_contrast_medium]}>
87
+
<Text style={[a.font_semi_bold, t.atoms.text_contrast_medium]}>
88
88
Settings → Moderation → Interaction settings
89
89
</Text>
90
90
.
···
100
100
export function Header() {
101
101
return (
102
102
<View style={[a.gap_md, a.pb_sm]}>
103
-
<Text style={[a.text_2xl, a.font_bold]}>
103
+
<Text style={[a.text_2xl, a.font_semi_bold]}>
104
104
<Trans>Post interaction settings</Trans>
105
105
</Text>
106
106
<Text style={[a.text_md, a.pb_xs]}>
···
329
329
<View style={[a.flex_1, a.gap_md]}>
330
330
<View style={[a.gap_lg]}>
331
331
<View style={[a.gap_sm]}>
332
-
<Text style={[a.font_bold, a.text_lg]}>
332
+
<Text style={[a.font_semi_bold, a.text_lg]}>
333
333
<Trans>Quote settings</Trans>
334
334
</Text>
335
335
···
385
385
opacity: replySettingsDisabled ? 0.3 : 1,
386
386
},
387
387
]}>
388
-
<Text style={[a.font_bold, a.text_lg]}>
388
+
<Text style={[a.font_semi_bold, a.text_lg]}>
389
389
<Trans>Reply settings</Trans>
390
390
</Text>
391
391
···
535
535
},
536
536
style,
537
537
]}>
538
-
<Text style={[a.text_sm, isSelected && a.font_bold]}>{label}</Text>
538
+
<Text style={[a.text_sm, isSelected && a.font_semi_bold]}>
539
+
{label}
540
+
</Text>
539
541
{isSelected ? (
540
542
<Check size="sm" fill={t.palette.primary_500} />
541
543
) : (
+1
-1
src/components/dialogs/SearchablePeopleList.tsx
+1
-1
src/components/dialogs/SearchablePeopleList.tsx
+3
-3
src/components/dialogs/StarterPackDialog.tsx
+3
-3
src/components/dialogs/StarterPackDialog.tsx
···
172
172
isWeb ? a.mb_2xl : a.my_lg,
173
173
a.align_center,
174
174
]}>
175
-
<Text style={[a.text_lg, a.font_bold]}>
175
+
<Text style={[a.text_lg, a.font_semi_bold]}>
176
176
<Trans>Add to starter packs</Trans>
177
177
</Text>
178
178
<Button
···
189
189
<>
190
190
<View
191
191
style={[a.flex_row, a.justify_between, a.align_center, a.py_md]}>
192
-
<Text style={[a.text_md, a.font_bold]}>
192
+
<Text style={[a.text_md, a.font_semi_bold]}>
193
193
<Trans>New starter pack</Trans>
194
194
</Text>
195
195
<Button
···
331
331
return (
332
332
<View style={[a.flex_row, a.justify_between, a.align_center, a.py_md]}>
333
333
<View>
334
-
<Text emoji style={[a.text_md, a.font_bold]} numberOfLines={1}>
334
+
<Text emoji style={[a.text_md, a.font_semi_bold]} numberOfLines={1}>
335
335
{record.name}
336
336
</Text>
337
337
+1
-1
src/components/dialogs/SwitchAccount.tsx
+1
-1
src/components/dialogs/SwitchAccount.tsx
+454
src/components/dialogs/lists/CreateOrEditListDialog.tsx
+454
src/components/dialogs/lists/CreateOrEditListDialog.tsx
···
1
+
import {useCallback, useEffect, useMemo, useState} from 'react'
2
+
import {useWindowDimensions, View} from 'react-native'
3
+
import {type AppBskyGraphDefs, RichText as RichTextAPI} from '@atproto/api'
4
+
import {msg, Plural, Trans} from '@lingui/macro'
5
+
import {useLingui} from '@lingui/react'
6
+
7
+
import {cleanError} from '#/lib/strings/errors'
8
+
import {useWarnMaxGraphemeCount} from '#/lib/strings/helpers'
9
+
import {richTextToString} from '#/lib/strings/rich-text-helpers'
10
+
import {shortenLinks, stripInvalidMentions} from '#/lib/strings/rich-text-manip'
11
+
import {logger} from '#/logger'
12
+
import {isWeb} from '#/platform/detection'
13
+
import {type ImageMeta} from '#/state/gallery'
14
+
import {
15
+
useListCreateMutation,
16
+
useListMetadataMutation,
17
+
} from '#/state/queries/list'
18
+
import {useAgent} from '#/state/session'
19
+
import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
20
+
import * as Toast from '#/view/com/util/Toast'
21
+
import {EditableUserAvatar} from '#/view/com/util/UserAvatar'
22
+
import {atoms as a, useTheme, web} from '#/alf'
23
+
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
24
+
import * as Dialog from '#/components/Dialog'
25
+
import * as TextField from '#/components/forms/TextField'
26
+
import {Loader} from '#/components/Loader'
27
+
import * as Prompt from '#/components/Prompt'
28
+
import {Text} from '#/components/Typography'
29
+
30
+
const DISPLAY_NAME_MAX_GRAPHEMES = 64
31
+
const DESCRIPTION_MAX_GRAPHEMES = 300
32
+
33
+
export function CreateOrEditListDialog({
34
+
control,
35
+
list,
36
+
purpose,
37
+
onSave,
38
+
}: {
39
+
control: Dialog.DialogControlProps
40
+
list?: AppBskyGraphDefs.ListView
41
+
purpose?: AppBskyGraphDefs.ListPurpose
42
+
onSave?: (uri: string) => void
43
+
}) {
44
+
const {_} = useLingui()
45
+
const cancelControl = Dialog.useDialogControl()
46
+
const [dirty, setDirty] = useState(false)
47
+
const {height} = useWindowDimensions()
48
+
49
+
// 'You might lose unsaved changes' warning
50
+
useEffect(() => {
51
+
if (isWeb && dirty) {
52
+
const abortController = new AbortController()
53
+
const {signal} = abortController
54
+
window.addEventListener('beforeunload', evt => evt.preventDefault(), {
55
+
signal,
56
+
})
57
+
return () => {
58
+
abortController.abort()
59
+
}
60
+
}
61
+
}, [dirty])
62
+
63
+
const onPressCancel = useCallback(() => {
64
+
if (dirty) {
65
+
cancelControl.open()
66
+
} else {
67
+
control.close()
68
+
}
69
+
}, [dirty, control, cancelControl])
70
+
71
+
return (
72
+
<Dialog.Outer
73
+
control={control}
74
+
nativeOptions={{
75
+
preventDismiss: dirty,
76
+
minHeight: height,
77
+
}}
78
+
testID="createOrEditListDialog">
79
+
<DialogInner
80
+
list={list}
81
+
purpose={purpose}
82
+
onSave={onSave}
83
+
setDirty={setDirty}
84
+
onPressCancel={onPressCancel}
85
+
/>
86
+
87
+
<Prompt.Basic
88
+
control={cancelControl}
89
+
title={_(msg`Discard changes?`)}
90
+
description={_(msg`Are you sure you want to discard your changes?`)}
91
+
onConfirm={() => control.close()}
92
+
confirmButtonCta={_(msg`Discard`)}
93
+
confirmButtonColor="negative"
94
+
/>
95
+
</Dialog.Outer>
96
+
)
97
+
}
98
+
99
+
function DialogInner({
100
+
list,
101
+
purpose,
102
+
onSave,
103
+
setDirty,
104
+
onPressCancel,
105
+
}: {
106
+
list?: AppBskyGraphDefs.ListView
107
+
purpose?: AppBskyGraphDefs.ListPurpose
108
+
onSave?: (uri: string) => void
109
+
setDirty: (dirty: boolean) => void
110
+
onPressCancel: () => void
111
+
}) {
112
+
const activePurpose = useMemo(() => {
113
+
if (list?.purpose) {
114
+
return list.purpose
115
+
}
116
+
if (purpose) {
117
+
return purpose
118
+
}
119
+
return 'app.bsky.graph.defs#curatelist'
120
+
}, [list, purpose])
121
+
const isCurateList = activePurpose === 'app.bsky.graph.defs#curatelist'
122
+
123
+
const {_} = useLingui()
124
+
const t = useTheme()
125
+
const agent = useAgent()
126
+
const control = Dialog.useDialogContext()
127
+
const {
128
+
mutateAsync: createListMutation,
129
+
error: createListError,
130
+
isError: isCreateListError,
131
+
isPending: isCreatingList,
132
+
} = useListCreateMutation()
133
+
const {
134
+
mutateAsync: updateListMutation,
135
+
error: updateListError,
136
+
isError: isUpdateListError,
137
+
isPending: isUpdatingList,
138
+
} = useListMetadataMutation()
139
+
const [imageError, setImageError] = useState('')
140
+
const [displayNameTooShort, setDisplayNameTooShort] = useState(false)
141
+
const initialDisplayName = list?.name || ''
142
+
const [displayName, setDisplayName] = useState(initialDisplayName)
143
+
const initialDescription = list?.description || ''
144
+
const [descriptionRt, setDescriptionRt] = useState<RichTextAPI>(() => {
145
+
const text = list?.description
146
+
const facets = list?.descriptionFacets
147
+
148
+
if (!text || !facets) {
149
+
return new RichTextAPI({text: text || ''})
150
+
}
151
+
152
+
// We want to be working with a blank state here, so let's get the
153
+
// serialized version and turn it back into a RichText
154
+
const serialized = richTextToString(new RichTextAPI({text, facets}), false)
155
+
156
+
const richText = new RichTextAPI({text: serialized})
157
+
richText.detectFacetsWithoutResolution()
158
+
159
+
return richText
160
+
})
161
+
162
+
const [listAvatar, setListAvatar] = useState<string | undefined | null>(
163
+
list?.avatar,
164
+
)
165
+
const [newListAvatar, setNewListAvatar] = useState<
166
+
ImageMeta | undefined | null
167
+
>()
168
+
169
+
const dirty =
170
+
displayName !== initialDisplayName ||
171
+
descriptionRt.text !== initialDescription ||
172
+
listAvatar !== list?.avatar
173
+
174
+
useEffect(() => {
175
+
setDirty(dirty)
176
+
}, [dirty, setDirty])
177
+
178
+
const onSelectNewAvatar = useCallback(
179
+
(img: ImageMeta | null) => {
180
+
setImageError('')
181
+
if (img === null) {
182
+
setNewListAvatar(null)
183
+
setListAvatar(null)
184
+
return
185
+
}
186
+
try {
187
+
setNewListAvatar(img)
188
+
setListAvatar(img.path)
189
+
} catch (e: any) {
190
+
setImageError(cleanError(e))
191
+
}
192
+
},
193
+
[setNewListAvatar, setListAvatar, setImageError],
194
+
)
195
+
196
+
const onPressSave = useCallback(async () => {
197
+
setImageError('')
198
+
setDisplayNameTooShort(false)
199
+
try {
200
+
if (displayName.length === 0) {
201
+
setDisplayNameTooShort(true)
202
+
return
203
+
}
204
+
205
+
let richText = new RichTextAPI(
206
+
{text: descriptionRt.text.trimEnd()},
207
+
{cleanNewlines: true},
208
+
)
209
+
210
+
await richText.detectFacets(agent)
211
+
richText = shortenLinks(richText)
212
+
richText = stripInvalidMentions(richText)
213
+
214
+
if (list) {
215
+
await updateListMutation({
216
+
uri: list.uri,
217
+
name: displayName,
218
+
description: richText.text,
219
+
descriptionFacets: richText.facets,
220
+
avatar: newListAvatar,
221
+
})
222
+
Toast.show(
223
+
isCurateList
224
+
? _(msg({message: 'User list updated', context: 'toast'}))
225
+
: _(msg({message: 'Moderation list updated', context: 'toast'})),
226
+
)
227
+
control.close(() => onSave?.(list.uri))
228
+
} else {
229
+
const {uri} = await createListMutation({
230
+
purpose: activePurpose,
231
+
name: displayName,
232
+
description: richText.text,
233
+
descriptionFacets: richText.facets,
234
+
avatar: newListAvatar,
235
+
})
236
+
Toast.show(
237
+
isCurateList
238
+
? _(msg({message: 'User list created', context: 'toast'}))
239
+
: _(msg({message: 'Moderation list created', context: 'toast'})),
240
+
)
241
+
control.close(() => onSave?.(uri))
242
+
}
243
+
} catch (e: any) {
244
+
logger.error('Failed to create/edit list', {message: String(e)})
245
+
}
246
+
}, [
247
+
list,
248
+
createListMutation,
249
+
updateListMutation,
250
+
onSave,
251
+
control,
252
+
displayName,
253
+
descriptionRt,
254
+
newListAvatar,
255
+
setImageError,
256
+
activePurpose,
257
+
isCurateList,
258
+
agent,
259
+
_,
260
+
])
261
+
262
+
const displayNameTooLong = useWarnMaxGraphemeCount({
263
+
text: displayName,
264
+
maxCount: DISPLAY_NAME_MAX_GRAPHEMES,
265
+
})
266
+
const descriptionTooLong = useWarnMaxGraphemeCount({
267
+
text: descriptionRt,
268
+
maxCount: DESCRIPTION_MAX_GRAPHEMES,
269
+
})
270
+
271
+
const cancelButton = useCallback(
272
+
() => (
273
+
<Button
274
+
label={_(msg`Cancel`)}
275
+
onPress={onPressCancel}
276
+
size="small"
277
+
color="primary"
278
+
variant="ghost"
279
+
style={[a.rounded_full]}
280
+
testID="editProfileCancelBtn">
281
+
<ButtonText style={[a.text_md]}>
282
+
<Trans>Cancel</Trans>
283
+
</ButtonText>
284
+
</Button>
285
+
),
286
+
[onPressCancel, _],
287
+
)
288
+
289
+
const saveButton = useCallback(
290
+
() => (
291
+
<Button
292
+
label={_(msg`Save`)}
293
+
onPress={onPressSave}
294
+
disabled={
295
+
!dirty ||
296
+
isCreatingList ||
297
+
isUpdatingList ||
298
+
displayNameTooLong ||
299
+
descriptionTooLong
300
+
}
301
+
size="small"
302
+
color="primary"
303
+
variant="ghost"
304
+
style={[a.rounded_full]}
305
+
testID="editProfileSaveBtn">
306
+
<ButtonText style={[a.text_md, !dirty && t.atoms.text_contrast_low]}>
307
+
<Trans>Save</Trans>
308
+
</ButtonText>
309
+
{(isCreatingList || isUpdatingList) && <ButtonIcon icon={Loader} />}
310
+
</Button>
311
+
),
312
+
[
313
+
_,
314
+
t,
315
+
dirty,
316
+
onPressSave,
317
+
isCreatingList,
318
+
isUpdatingList,
319
+
displayNameTooLong,
320
+
descriptionTooLong,
321
+
],
322
+
)
323
+
324
+
const onChangeDisplayName = useCallback(
325
+
(text: string) => {
326
+
setDisplayName(text)
327
+
if (text.length > 0 && displayNameTooShort) {
328
+
setDisplayNameTooShort(false)
329
+
}
330
+
},
331
+
[displayNameTooShort],
332
+
)
333
+
334
+
const onChangeDescription = useCallback(
335
+
(newText: string) => {
336
+
const richText = new RichTextAPI({text: newText})
337
+
richText.detectFacetsWithoutResolution()
338
+
339
+
setDescriptionRt(richText)
340
+
},
341
+
[setDescriptionRt],
342
+
)
343
+
344
+
const title = list
345
+
? isCurateList
346
+
? _(msg`Edit user list`)
347
+
: _(msg`Edit moderation list`)
348
+
: isCurateList
349
+
? _(msg`Create user list`)
350
+
: _(msg`Create moderation list`)
351
+
352
+
return (
353
+
<Dialog.ScrollableInner
354
+
label={title}
355
+
style={[a.overflow_hidden, web({maxWidth: 500})]}
356
+
contentContainerStyle={[a.px_0, a.pt_0]}
357
+
header={
358
+
<Dialog.Header renderLeft={cancelButton} renderRight={saveButton}>
359
+
<Dialog.HeaderText>{title}</Dialog.HeaderText>
360
+
</Dialog.Header>
361
+
}>
362
+
{isUpdateListError && (
363
+
<ErrorMessage message={cleanError(updateListError)} />
364
+
)}
365
+
{isCreateListError && (
366
+
<ErrorMessage message={cleanError(createListError)} />
367
+
)}
368
+
{imageError !== '' && <ErrorMessage message={imageError} />}
369
+
<View style={[a.pt_xl, a.px_xl, a.gap_xl]}>
370
+
<View>
371
+
<TextField.LabelText>
372
+
<Trans>List avatar</Trans>
373
+
</TextField.LabelText>
374
+
<View style={[a.align_start]}>
375
+
<EditableUserAvatar
376
+
size={80}
377
+
avatar={listAvatar}
378
+
onSelectNewAvatar={onSelectNewAvatar}
379
+
type="list"
380
+
/>
381
+
</View>
382
+
</View>
383
+
<View>
384
+
<TextField.LabelText>
385
+
<Trans>List name</Trans>
386
+
</TextField.LabelText>
387
+
<TextField.Root isInvalid={displayNameTooLong || displayNameTooShort}>
388
+
<Dialog.Input
389
+
defaultValue={displayName}
390
+
onChangeText={onChangeDisplayName}
391
+
label={_(msg`Name`)}
392
+
placeholder={_(msg`e.g. Great Posters`)}
393
+
testID="editListNameInput"
394
+
/>
395
+
</TextField.Root>
396
+
{(displayNameTooLong || displayNameTooShort) && (
397
+
<Text
398
+
style={[
399
+
a.text_sm,
400
+
a.mt_xs,
401
+
a.font_bold,
402
+
{color: t.palette.negative_400},
403
+
]}>
404
+
{displayNameTooLong ? (
405
+
<Trans>
406
+
List name is too long.{' '}
407
+
<Plural
408
+
value={DISPLAY_NAME_MAX_GRAPHEMES}
409
+
other="The maximum number of characters is #."
410
+
/>
411
+
</Trans>
412
+
) : displayNameTooShort ? (
413
+
<Trans>List must have a name.</Trans>
414
+
) : null}
415
+
</Text>
416
+
)}
417
+
</View>
418
+
419
+
<View>
420
+
<TextField.LabelText>
421
+
<Trans>List description</Trans>
422
+
</TextField.LabelText>
423
+
<TextField.Root isInvalid={descriptionTooLong}>
424
+
<Dialog.Input
425
+
defaultValue={descriptionRt.text}
426
+
onChangeText={onChangeDescription}
427
+
multiline
428
+
label={_(msg`Description`)}
429
+
placeholder={_(msg`e.g. The posters that never miss.`)}
430
+
testID="editProfileDescriptionInput"
431
+
/>
432
+
</TextField.Root>
433
+
{descriptionTooLong && (
434
+
<Text
435
+
style={[
436
+
a.text_sm,
437
+
a.mt_xs,
438
+
a.font_bold,
439
+
{color: t.palette.negative_400},
440
+
]}>
441
+
<Trans>
442
+
List description is too long.{' '}
443
+
<Plural
444
+
value={DESCRIPTION_MAX_GRAPHEMES}
445
+
other="The maximum number of characters is #."
446
+
/>
447
+
</Trans>
448
+
</Text>
449
+
)}
450
+
</View>
451
+
</View>
452
+
</Dialog.ScrollableInner>
453
+
)
454
+
}
+2
-2
src/components/dialogs/nuxs/ActivitySubscriptions.tsx
+2
-2
src/components/dialogs/nuxs/ActivitySubscriptions.tsx
···
66
66
<SparkleIcon fill={t.palette.primary_800} size="sm" />
67
67
<Text
68
68
style={[
69
-
a.font_bold,
69
+
a.font_semi_bold,
70
70
{
71
71
color: t.palette.primary_800,
72
72
},
···
127
127
style={[
128
128
a.text_3xl,
129
129
a.leading_tight,
130
-
a.font_heavy,
130
+
a.font_bold,
131
131
a.text_center,
132
132
{
133
133
fontSize: isWeb ? 28 : 32,
+2
-2
src/components/dialogs/nuxs/BookmarksAnnouncement.tsx
+2
-2
src/components/dialogs/nuxs/BookmarksAnnouncement.tsx
···
65
65
<SparkleIcon fill={t.palette.primary_800} size="sm" />
66
66
<Text
67
67
style={[
68
-
a.font_bold,
68
+
a.font_semi_bold,
69
69
{
70
70
color: t.palette.primary_800,
71
71
},
···
133
133
style={[
134
134
a.text_3xl,
135
135
a.leading_tight,
136
-
a.font_heavy,
136
+
a.font_bold,
137
137
a.text_center,
138
138
{
139
139
fontSize: isWeb ? 28 : 32,
+4
-4
src/components/dialogs/nuxs/InitialVerificationAnnouncement.tsx
+4
-4
src/components/dialogs/nuxs/InitialVerificationAnnouncement.tsx
···
55
55
<SparkleIcon fill={t.palette.primary_700} size="sm" />
56
56
<Text
57
57
style={[
58
-
a.font_bold,
58
+
a.font_semi_bold,
59
59
{
60
60
color: t.palette.primary_700,
61
61
},
···
87
87
</View>
88
88
89
89
<View style={[a.gap_xs]}>
90
-
<Text style={[a.text_2xl, a.font_bold, a.leading_snug]}>
90
+
<Text style={[a.text_2xl, a.font_semi_bold, a.leading_snug]}>
91
91
<Trans>A new form of verification</Trans>
92
92
</Text>
93
93
<Text style={[a.leading_snug, a.text_md]}>
···
123
123
<View style={[a.gap_sm]}>
124
124
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
125
125
<VerifierCheck width={14} />
126
-
<Text style={[a.text_lg, a.font_bold, a.leading_snug]}>
126
+
<Text style={[a.text_lg, a.font_semi_bold, a.leading_snug]}>
127
127
<Trans>Who can verify?</Trans>
128
128
</Text>
129
129
</View>
···
138
138
<Trans>
139
139
Trust emerges from relationships, communities, and shared
140
140
context, so we’re also enabling{' '}
141
-
<Span style={[a.font_bold]}>trusted verifiers</Span>:
141
+
<Span style={[a.font_semi_bold]}>trusted verifiers</Span>:
142
142
organizations that can directly issue verification.
143
143
</Trans>
144
144
</Text>
+1
-1
src/components/dms/ActionsWrapper.web.tsx
+1
-1
src/components/dms/ActionsWrapper.web.tsx
+3
-1
src/components/dms/ChatEmptyPill.tsx
+3
-1
src/components/dms/ChatEmptyPill.tsx
···
89
89
onPress={onPress}
90
90
onPressIn={onPressIn}
91
91
onPressOut={onPressOut}>
92
-
<Text style={[a.font_bold, a.pointer_events_none]} selectable={false}>
92
+
<Text
93
+
style={[a.font_semi_bold, a.pointer_events_none]}
94
+
selectable={false}>
93
95
{prompts[promptIndex]}
94
96
</Text>
95
97
</AnimatedPressable>
+2
-1
src/components/dms/DateDivider.tsx
+2
-1
src/components/dms/DateDivider.tsx
+1
-1
src/components/dms/EmojiPopup.android.tsx
+1
-1
src/components/dms/EmojiPopup.android.tsx
+1
-1
src/components/dms/MessagesListHeader.tsx
+1
-1
src/components/dms/MessagesListHeader.tsx
+1
-1
src/components/dms/NewMessagesPill.tsx
+1
-1
src/components/dms/NewMessagesPill.tsx
+5
-4
src/components/dms/ReportDialog.tsx
+5
-4
src/components/dms/ReportDialog.tsx
···
200
200
</Button>
201
201
202
202
<View style={[a.justify_center, gtMobile ? a.gap_sm : a.gap_xs]}>
203
-
<Text style={[a.text_2xl, a.font_bold]}>{copy.title}</Text>
203
+
<Text style={[a.text_2xl, a.font_semi_bold]}>{copy.title}</Text>
204
204
<Text style={[a.text_md, t.atoms.text_contrast_medium]}>
205
205
<Trans>
206
206
Your report will be sent to the Bluesky Moderation Service
···
213
213
)}
214
214
215
215
<Text style={[a.text_md, t.atoms.text_contrast_medium]}>
216
-
<Text style={[a.font_bold, a.text_md, t.atoms.text_contrast_medium]}>
216
+
<Text
217
+
style={[a.font_semi_bold, a.text_md, t.atoms.text_contrast_medium]}>
217
218
<Trans>Reason:</Trans>
218
219
</Text>{' '}
219
-
<Text style={[a.font_bold, a.text_md]}>{reportOption.title}</Text>
220
+
<Text style={[a.font_semi_bold, a.text_md]}>{reportOption.title}</Text>
220
221
</Text>
221
222
222
223
<Divider />
···
346
347
return (
347
348
<View style={a.gap_2xl}>
348
349
<View style={[a.justify_center, gtMobile ? a.gap_sm : a.gap_xs]}>
349
-
<Text style={[a.text_2xl, a.font_bold]}>
350
+
<Text style={[a.text_2xl, a.font_semi_bold]}>
350
351
<Trans>Report submitted</Trans>
351
352
</Text>
352
353
<Text style={[a.text_md, t.atoms.text_contrast_medium]}>
+2
-1
src/components/forms/FormError.tsx
+2
-1
src/components/forms/FormError.tsx
···
20
20
]}>
21
21
<Warning fill={t.palette.white} size="md" />
22
22
<View style={[a.flex_1]}>
23
-
<Text style={[{color: t.palette.white}, a.font_bold, a.leading_snug]}>
23
+
<Text
24
+
style={[{color: t.palette.white}, a.font_semi_bold, a.leading_snug]}>
24
25
{error}
25
26
</Text>
26
27
</View>
+19
-9
src/components/forms/TextField.tsx
+19
-9
src/components/forms/TextField.tsx
···
15
15
android,
16
16
applyFonts,
17
17
atoms as a,
18
-
ios,
19
18
platform,
20
19
type TextStyleProp,
21
20
tokens,
···
202
201
a.px_xs,
203
202
{
204
203
// paddingVertical doesn't work w/multiline - esb
205
-
lineHeight: a.text_md.fontSize * 1.1875,
204
+
lineHeight: a.text_md.fontSize * 1.2,
206
205
textAlignVertical: rest.multiline ? 'top' : undefined,
207
206
minHeight: rest.multiline ? 80 : undefined,
208
207
minWidth: 0,
208
+
paddingTop: 13,
209
+
paddingBottom: 13,
209
210
},
210
-
ios({paddingTop: 12, paddingBottom: 13}),
211
-
// Needs to be sm on Paper, md on Fabric for some godforsaken reason -sfn
212
-
android(a.py_sm),
213
-
// fix for autofill styles covering border
211
+
android({
212
+
paddingTop: 8,
213
+
paddingBottom: 9,
214
+
}),
215
+
/*
216
+
* Margins are needed here to avoid autofill background overlapping the
217
+
* top and bottom borders - esb
218
+
*/
214
219
web({
215
-
paddingTop: 10,
220
+
paddingTop: 11,
216
221
paddingBottom: 11,
217
222
marginTop: 2,
218
223
marginBottom: 2,
···
262
267
a.absolute,
263
268
a.inset_0,
264
269
a.rounded_sm,
265
-
t.atoms.bg_contrast_25,
270
+
t.atoms.bg_contrast_50,
266
271
{borderColor: 'transparent', borderWidth: 2},
267
272
ctx.hovered ? chromeHover : {},
268
273
ctx.focused ? chromeFocus : {},
···
287
292
return (
288
293
<Text
289
294
nativeID={nativeID}
290
-
style={[a.text_sm, a.font_bold, t.atoms.text_contrast_medium, a.mb_sm]}>
295
+
style={[
296
+
a.text_sm,
297
+
a.font_semi_bold,
298
+
t.atoms.text_contrast_medium,
299
+
a.mb_sm,
300
+
]}>
291
301
{children}
292
302
</Text>
293
303
)
+1
-1
src/components/forms/Toggle.tsx
+1
-1
src/components/forms/Toggle.tsx
+1
-1
src/components/forms/ToggleButton.tsx
+1
-1
src/components/forms/ToggleButton.tsx
+4
-4
src/components/intents/VerifyEmailIntentDialog.tsx
+4
-4
src/components/intents/VerifyEmailIntentDialog.tsx
···
75
75
</View>
76
76
) : status === 'success' ? (
77
77
<View style={[a.gap_sm, isNative && a.pb_xl]}>
78
-
<Text style={[a.font_heavy, a.text_2xl]}>
78
+
<Text style={[a.font_bold, a.text_2xl]}>
79
79
<Trans>Email Verified</Trans>
80
80
</Text>
81
81
<Text style={[a.text_md, a.leading_snug]}>
···
87
87
</View>
88
88
) : status === 'failure' ? (
89
89
<View style={[a.gap_sm]}>
90
-
<Text style={[a.font_heavy, a.text_2xl]}>
90
+
<Text style={[a.font_bold, a.text_2xl]}>
91
91
<Trans>Invalid Verification Code</Trans>
92
92
</Text>
93
93
<Text style={[a.text_md, a.leading_snug]}>
···
100
100
</View>
101
101
) : (
102
102
<View style={[a.gap_sm, isNative && a.pb_xl]}>
103
-
<Text style={[a.font_heavy, a.text_2xl]}>
103
+
<Text style={[a.font_bold, a.text_2xl]}>
104
104
<Trans>Email Resent</Trans>
105
105
</Text>
106
106
<Text style={[a.text_md, a.leading_snug]}>
107
107
<Trans>
108
108
We have sent another verification email to{' '}
109
-
<Text style={[a.text_md, a.font_bold]}>
109
+
<Text style={[a.text_md, a.font_semi_bold]}>
110
110
{currentAccount?.email}
111
111
</Text>
112
112
.
+2
-2
src/components/interstitials/Trending.tsx
+2
-2
src/components/interstitials/Trending.tsx
···
82
82
style={[
83
83
t.atoms.text_contrast_medium,
84
84
a.text_sm,
85
-
a.font_bold,
85
+
a.font_semi_bold,
86
86
]}>
87
87
{' '}
88
88
</Text>
···
101
101
style={[
102
102
t.atoms.text,
103
103
a.text_sm,
104
-
a.font_bold,
104
+
a.font_semi_bold,
105
105
{opacity: 0.7}, // NOTE: we use opacity 0.7 instead of a color to match the color of the home pager tab bar
106
106
]}>
107
107
{topic.topic}
+1
-1
src/components/interstitials/TrendingVideos.tsx
+1
-1
src/components/interstitials/TrendingVideos.tsx
+2
-2
src/components/live/EditLiveDialog.tsx
+2
-2
src/components/live/EditLiveDialog.tsx
···
120
120
style={web({maxWidth: 420})}>
121
121
<View style={[a.gap_lg]}>
122
122
<View style={[a.gap_sm]}>
123
-
<Text style={[a.font_bold, a.text_2xl]}>
123
+
<Text style={[a.font_semi_bold, a.text_2xl]}>
124
124
<Trans>You are Live</Trans>
125
125
</Text>
126
126
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
···
182
182
a.text_sm,
183
183
a.leading_snug,
184
184
a.flex_1,
185
-
a.font_bold,
185
+
a.font_semi_bold,
186
186
{color: t.palette.negative_500},
187
187
]}>
188
188
{liveLinkError ? (
+2
-2
src/components/live/GoLiveDialog.tsx
+2
-2
src/components/live/GoLiveDialog.tsx
···
94
94
style={web({maxWidth: 420})}>
95
95
<View style={[a.gap_xl]}>
96
96
<View style={[a.gap_sm]}>
97
-
<Text style={[a.font_bold, a.text_2xl]}>
97
+
<Text style={[a.font_semi_bold, a.text_2xl]}>
98
98
<Trans>Go Live</Trans>
99
99
</Text>
100
100
<Text style={[a.text_md, a.leading_snug, t.atoms.text_contrast_high]}>
···
153
153
a.text_sm,
154
154
a.leading_snug,
155
155
a.flex_1,
156
-
a.font_bold,
156
+
a.font_semi_bold,
157
157
{color: t.palette.negative_500},
158
158
]}>
159
159
{liveLinkError ? (
+1
-1
src/components/live/LinkPreview.tsx
+1
-1
src/components/live/LinkPreview.tsx
+1
-1
src/components/live/LiveIndicator.tsx
+1
-1
src/components/live/LiveIndicator.tsx
+1
-1
src/components/live/LiveStatusDialog.tsx
+1
-1
src/components/live/LiveStatusDialog.tsx
···
137
137
<View style={[a.w_full, a.justify_center, a.gap_2xs]}>
138
138
<Text
139
139
numberOfLines={3}
140
-
style={[a.leading_snug, a.font_bold, a.text_xl]}>
140
+
style={[a.leading_snug, a.font_semi_bold, a.text_xl]}>
141
141
{embed.external.title || embed.external.uri}
142
142
</Text>
143
143
<View style={[a.flex_row, a.align_center, a.gap_2xs]}>
+4
-4
src/components/moderation/ContentHider.tsx
+4
-4
src/components/moderation/ContentHider.tsx
···
178
178
style={[
179
179
a.flex_1,
180
180
a.text_left,
181
-
a.font_bold,
181
+
a.font_semi_bold,
182
182
a.leading_snug,
183
-
gtMobile && [a.font_bold],
183
+
gtMobile && [a.font_semi_bold],
184
184
t.atoms.text_contrast_medium,
185
185
web({
186
186
marginBottom: 1,
···
192
192
{!modui.noOverride && (
193
193
<Text
194
194
style={[
195
-
a.font_bold,
195
+
a.font_semi_bold,
196
196
a.leading_snug,
197
-
gtMobile && [a.font_bold],
197
+
gtMobile && [a.font_semi_bold],
198
198
t.atoms.text_contrast_high,
199
199
web({
200
200
marginBottom: 1,
+8
-3
src/components/moderation/LabelPreference.tsx
+8
-3
src/components/moderation/LabelPreference.tsx
···
48
48
49
49
return (
50
50
<View style={[a.gap_xs, a.flex_1]}>
51
-
<Text emoji style={[a.font_bold, gtPhone ? a.text_sm : a.text_md]}>
51
+
<Text emoji style={[a.font_semi_bold, gtPhone ? a.text_sm : a.text_md]}>
52
52
{name}
53
53
</Text>
54
54
<Text emoji style={[t.atoms.text_contrast_medium, a.leading_snug]}>
···
241
241
<View style={[a.flex_row, a.gap_xs, a.align_center, a.mt_xs]}>
242
242
<CircleInfo size="sm" fill={t.atoms.text_contrast_high.color} />
243
243
244
-
<Text style={[t.atoms.text_contrast_medium, a.font_bold, a.italic]}>
244
+
<Text
245
+
style={[
246
+
t.atoms.text_contrast_medium,
247
+
a.font_semi_bold,
248
+
a.italic,
249
+
]}>
245
250
{adultDisabled ? (
246
251
<Trans>Adult content is disabled.</Trans>
247
252
) : isGlobalLabel ? (
···
274
279
t.atoms.border_contrast_low,
275
280
a.self_start,
276
281
]}>
277
-
<Text emoji style={[a.font_bold, t.atoms.text_contrast_low]}>
282
+
<Text emoji style={[a.font_semi_bold, t.atoms.text_contrast_low]}>
278
283
{currentPrefLabel}
279
284
</Text>
280
285
</View>
+3
-3
src/components/moderation/LabelsOnMeDialog.tsx
+3
-3
src/components/moderation/LabelsOnMeDialog.tsx
···
67
67
/>
68
68
) : (
69
69
<>
70
-
<Text style={[a.text_2xl, a.font_heavy, a.pb_xs, a.leading_tight]}>
70
+
<Text style={[a.text_2xl, a.font_bold, a.pb_xs, a.leading_tight]}>
71
71
{isAccount ? (
72
72
<Trans>Labels on your account</Trans>
73
73
) : (
···
134
134
]}>
135
135
<View style={[a.p_md, a.gap_sm, a.flex_row]}>
136
136
<View style={[a.flex_1, a.gap_xs]}>
137
-
<Text emoji style={[a.font_bold, a.text_md]}>
137
+
<Text emoji style={[a.font_semi_bold, a.text_md]}>
138
138
{strings.name}
139
139
</Text>
140
140
<Text emoji style={[t.atoms.text_contrast_medium, a.leading_snug]}>
···
264
264
return (
265
265
<>
266
266
<View>
267
-
<Text style={[a.text_2xl, a.font_bold, a.pb_xs, a.leading_tight]}>
267
+
<Text style={[a.text_2xl, a.font_semi_bold, a.pb_xs, a.leading_tight]}>
268
268
<Trans>Appeal "{strings.name}" label</Trans>
269
269
</Text>
270
270
<Text style={[a.text_md, a.leading_snug]}>
+1
-1
src/components/moderation/ModerationDetailsDialog.tsx
+1
-1
src/components/moderation/ModerationDetailsDialog.tsx
···
142
142
paddingBottom: 0,
143
143
}}>
144
144
<View style={[xGutters, a.pb_lg]}>
145
-
<Text emoji style={[t.atoms.text, a.text_2xl, a.font_heavy, a.mb_sm]}>
145
+
<Text emoji style={[t.atoms.text, a.text_2xl, a.font_bold, a.mb_sm]}>
146
146
{name}
147
147
</Text>
148
148
<Text style={[t.atoms.text, a.text_sm, a.leading_snug]}>
+6
-6
src/components/moderation/ReportDialog/index.tsx
+6
-6
src/components/moderation/ReportDialog/index.tsx
···
69
69
const {_} = useLingui()
70
70
return (
71
71
<Dialog.ScrollableInner label={_(msg`Report dialog`)}>
72
-
<Text style={[a.font_heavy, a.text_xl, a.leading_snug, a.pb_xs]}>
72
+
<Text style={[a.font_bold, a.text_xl, a.leading_snug, a.pb_xs]}>
73
73
<Trans>Invalid report subject</Trans>
74
74
</Text>
75
75
<Text style={[a.text_md, a.leading_snug]}>
···
393
393
<Text style={[a.leading_snug, a.pb_xs]}>
394
394
<Trans>
395
395
Your report will be sent to{' '}
396
-
<Text style={[a.font_bold, a.leading_snug]}>
396
+
<Text style={[a.font_semi_bold, a.leading_snug]}>
397
397
{state.selectedLabeler?.creator.displayName}
398
398
</Text>
399
399
.
···
529
529
) : (
530
530
<Text
531
531
style={[
532
-
a.font_heavy,
532
+
a.font_bold,
533
533
a.text_center,
534
534
t.atoms.text,
535
535
{
···
552
552
<Text
553
553
style={[
554
554
a.flex_1,
555
-
a.font_heavy,
555
+
a.font_bold,
556
556
a.text_lg,
557
557
a.leading_snug,
558
558
active ? t.atoms.text : t.atoms.text_contrast_medium,
···
598
598
? [t.atoms.border_contrast_high]
599
599
: [t.atoms.border_contrast_low],
600
600
]}>
601
-
<Text style={[a.text_md, a.font_bold, a.leading_snug]}>
601
+
<Text style={[a.text_md, a.font_semi_bold, a.leading_snug]}>
602
602
{option.title}
603
603
</Text>
604
604
<Text
···
670
670
avatar={labeler.creator.avatar}
671
671
/>
672
672
<View style={[a.flex_1]}>
673
-
<Text style={[a.text_md, a.font_bold, a.leading_snug]}>
673
+
<Text style={[a.text_md, a.font_semi_bold, a.leading_snug]}>
674
674
{title}
675
675
</Text>
676
676
<Text
+8
-2
src/components/moderation/ScreenHider.tsx
+8
-2
src/components/moderation/ScreenHider.tsx
···
86
86
</View>
87
87
</View>
88
88
<Text
89
-
style={[a.text_4xl, a.font_bold, a.text_center, a.mb_md, t.atoms.text]}>
89
+
style={[
90
+
a.text_4xl,
91
+
a.font_semi_bold,
92
+
a.text_center,
93
+
a.mb_md,
94
+
t.atoms.text,
95
+
]}>
90
96
{isNoPwi ? (
91
97
<Trans>Sign-in Required</Trans>
92
98
) : (
···
112
118
<Text
113
119
style={[
114
120
a.text_lg,
115
-
a.font_bold,
121
+
a.font_semi_bold,
116
122
a.leading_snug,
117
123
t.atoms.text,
118
124
a.ml_xs,
+2
-2
src/components/verification/VerificationsDialog.tsx
+2
-2
src/components/verification/VerificationsDialog.tsx
···
79
79
gtMobile ? {width: 'auto', maxWidth: 400, minWidth: 200} : a.w_full,
80
80
]}>
81
81
<View style={[a.gap_sm, a.pb_lg]}>
82
-
<Text style={[a.text_2xl, a.font_bold, a.pr_4xl, a.leading_tight]}>
82
+
<Text style={[a.text_2xl, a.font_semi_bold, a.pr_4xl, a.leading_tight]}>
83
83
{label}
84
84
</Text>
85
85
<Text style={[a.text_md, a.leading_snug]}>
···
206
206
<ProfileCard.AvatarPlaceholder />
207
207
<View style={[a.flex_1]}>
208
208
<Text
209
-
style={[a.text_md, a.font_bold, a.leading_snug]}
209
+
style={[a.text_md, a.font_semi_bold, a.leading_snug]}
210
210
numberOfLines={1}>
211
211
<Trans>Unknown verifier</Trans>
212
212
</Text>
+2
-1
src/components/verification/VerifierDialog.tsx
+2
-1
src/components/verification/VerifierDialog.tsx
+1
-1
src/lib/ThemeContext.tsx
+1
-1
src/lib/ThemeContext.tsx
···
1
1
import {type ReactNode} from 'react'
2
2
import {createContext, useContext} from 'react'
3
3
import {type TextStyle, type ViewStyle} from 'react-native'
4
+
import {type ThemeName} from '@bsky.app/alf'
4
5
5
-
import {type ThemeName} from '#/alf/types'
6
6
import {darkTheme, defaultTheme, dimTheme} from './themes'
7
7
8
8
export type ColorScheme = 'light' | 'dark'
+1
-1
src/lib/api/upload-blob.ts
+1
-1
src/lib/api/upload-blob.ts
-15
src/lib/hooks/useAnimatedScrollHandler_FIXED.ts
-15
src/lib/hooks/useAnimatedScrollHandler_FIXED.ts
···
1
-
// Be warned. This Hook is very buggy unless used in a very constrained way.
2
-
// To use it safely:
3
-
//
4
-
// - DO NOT pass its return value as a prop to any user-defined component.
5
-
// - DO NOT pass its return value to more than a single component.
6
-
//
7
-
// In other words, the only safe way to use it is next to the leaf Reanimated View.
8
-
//
9
-
// Relevant bug reports:
10
-
// - https://github.com/software-mansion/react-native-reanimated/issues/5345
11
-
// - https://github.com/software-mansion/react-native-reanimated/issues/5360
12
-
// - https://github.com/software-mansion/react-native-reanimated/issues/5364
13
-
//
14
-
// It's great when it works though.
15
-
export {useAnimatedScrollHandler} from 'react-native-reanimated'
-44
src/lib/hooks/useAnimatedScrollHandler_FIXED.web.ts
-44
src/lib/hooks/useAnimatedScrollHandler_FIXED.web.ts
···
1
-
import {useEffect, useRef} from 'react'
2
-
import {useAnimatedScrollHandler as useAnimatedScrollHandler_BUGGY} from 'react-native-reanimated'
3
-
4
-
export const useAnimatedScrollHandler: typeof useAnimatedScrollHandler_BUGGY = (
5
-
config,
6
-
deps,
7
-
) => {
8
-
const ref = useRef(config)
9
-
useEffect(() => {
10
-
ref.current = config
11
-
})
12
-
return useAnimatedScrollHandler_BUGGY(
13
-
{
14
-
onBeginDrag(e, ctx) {
15
-
if (typeof ref.current !== 'function' && ref.current.onBeginDrag) {
16
-
ref.current.onBeginDrag(e, ctx)
17
-
}
18
-
},
19
-
onEndDrag(e, ctx) {
20
-
if (typeof ref.current !== 'function' && ref.current.onEndDrag) {
21
-
ref.current.onEndDrag(e, ctx)
22
-
}
23
-
},
24
-
onMomentumBegin(e, ctx) {
25
-
if (typeof ref.current !== 'function' && ref.current.onMomentumBegin) {
26
-
ref.current.onMomentumBegin(e, ctx)
27
-
}
28
-
},
29
-
onMomentumEnd(e, ctx) {
30
-
if (typeof ref.current !== 'function' && ref.current.onMomentumEnd) {
31
-
ref.current.onMomentumEnd(e, ctx)
32
-
}
33
-
},
34
-
onScroll(e, ctx) {
35
-
if (typeof ref.current === 'function') {
36
-
ref.current(e, ctx)
37
-
} else if (ref.current.onScroll) {
38
-
ref.current.onScroll(e, ctx)
39
-
}
40
-
},
41
-
},
42
-
deps,
43
-
)
44
-
}
+1
-1
src/lib/media/manip.ts
+1
-1
src/lib/media/manip.ts
···
10
10
makeDirectoryAsync,
11
11
StorageAccessFramework,
12
12
writeAsStringAsync,
13
-
} from 'expo-file-system'
13
+
} from 'expo-file-system/legacy'
14
14
import {manipulateAsync, SaveFormat} from 'expo-image-manipulator'
15
15
import * as MediaLibrary from 'expo-media-library'
16
16
import * as Sharing from 'expo-sharing'
+1
-1
src/lib/media/manip.web.ts
+1
-1
src/lib/media/manip.web.ts
+1
-1
src/lib/media/picker.e2e.tsx
+1
-1
src/lib/media/picker.e2e.tsx
+1
-1
src/lib/media/video/upload.ts
+1
-1
src/lib/media/video/upload.ts
···
1
-
import {createUploadTask, FileSystemUploadType} from 'expo-file-system'
1
+
import {createUploadTask, FileSystemUploadType} from 'expo-file-system/legacy'
2
2
import {type AppBskyVideoDefs, type BskyAgent} from '@atproto/api'
3
3
import {type I18n} from '@lingui/core'
4
4
import {msg} from '@lingui/macro'
+1
-1
src/lib/media/video/util.ts
+1
-1
src/lib/media/video/util.ts
+9
-2
src/lib/strings/helpers.ts
+9
-2
src/lib/strings/helpers.ts
···
1
1
import {useCallback, useMemo} from 'react'
2
+
import {type RichText} from '@atproto/api'
2
3
import Graphemer from 'graphemer'
4
+
5
+
import {shortenLinks} from './rich-text-manip'
3
6
4
7
export function enforceLen(
5
8
str: string,
···
45
48
text,
46
49
maxCount,
47
50
}: {
48
-
text: string
51
+
text: string | RichText
49
52
maxCount: number
50
53
}) {
51
54
const splitter = useMemo(() => new Graphemer(), [])
52
55
53
56
return useMemo(() => {
54
-
return splitter.countGraphemes(text) > maxCount
57
+
if (typeof text === 'string') {
58
+
return splitter.countGraphemes(text) > maxCount
59
+
} else {
60
+
return shortenLinks(text).graphemeLength > maxCount
61
+
}
55
62
}, [splitter, maxCount, text])
56
63
}
57
64
+27
-27
src/lib/themes.ts
+27
-27
src/lib/themes.ts
···
101
101
'2xl-medium': {
102
102
fontSize: 18,
103
103
letterSpacing: tokens.TRACKING,
104
-
fontWeight: fontWeight.bold,
104
+
fontWeight: fontWeight.semiBold,
105
105
},
106
106
'2xl-bold': {
107
107
fontSize: 18,
108
108
letterSpacing: tokens.TRACKING,
109
-
fontWeight: fontWeight.bold,
109
+
fontWeight: fontWeight.semiBold,
110
110
},
111
111
'2xl-heavy': {
112
112
fontSize: 18,
113
113
letterSpacing: tokens.TRACKING,
114
-
fontWeight: fontWeight.heavy,
114
+
fontWeight: fontWeight.bold,
115
115
},
116
116
'xl-thin': {
117
117
fontSize: 17,
···
126
126
'xl-medium': {
127
127
fontSize: 17,
128
128
letterSpacing: tokens.TRACKING,
129
-
fontWeight: fontWeight.bold,
129
+
fontWeight: fontWeight.semiBold,
130
130
},
131
131
'xl-bold': {
132
132
fontSize: 17,
133
133
letterSpacing: tokens.TRACKING,
134
-
fontWeight: fontWeight.bold,
134
+
fontWeight: fontWeight.semiBold,
135
135
},
136
136
'xl-heavy': {
137
137
fontSize: 17,
138
138
letterSpacing: tokens.TRACKING,
139
-
fontWeight: fontWeight.heavy,
139
+
fontWeight: fontWeight.bold,
140
140
},
141
141
'lg-thin': {
142
142
fontSize: 16,
···
151
151
'lg-medium': {
152
152
fontSize: 16,
153
153
letterSpacing: tokens.TRACKING,
154
-
fontWeight: fontWeight.bold,
154
+
fontWeight: fontWeight.semiBold,
155
155
},
156
156
'lg-bold': {
157
157
fontSize: 16,
158
158
letterSpacing: tokens.TRACKING,
159
-
fontWeight: fontWeight.bold,
159
+
fontWeight: fontWeight.semiBold,
160
160
},
161
161
'lg-heavy': {
162
162
fontSize: 16,
163
163
letterSpacing: tokens.TRACKING,
164
-
fontWeight: fontWeight.heavy,
164
+
fontWeight: fontWeight.bold,
165
165
},
166
166
'md-thin': {
167
167
fontSize: 15,
···
176
176
'md-medium': {
177
177
fontSize: 15,
178
178
letterSpacing: tokens.TRACKING,
179
-
fontWeight: fontWeight.bold,
179
+
fontWeight: fontWeight.semiBold,
180
180
},
181
181
'md-bold': {
182
182
fontSize: 15,
183
183
letterSpacing: tokens.TRACKING,
184
-
fontWeight: fontWeight.bold,
184
+
fontWeight: fontWeight.semiBold,
185
185
},
186
186
'md-heavy': {
187
187
fontSize: 15,
188
188
letterSpacing: tokens.TRACKING,
189
-
fontWeight: fontWeight.heavy,
189
+
fontWeight: fontWeight.bold,
190
190
},
191
191
'sm-thin': {
192
192
fontSize: 14,
···
201
201
'sm-medium': {
202
202
fontSize: 14,
203
203
letterSpacing: tokens.TRACKING,
204
-
fontWeight: fontWeight.bold,
204
+
fontWeight: fontWeight.semiBold,
205
205
},
206
206
'sm-bold': {
207
207
fontSize: 14,
208
208
letterSpacing: tokens.TRACKING,
209
-
fontWeight: fontWeight.bold,
209
+
fontWeight: fontWeight.semiBold,
210
210
},
211
211
'sm-heavy': {
212
212
fontSize: 14,
213
213
letterSpacing: tokens.TRACKING,
214
-
fontWeight: fontWeight.heavy,
214
+
fontWeight: fontWeight.bold,
215
215
},
216
216
'xs-thin': {
217
217
fontSize: 13,
···
226
226
'xs-medium': {
227
227
fontSize: 13,
228
228
letterSpacing: tokens.TRACKING,
229
-
fontWeight: fontWeight.bold,
229
+
fontWeight: fontWeight.semiBold,
230
230
},
231
231
'xs-bold': {
232
232
fontSize: 13,
233
233
letterSpacing: tokens.TRACKING,
234
-
fontWeight: fontWeight.bold,
234
+
fontWeight: fontWeight.semiBold,
235
235
},
236
236
'xs-heavy': {
237
237
fontSize: 13,
238
238
letterSpacing: tokens.TRACKING,
239
-
fontWeight: fontWeight.heavy,
239
+
fontWeight: fontWeight.bold,
240
240
},
241
241
242
242
'title-2xl': {
243
243
fontSize: 34,
244
244
letterSpacing: tokens.TRACKING,
245
-
fontWeight: fontWeight.bold,
245
+
fontWeight: fontWeight.semiBold,
246
246
},
247
247
'title-xl': {
248
248
fontSize: 28,
249
249
letterSpacing: tokens.TRACKING,
250
-
fontWeight: fontWeight.bold,
250
+
fontWeight: fontWeight.semiBold,
251
251
},
252
252
'title-lg': {
253
253
fontSize: 22,
254
-
fontWeight: fontWeight.bold,
254
+
fontWeight: fontWeight.semiBold,
255
255
},
256
256
title: {
257
-
fontWeight: fontWeight.bold,
257
+
fontWeight: fontWeight.semiBold,
258
258
fontSize: 20,
259
259
letterSpacing: tokens.TRACKING,
260
260
},
261
261
'title-sm': {
262
-
fontWeight: fontWeight.bold,
262
+
fontWeight: fontWeight.semiBold,
263
263
fontSize: 17,
264
264
letterSpacing: tokens.TRACKING,
265
265
},
···
274
274
fontWeight: fontWeight.normal,
275
275
},
276
276
'button-lg': {
277
-
fontWeight: fontWeight.bold,
277
+
fontWeight: fontWeight.semiBold,
278
278
fontSize: 18,
279
279
letterSpacing: tokens.TRACKING,
280
280
},
281
281
button: {
282
-
fontWeight: fontWeight.bold,
282
+
fontWeight: fontWeight.semiBold,
283
283
fontSize: 14,
284
284
letterSpacing: tokens.TRACKING,
285
285
},
···
296
296
palette: {
297
297
...defaultTheme.palette,
298
298
default: {
299
-
background: darkPalette.black,
299
+
background: darkPalette.contrast_0,
300
300
backgroundLight: darkPalette.contrast_25,
301
301
text: darkPalette.white,
302
302
textLight: darkPalette.contrast_600,
···
345
345
...darkTheme.palette,
346
346
default: {
347
347
...darkTheme.palette.default,
348
-
background: dimPalette.black,
348
+
background: dimPalette.contrast_0,
349
349
backgroundLight: dimPalette.contrast_25,
350
350
text: dimPalette.white,
351
351
textLight: dimPalette.contrast_700,
+393
-383
src/locale/locales/en/messages.po
+393
-383
src/locale/locales/en/messages.po
···
95
95
msgid "{0, plural, one {following} other {following}}"
96
96
msgstr ""
97
97
98
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:479
98
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:480
99
99
msgid "{0, plural, one {like} other {likes}}"
100
100
msgstr ""
101
101
···
103
103
msgid "{0, plural, one {post} other {posts}}"
104
104
msgstr ""
105
105
106
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:463
106
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:464
107
107
msgid "{0, plural, one {quote} other {quotes}}"
108
108
msgstr ""
109
109
110
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:445
110
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:446
111
111
msgid "{0, plural, one {repost} other {reposts}}"
112
112
msgstr ""
113
113
114
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:490
114
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:491
115
115
msgid "{0, plural, one {save} other {saves}}"
116
116
msgstr ""
117
117
···
120
120
msgstr ""
121
121
122
122
#. Number of users (always at least 25) who have joined Bluesky using a specific starter pack
123
-
#: src/screens/StarterPack/StarterPackScreen.tsx:490
123
+
#: src/screens/StarterPack/StarterPackScreen.tsx:494
124
124
msgid "{0, plural, other {# people have}} used this starter pack!"
125
125
msgstr ""
126
126
···
129
129
msgstr ""
130
130
131
131
#. Pattern: {wordValue} in tags
132
-
#: src/components/dialogs/MutedWords.tsx:475
132
+
#: src/components/dialogs/MutedWords.tsx:481
133
133
msgid "{0} <0>in <1>tags</1></0>"
134
134
msgstr ""
135
135
136
136
#. Pattern: {wordValue} in text, tags
137
-
#: src/components/dialogs/MutedWords.tsx:465
137
+
#: src/components/dialogs/MutedWords.tsx:470
138
138
msgid "{0} <0>in <1>text & tags</1></0>"
139
139
msgstr ""
140
140
···
150
150
msgid "{0} is not a valid URL"
151
151
msgstr ""
152
152
153
-
#: src/screens/Signup/StepHandle/index.tsx:189
153
+
#: src/screens/Signup/StepHandle/index.tsx:188
154
154
msgid "{0} is not available"
155
155
msgstr ""
156
156
157
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:223
157
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:232
158
158
msgid "{0} joined this week"
159
159
msgstr ""
160
160
···
216
216
msgid "{0}s"
217
217
msgstr ""
218
218
219
-
#: src/view/shell/desktop/LeftNav.tsx:455
219
+
#: src/view/shell/desktop/LeftNav.tsx:454
220
220
msgid "{count, plural, one {# unread item} other {# unread items}}"
221
221
msgstr ""
222
222
223
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:385
223
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:383
224
224
msgid "{DESCRIPTION_MAX_GRAPHEMES, plural, other {Description is too long. The maximum number of characters is #.}}"
225
225
msgstr ""
226
226
227
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:334
227
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:332
228
228
msgid "{DISPLAY_NAME_MAX_GRAPHEMES, plural, other {Display name is too long. The maximum number of characters is #.}}"
229
229
msgstr ""
230
230
···
505
505
msgid "⚠Invalid Handle"
506
506
msgstr ""
507
507
508
-
#: src/components/dialogs/MutedWords.tsx:193
508
+
#: src/components/dialogs/MutedWords.tsx:198
509
509
msgid "24 hours"
510
510
msgstr ""
511
511
···
513
513
msgid "2FA Confirmation"
514
514
msgstr ""
515
515
516
-
#: src/components/dialogs/MutedWords.tsx:232
516
+
#: src/components/dialogs/MutedWords.tsx:237
517
517
msgid "30 days"
518
518
msgstr ""
519
519
520
-
#: src/components/dialogs/MutedWords.tsx:217
520
+
#: src/components/dialogs/MutedWords.tsx:222
521
521
msgid "7 days"
522
522
msgstr ""
523
523
···
613
613
msgid "Account Muted by List"
614
614
msgstr ""
615
615
616
-
#: src/screens/Settings/Settings.tsx:624
616
+
#: src/screens/Settings/Settings.tsx:626
617
617
msgid "Account options"
618
618
msgstr ""
619
619
620
-
#: src/screens/Settings/Settings.tsx:660
620
+
#: src/screens/Settings/Settings.tsx:662
621
621
msgid "Account removed from quick access"
622
622
msgstr ""
623
623
···
638
638
msgid "Account unmuted"
639
639
msgstr ""
640
640
641
-
#: src/components/verification/VerifierDialog.tsx:96
641
+
#: src/components/verification/VerifierDialog.tsx:97
642
642
msgid "Accounts with a scalloped blue check mark <0><1/></0> can verify others. These trusted verifiers are selected by Bluesky."
643
643
msgstr ""
644
644
···
653
653
msgstr ""
654
654
655
655
#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:169
656
-
#: src/components/dialogs/MutedWords.tsx:328
656
+
#: src/components/dialogs/MutedWords.tsx:333
657
657
#: src/components/dialogs/StarterPackDialog.tsx:371
658
658
#: src/components/dialogs/StarterPackDialog.tsx:377
659
659
#: src/view/com/modals/UserAddRemoveLists.tsx:284
660
660
msgid "Add"
661
661
msgstr ""
662
662
663
-
#: src/screens/StarterPack/Wizard/index.tsx:608
663
+
#: src/screens/StarterPack/Wizard/index.tsx:613
664
664
msgid "Add {0} more to continue"
665
665
msgstr ""
666
666
···
689
689
690
690
#: src/view/com/composer/GifAltText.tsx:76
691
691
#: src/view/com/composer/GifAltText.tsx:144
692
-
#: src/view/com/composer/GifAltText.tsx:210
692
+
#: src/view/com/composer/GifAltText.tsx:211
693
693
#: src/view/com/composer/photos/Gallery.tsx:170
694
694
#: src/view/com/composer/photos/Gallery.tsx:217
695
695
#: src/view/com/composer/photos/ImageAltTextDialog.tsx:88
···
701
701
msgid "Add alt text (optional)"
702
702
msgstr ""
703
703
704
-
#: src/screens/Settings/Settings.tsx:564
705
-
#: src/screens/Settings/Settings.tsx:567
704
+
#: src/screens/Settings/Settings.tsx:566
705
+
#: src/screens/Settings/Settings.tsx:569
706
706
#: src/view/shell/desktop/LeftNav.tsx:262
707
707
#: src/view/shell/desktop/LeftNav.tsx:266
708
708
msgid "Add another account"
···
740
740
msgid "Add more details (optional)"
741
741
msgstr ""
742
742
743
-
#: src/components/dialogs/MutedWords.tsx:321
743
+
#: src/components/dialogs/MutedWords.tsx:326
744
744
msgid "Add mute word with chosen settings"
745
745
msgstr ""
746
746
747
-
#: src/components/dialogs/MutedWords.tsx:112
747
+
#: src/components/dialogs/MutedWords.tsx:117
748
748
msgid "Add muted words and tags"
749
749
msgstr ""
750
750
···
828
828
msgid "Adult Content"
829
829
msgstr ""
830
830
831
-
#: src/screens/Moderation/index.tsx:423
831
+
#: src/screens/Moderation/index.tsx:429
832
832
msgid "Adult content can only be enabled via the Web at <0>bsky.app</0>."
833
833
msgstr ""
834
834
835
-
#: src/components/moderation/LabelPreference.tsx:246
835
+
#: src/components/moderation/LabelPreference.tsx:251
836
836
msgid "Adult content is disabled."
837
837
msgstr ""
838
838
···
841
841
msgid "Adult Content labels"
842
842
msgstr ""
843
843
844
-
#: src/screens/Moderation/index.tsx:473
844
+
#: src/screens/Moderation/index.tsx:479
845
845
msgid "Advanced"
846
846
msgstr ""
847
847
···
991
991
msgid "An error occurred while generating your starter pack. Want to try again?"
992
992
msgstr ""
993
993
994
-
#: src/components/Post/Embed/VideoEmbed/index.tsx:157
994
+
#: src/components/Post/Embed/VideoEmbed/index.tsx:160
995
995
msgid "An error occurred while loading the video. Please try again later."
996
996
msgstr ""
997
997
998
-
#: src/components/Post/Embed/VideoEmbed/index.web.tsx:232
998
+
#: src/components/Post/Embed/VideoEmbed/index.web.tsx:244
999
999
msgid "An error occurred while loading the video. Please try again."
1000
1000
msgstr ""
1001
1001
···
1145
1145
msgstr ""
1146
1146
1147
1147
#: src/components/moderation/LabelsOnMeDialog.tsx:258
1148
-
#: src/screens/Messages/components/ChatDisabled.tsx:98
1148
+
#: src/screens/Messages/components/ChatDisabled.tsx:103
1149
1149
msgctxt "toast"
1150
1150
msgid "Appeal submitted"
1151
1151
msgstr ""
···
1159
1159
msgid "Appeal Suspension"
1160
1160
msgstr ""
1161
1161
1162
-
#: src/screens/Messages/components/ChatDisabled.tsx:52
1163
-
#: src/screens/Messages/components/ChatDisabled.tsx:54
1164
-
#: src/screens/Messages/components/ChatDisabled.tsx:106
1165
-
#: src/screens/Messages/components/ChatDisabled.tsx:108
1162
+
#: src/screens/Messages/components/ChatDisabled.tsx:57
1163
+
#: src/screens/Messages/components/ChatDisabled.tsx:59
1164
+
#: src/screens/Messages/components/ChatDisabled.tsx:111
1165
+
#: src/screens/Messages/components/ChatDisabled.tsx:113
1166
1166
msgid "Appeal this decision"
1167
1167
msgstr ""
1168
1168
···
1183
1183
msgid "Apply Pull Request"
1184
1184
msgstr ""
1185
1185
1186
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:659
1186
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:660
1187
1187
msgid "Archived from {0}"
1188
1188
msgstr ""
1189
1189
1190
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:628
1191
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:667
1190
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:629
1191
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:668
1192
1192
msgid "Archived post"
1193
1193
msgstr ""
1194
1194
···
1200
1200
msgid "Are you sure you want to delete this message? The message will be deleted for you, but not for the other participant."
1201
1201
msgstr ""
1202
1202
1203
-
#: src/screens/StarterPack/StarterPackScreen.tsx:657
1203
+
#: src/screens/StarterPack/StarterPackScreen.tsx:661
1204
1204
msgid "Are you sure you want to delete this starter pack?"
1205
1205
msgstr ""
1206
1206
1207
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:81
1207
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:90
1208
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:80
1208
1209
msgid "Are you sure you want to discard your changes?"
1209
1210
msgstr ""
1210
1211
···
1228
1229
msgid "Are you sure you'd like to discard this post?"
1229
1230
msgstr ""
1230
1231
1231
-
#: src/components/dialogs/MutedWords.tsx:433
1232
+
#: src/components/dialogs/MutedWords.tsx:438
1232
1233
msgid "Are you sure?"
1233
1234
msgstr ""
1234
1235
···
1287
1288
#: src/screens/Login/LoginForm.tsx:341
1288
1289
#: src/screens/Login/SetNewPasswordForm.tsx:168
1289
1290
#: src/screens/Login/SetNewPasswordForm.tsx:174
1290
-
#: src/screens/Messages/components/ChatDisabled.tsx:140
1291
-
#: src/screens/Messages/components/ChatDisabled.tsx:141
1291
+
#: src/screens/Messages/components/ChatDisabled.tsx:145
1292
+
#: src/screens/Messages/components/ChatDisabled.tsx:146
1292
1293
#: src/screens/Profile/Header/Shell.tsx:158
1293
1294
#: src/screens/Settings/components/ChangePasswordDialog.tsx:271
1294
1295
#: src/screens/Settings/components/ChangePasswordDialog.tsx:280
···
1297
1298
msgid "Back"
1298
1299
msgstr ""
1299
1300
1300
-
#: src/screens/Messages/Inbox.tsx:259
1301
+
#: src/screens/Messages/Inbox.tsx:261
1301
1302
msgid "Back to Chats"
1302
1303
msgstr ""
1303
1304
1304
-
#: src/view/screens/Lists.tsx:53
1305
-
#: src/view/screens/ModerationModlists.tsx:53
1305
+
#: src/view/screens/Lists.tsx:42
1306
+
#: src/view/screens/ModerationModlists.tsx:42
1306
1307
msgid "Before creating a list, you must first verify your email."
1307
1308
msgstr ""
1308
1309
···
1326
1327
1327
1328
#: src/components/dms/dialogs/NewChatDialog.tsx:54
1328
1329
#: src/components/dms/MessageProfileButton.tsx:58
1329
-
#: src/screens/Messages/ChatList.tsx:369
1330
+
#: src/screens/Messages/ChatList.tsx:371
1330
1331
#: src/screens/Messages/Conversation.tsx:228
1331
1332
msgid "Before you can message another user, you must first verify your email."
1332
1333
msgstr ""
···
1375
1376
msgid "Block accounts"
1376
1377
msgstr ""
1377
1378
1378
-
#: src/components/dms/ReportDialog.tsx:322
1379
+
#: src/components/dms/ReportDialog.tsx:323
1379
1380
msgid "Block and Delete"
1380
1381
msgstr ""
1381
1382
1382
-
#: src/components/dms/ReportDialog.tsx:357
1383
+
#: src/components/dms/ReportDialog.tsx:358
1383
1384
msgid "Block and/or delete this conversation"
1384
1385
msgstr ""
1385
1386
···
1395
1396
msgid "Block these accounts?"
1396
1397
msgstr ""
1397
1398
1398
-
#: src/components/dms/ReportDialog.tsx:361
1399
-
#: src/components/dms/ReportDialog.tsx:364
1399
+
#: src/components/dms/ReportDialog.tsx:362
1400
+
#: src/components/dms/ReportDialog.tsx:365
1400
1401
msgid "Block user"
1401
1402
msgstr ""
1402
1403
1403
-
#: src/components/dms/ReportDialog.tsx:328
1404
+
#: src/components/dms/ReportDialog.tsx:329
1404
1405
msgid "Block User"
1405
1406
msgstr ""
1406
1407
···
1408
1409
msgid "Blocked"
1409
1410
msgstr ""
1410
1411
1411
-
#: src/screens/Moderation/index.tsx:301
1412
+
#: src/screens/Moderation/index.tsx:306
1412
1413
msgid "Blocked accounts"
1413
1414
msgstr ""
1414
1415
···
1438
1439
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
1439
1440
msgstr ""
1440
1441
1441
-
#: src/view/com/auth/SplashScreen.web.tsx:175
1442
+
#: src/view/com/auth/SplashScreen.web.tsx:179
1442
1443
msgid "Blog"
1443
1444
msgstr ""
1444
1445
···
1551
1552
msgid "Browse topic {displayName}"
1552
1553
msgstr ""
1553
1554
1554
-
#: src/view/com/auth/SplashScreen.web.tsx:170
1555
+
#: src/view/com/auth/SplashScreen.web.tsx:174
1555
1556
msgid "Business"
1556
1557
msgstr ""
1557
1558
···
1603
1604
#: src/components/dialogs/EmailDialog/screens/Manage2FA/Enable.tsx:131
1604
1605
#: src/components/dialogs/InAppBrowserConsent.tsx:98
1605
1606
#: src/components/dialogs/InAppBrowserConsent.tsx:104
1607
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:274
1608
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:282
1606
1609
#: src/components/live/GoLiveDialog.tsx:247
1607
1610
#: src/components/live/GoLiveDialog.tsx:253
1608
1611
#: src/components/Menu/index.tsx:350
···
1610
1613
#: src/components/Prompt.tsx:144
1611
1614
#: src/components/Prompt.tsx:146
1612
1615
#: src/screens/Deactivated.tsx:158
1613
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:220
1614
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:228
1616
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:218
1617
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:226
1615
1618
#: src/screens/Search/Shell.tsx:349
1616
1619
#: src/screens/Settings/AppIconSettings/index.tsx:44
1617
-
#: src/screens/Settings/AppIconSettings/index.tsx:225
1620
+
#: src/screens/Settings/AppIconSettings/index.tsx:230
1618
1621
#: src/screens/Settings/components/ChangeHandleDialog.tsx:78
1619
1622
#: src/screens/Settings/components/ChangeHandleDialog.tsx:85
1620
1623
#: src/screens/Settings/components/ChangePasswordDialog.tsx:246
···
1644
1647
msgid "Cancel account deletion"
1645
1648
msgstr ""
1646
1649
1647
-
#: src/view/com/modals/CropImage.web.tsx:94
1648
-
msgid "Cancel image crop"
1649
-
msgstr ""
1650
-
1651
1650
#: src/components/PostControls/RepostButton.tsx:204
1652
1651
msgid "Cancel quote post"
1653
1652
msgstr ""
···
1685
1684
msgstr ""
1686
1685
1687
1686
#: src/screens/Settings/AppIconSettings/index.tsx:38
1688
-
#: src/screens/Settings/AppIconSettings/index.tsx:221
1687
+
#: src/screens/Settings/AppIconSettings/index.tsx:226
1689
1688
msgid "Change app icon to \"{0}\""
1690
1689
msgstr ""
1691
1690
···
1723
1722
msgid "Change your password"
1724
1723
msgstr ""
1725
1724
1726
-
#: src/screens/Settings/AppIconSettings/index.tsx:216
1725
+
#: src/screens/Settings/AppIconSettings/index.tsx:221
1727
1726
msgid "Changes app icon"
1728
1727
msgstr ""
1729
1728
···
1778
1777
#: src/Navigation.tsx:554
1779
1778
#: src/screens/Messages/ChatList.tsx:81
1780
1779
#: src/screens/Messages/ChatList.tsx:85
1781
-
#: src/screens/Messages/ChatList.tsx:378
1780
+
#: src/screens/Messages/ChatList.tsx:380
1782
1781
msgid "Chat settings"
1783
1782
msgstr ""
1784
1783
···
1792
1791
msgstr ""
1793
1792
1794
1793
#: src/screens/Messages/ChatList.tsx:76
1795
-
#: src/screens/Messages/ChatList.tsx:394
1796
-
#: src/screens/Messages/ChatList.tsx:418
1794
+
#: src/screens/Messages/ChatList.tsx:396
1795
+
#: src/screens/Messages/ChatList.tsx:420
1797
1796
msgid "Chats"
1798
1797
msgstr ""
1799
1798
···
1846
1845
msgid "Choose your own timeline! Feeds built by the community help you find content you love."
1847
1846
msgstr ""
1848
1847
1849
-
#: src/screens/Signup/StepInfo/index.tsx:245
1848
+
#: src/screens/Signup/StepInfo/index.tsx:244
1850
1849
msgid "Choose your password"
1851
1850
msgstr ""
1852
1851
1853
-
#: src/screens/Signup/index.tsx:175
1852
+
#: src/screens/Signup/index.tsx:181
1854
1853
msgid "Choose your username"
1855
1854
msgstr ""
1856
1855
···
1925
1924
#: src/components/dialogs/SearchablePeopleList.tsx:295
1926
1925
#: src/components/dialogs/StarterPackDialog.tsx:179
1927
1926
#: src/components/dms/EmojiPopup.android.tsx:58
1928
-
#: src/components/dms/ReportDialog.tsx:386
1929
-
#: src/components/dms/ReportDialog.tsx:395
1927
+
#: src/components/dms/ReportDialog.tsx:387
1928
+
#: src/components/dms/ReportDialog.tsx:396
1930
1929
#: src/components/live/EditLiveDialog.tsx:229
1931
1930
#: src/components/live/EditLiveDialog.tsx:235
1932
1931
#: src/components/NewskieDialog.tsx:167
···
1936
1935
#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:118
1937
1936
#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:124
1938
1937
#: src/components/verification/VerificationsDialog.tsx:144
1939
-
#: src/components/verification/VerifierDialog.tsx:149
1938
+
#: src/components/verification/VerifierDialog.tsx:150
1940
1939
#: src/components/WhoCanReply.tsx:202
1941
1940
#: src/components/WhoCanReply.tsx:209
1942
1941
#: src/screens/Settings/components/ChangePasswordDialog.tsx:286
1943
1942
#: src/screens/Settings/components/ChangePasswordDialog.tsx:291
1944
1943
#: src/view/com/composer/select-language/PostLanguageSelectDialog.tsx:313
1945
-
#: src/view/com/feeds/MissingFeed.tsx:208
1946
-
#: src/view/com/feeds/MissingFeed.tsx:215
1944
+
#: src/view/com/feeds/MissingFeed.tsx:210
1945
+
#: src/view/com/feeds/MissingFeed.tsx:217
1947
1946
msgid "Close"
1948
1947
msgstr ""
1949
1948
···
1964
1963
#: src/components/ageAssurance/AgeAssuranceInitDialog.tsx:230
1965
1964
#: src/components/dialogs/GifSelect.tsx:263
1966
1965
#: src/components/verification/VerificationsDialog.tsx:136
1967
-
#: src/components/verification/VerifierDialog.tsx:141
1966
+
#: src/components/verification/VerifierDialog.tsx:142
1968
1967
#: src/view/com/composer/select-language/PostLanguageSelectDialog.tsx:182
1969
1968
#: src/view/com/composer/select-language/PostLanguageSelectDialog.tsx:276
1970
1969
#: src/view/com/composer/select-language/PostLanguageSelectDialog.tsx:308
···
2061
2060
msgid "Complete onboarding and start using your account"
2062
2061
msgstr ""
2063
2062
2064
-
#: src/screens/Signup/index.tsx:177
2063
+
#: src/screens/Signup/index.tsx:183
2065
2064
msgid "Complete the challenge"
2066
2065
msgstr ""
2067
2066
2068
-
#: src/view/shell/desktop/LeftNav.tsx:572
2067
+
#: src/view/shell/desktop/LeftNav.tsx:573
2069
2068
msgid "Compose new post"
2070
2069
msgstr ""
2071
2070
···
2085
2084
msgid "Configure content filtering setting for category: {name}"
2086
2085
msgstr ""
2087
2086
2088
-
#: src/components/moderation/LabelPreference.tsx:248
2087
+
#: src/components/moderation/LabelPreference.tsx:253
2089
2088
msgid "Configured in <0>moderation settings</0>."
2090
2089
msgstr ""
2091
2090
···
2104
2103
msgid "Confirm delete account"
2105
2104
msgstr ""
2106
2105
2107
-
#: src/screens/Moderation/index.tsx:349
2106
+
#: src/screens/Moderation/index.tsx:354
2108
2107
msgid "Confirm your age:"
2109
2108
msgstr ""
2110
2109
2111
-
#: src/screens/Moderation/index.tsx:340
2110
+
#: src/screens/Moderation/index.tsx:345
2112
2111
msgid "Confirm your birthdate"
2113
2112
msgstr ""
2114
2113
2115
2114
#: src/components/ageAssurance/AgeAssuranceAccountCard.tsx:89
2116
-
#: src/components/BlockedGeoOverlay.tsx:141
2117
-
#: src/components/BlockedGeoOverlay.tsx:147
2115
+
#: src/components/BlockedGeoOverlay.tsx:140
2116
+
#: src/components/BlockedGeoOverlay.tsx:146
2118
2117
#: src/components/dialogs/DeviceLocationRequestDialog.tsx:45
2119
2118
#: src/components/dialogs/DeviceLocationRequestDialog.tsx:112
2120
2119
msgid "Confirm your location"
2121
2120
msgstr ""
2122
2121
2123
-
#: src/components/BlockedGeoOverlay.tsx:135
2122
+
#: src/components/BlockedGeoOverlay.tsx:134
2124
2123
msgid "Confirm your location with GPS. Your location data is not tracked and does not leave your device."
2125
2124
msgstr ""
2126
2125
···
2149
2148
msgstr ""
2150
2149
2151
2150
#: src/components/ageAssurance/AgeAssuranceInitDialog.tsx:155
2152
-
#: src/screens/Signup/index.tsx:212
2153
-
#: src/screens/Signup/index.tsx:215
2151
+
#: src/screens/Signup/index.tsx:222
2152
+
#: src/screens/Signup/index.tsx:225
2154
2153
msgid "Contact support"
2155
2154
msgstr ""
2156
2155
···
2175
2174
msgid "Content Blocked"
2176
2175
msgstr ""
2177
2176
2178
-
#: src/screens/Moderation/index.tsx:336
2179
-
#: src/screens/Moderation/index.tsx:370
2177
+
#: src/screens/Moderation/index.tsx:341
2178
+
#: src/screens/Moderation/index.tsx:375
2180
2179
msgid "Content filters"
2181
2180
msgstr ""
2182
2181
···
2195
2194
msgstr ""
2196
2195
2197
2196
#: src/components/moderation/ModerationDetailsDialog.tsx:50
2198
-
#: src/components/moderation/ScreenHider.tsx:93
2197
+
#: src/components/moderation/ScreenHider.tsx:99
2199
2198
#: src/lib/moderation/useGlobalLabelStrings.ts:22
2200
2199
#: src/lib/moderation/useModerationCauseDescription.ts:45
2201
2200
msgid "Content Warning"
···
2240
2239
msgid "Conversation"
2241
2240
msgstr ""
2242
2241
2243
-
#: src/components/dms/ReportDialog.tsx:323
2244
-
#: src/components/dms/ReportDialog.tsx:326
2242
+
#: src/components/dms/ReportDialog.tsx:324
2243
+
#: src/components/dms/ReportDialog.tsx:327
2245
2244
msgctxt "toast"
2246
2245
msgid "Conversation deleted"
2247
2246
msgstr ""
···
2315
2314
msgstr ""
2316
2315
2317
2316
#: src/components/StarterPack/ShareDialog.tsx:113
2318
-
#: src/screens/StarterPack/StarterPackScreen.tsx:617
2317
+
#: src/screens/StarterPack/StarterPackScreen.tsx:621
2319
2318
msgid "Copy link"
2320
2319
msgstr ""
2321
2320
···
2323
2322
msgid "Copy Link"
2324
2323
msgstr ""
2325
2324
2326
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:172
2327
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:176
2325
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:165
2326
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:169
2328
2327
msgid "Copy link to list"
2329
2328
msgstr ""
2330
2329
···
2340
2339
msgid "Copy link to profile"
2341
2340
msgstr ""
2342
2341
2343
-
#: src/screens/StarterPack/StarterPackScreen.tsx:610
2342
+
#: src/screens/StarterPack/StarterPackScreen.tsx:614
2344
2343
msgid "Copy link to starter pack"
2345
2344
msgstr ""
2346
2345
···
2387
2386
msgstr ""
2388
2387
2389
2388
#: src/components/dms/LeaveConvoPrompt.tsx:35
2390
-
#: src/components/dms/ReportDialog.tsx:315
2389
+
#: src/components/dms/ReportDialog.tsx:316
2391
2390
msgid "Could not leave chat"
2392
2391
msgstr ""
2393
2392
···
2454
2453
msgid "Create account"
2455
2454
msgstr ""
2456
2455
2457
-
#: src/screens/Signup/index.tsx:122
2456
+
#: src/screens/Signup/index.tsx:124
2458
2457
msgid "Create Account"
2459
2458
msgstr ""
2460
2459
···
2464
2463
msgid "Create an account"
2465
2464
msgstr ""
2466
2465
2467
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:303
2468
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:310
2466
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:312
2467
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:319
2469
2468
msgid "Create an account without using this starter pack"
2470
2469
msgstr ""
2471
2470
···
2477
2476
msgid "Create another"
2478
2477
msgstr ""
2479
2478
2480
-
#: src/view/com/auth/SplashScreen.tsx:47
2481
-
#: src/view/com/auth/SplashScreen.web.tsx:109
2479
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:350
2480
+
msgid "Create moderation list"
2481
+
msgstr ""
2482
+
2483
+
#: src/view/com/auth/SplashScreen.tsx:64
2484
+
#: src/view/com/auth/SplashScreen.web.tsx:113
2482
2485
msgid "Create new account"
2483
2486
msgstr ""
2484
2487
···
2490
2493
#: src/components/dialogs/StarterPackDialog.tsx:107
2491
2494
#: src/components/dialogs/StarterPackDialog.tsx:196
2492
2495
msgid "Create starter pack"
2496
+
msgstr ""
2497
+
2498
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:349
2499
+
msgid "Create user list"
2493
2500
msgstr ""
2494
2501
2495
2502
#: src/screens/Settings/AppPasswords.tsx:174
···
2513
2520
msgid "Customize who can interact with this post."
2514
2521
msgstr ""
2515
2522
2516
-
#: src/screens/Onboarding/Layout.tsx:61
2523
+
#: src/screens/Onboarding/Layout.tsx:60
2517
2524
msgid "Customizes your Bluesky experience"
2518
2525
msgstr ""
2519
2526
···
2537
2544
msgid "Dark theme"
2538
2545
msgstr ""
2539
2546
2540
-
#: src/screens/Signup/StepInfo/index.tsx:273
2547
+
#: src/screens/Signup/StepInfo/index.tsx:272
2541
2548
msgid "Date of birth"
2542
2549
msgstr ""
2543
2550
···
2566
2573
#: src/components/dms/MessageContextMenu.tsx:185
2567
2574
#: src/components/PostControls/PostMenu/PostMenuItems.tsx:704
2568
2575
#: src/screens/Messages/components/ChatStatusInfo.tsx:55
2569
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:285
2576
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:280
2570
2577
#: src/screens/Settings/AppPasswords.tsx:212
2571
-
#: src/screens/StarterPack/StarterPackScreen.tsx:599
2572
-
#: src/screens/StarterPack/StarterPackScreen.tsx:688
2573
-
#: src/screens/StarterPack/StarterPackScreen.tsx:760
2578
+
#: src/screens/StarterPack/StarterPackScreen.tsx:603
2579
+
#: src/screens/StarterPack/StarterPackScreen.tsx:692
2580
+
#: src/screens/StarterPack/StarterPackScreen.tsx:764
2574
2581
msgid "Delete"
2575
2582
msgstr ""
2576
2583
···
2600
2607
msgid "Delete chat declaration record"
2601
2608
msgstr ""
2602
2609
2603
-
#: src/components/dms/ReportDialog.tsx:367
2604
-
#: src/components/dms/ReportDialog.tsx:370
2610
+
#: src/components/dms/ReportDialog.tsx:368
2611
+
#: src/components/dms/ReportDialog.tsx:371
2605
2612
#: src/screens/Messages/components/RequestButtons.tsx:136
2606
2613
#: src/screens/Messages/components/RequestButtons.tsx:139
2607
2614
msgid "Delete conversation"
2608
2615
msgstr ""
2609
2616
2610
-
#: src/components/dms/ReportDialog.tsx:325
2617
+
#: src/components/dms/ReportDialog.tsx:326
2611
2618
msgid "Delete Conversation"
2612
2619
msgstr ""
2613
2620
···
2615
2622
msgid "Delete for me"
2616
2623
msgstr ""
2617
2624
2618
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:211
2619
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:214
2625
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:204
2626
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:207
2620
2627
msgid "Delete list"
2621
2628
msgstr ""
2622
2629
···
2638
2645
msgid "Delete post"
2639
2646
msgstr ""
2640
2647
2641
-
#: src/screens/StarterPack/StarterPackScreen.tsx:593
2642
-
#: src/screens/StarterPack/StarterPackScreen.tsx:751
2648
+
#: src/screens/StarterPack/StarterPackScreen.tsx:597
2649
+
#: src/screens/StarterPack/StarterPackScreen.tsx:755
2643
2650
msgid "Delete starter pack"
2644
2651
msgstr ""
2645
2652
2646
-
#: src/screens/StarterPack/StarterPackScreen.tsx:654
2653
+
#: src/screens/StarterPack/StarterPackScreen.tsx:658
2647
2654
msgid "Delete starter pack?"
2648
2655
msgstr ""
2649
2656
2650
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:280
2657
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:275
2651
2658
msgid "Delete this list?"
2652
2659
msgstr ""
2653
2660
···
2741
2748
#: src/lib/moderation/useLabelBehaviorDescription.ts:71
2742
2749
#: src/screens/Messages/Settings.tsx:144
2743
2750
#: src/screens/Messages/Settings.tsx:147
2744
-
#: src/screens/Moderation/index.tsx:413
2751
+
#: src/screens/Moderation/index.tsx:419
2745
2752
msgid "Disabled"
2746
2753
msgstr ""
2747
2754
2748
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:83
2755
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:92
2756
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:82
2749
2757
#: src/view/com/composer/Composer.tsx:762
2750
2758
#: src/view/com/composer/Composer.tsx:957
2751
2759
msgid "Discard"
2752
2760
msgstr ""
2753
2761
2754
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:80
2762
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:89
2763
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:79
2755
2764
msgid "Discard changes?"
2756
2765
msgstr ""
2757
2766
···
2778
2787
msgid "Discover New Feeds"
2779
2788
msgstr ""
2780
2789
2781
-
#: src/components/Dialog/index.tsx:370
2790
+
#: src/components/Dialog/index.tsx:373
2782
2791
msgid "Dismiss"
2783
2792
msgstr ""
2784
2793
···
2803
2812
msgid "Display larger alt text badges"
2804
2813
msgstr ""
2805
2814
2806
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:315
2807
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:321
2808
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:372
2815
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:313
2816
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:319
2809
2817
msgid "Display name"
2810
2818
msgstr ""
2811
2819
···
2818
2826
msgid "DNS Panel"
2819
2827
msgstr ""
2820
2828
2821
-
#: src/components/dialogs/MutedWords.tsx:302
2829
+
#: src/components/dialogs/MutedWords.tsx:307
2822
2830
msgid "Do not apply this mute word to users you follow"
2823
2831
msgstr ""
2824
2832
···
2849
2857
2850
2858
#: src/components/dialogs/BirthDateSettings.tsx:149
2851
2859
#: src/components/dialogs/BirthDateSettings.tsx:156
2852
-
#: src/components/dms/ReportDialog.tsx:319
2860
+
#: src/components/dms/ReportDialog.tsx:320
2853
2861
#: src/components/forms/DateField/index.tsx:103
2854
2862
#: src/components/forms/DateField/index.tsx:109
2855
2863
#: src/components/Select/index.tsx:185
···
2885
2893
msgid "Double tap or long press the message to add a reaction"
2886
2894
msgstr ""
2887
2895
2888
-
#: src/components/Dialog/index.tsx:371
2896
+
#: src/components/Dialog/index.tsx:374
2889
2897
msgid "Double tap to close the dialog"
2890
2898
msgstr ""
2891
2899
···
2893
2901
msgid "Double tap to like"
2894
2902
msgstr ""
2895
2903
2896
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:321
2904
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:330
2897
2905
msgid "Download Bluesky"
2898
2906
msgstr ""
2899
2907
···
2906
2914
msgid "Drop to add images"
2907
2915
msgstr ""
2908
2916
2909
-
#: src/components/dialogs/MutedWords.tsx:153
2917
+
#: src/components/dialogs/MutedWords.tsx:158
2910
2918
msgid "Duration:"
2911
2919
msgstr ""
2912
2920
···
2914
2922
msgid "e.g. alice"
2915
2923
msgstr ""
2916
2924
2917
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:322
2925
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:320
2918
2926
msgid "e.g. Alice Lastname"
2919
2927
msgstr ""
2920
2928
···
2947
2955
msgstr ""
2948
2956
2949
2957
#: src/screens/Settings/AccountSettings.tsx:145
2950
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:249
2951
-
#: src/screens/StarterPack/StarterPackScreen.tsx:588
2958
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:252
2959
+
#: src/screens/StarterPack/StarterPackScreen.tsx:592
2952
2960
#: src/screens/StarterPack/Wizard/index.tsx:339
2953
2961
#: src/screens/StarterPack/Wizard/index.tsx:344
2954
2962
msgid "Edit"
···
2985
2993
msgid "Edit interests"
2986
2994
msgstr ""
2987
2995
2988
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:203
2989
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:206
2996
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:196
2997
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:199
2990
2998
msgid "Edit list details"
2991
2999
msgstr ""
2992
3000
···
3004
3012
msgid "Edit My Feeds"
3005
3013
msgstr ""
3006
3014
3007
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:240
3015
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:243
3008
3016
msgid "Edit notifications from {0}"
3009
3017
msgstr ""
3010
3018
···
3017
3025
msgid "Edit post interaction settings"
3018
3026
msgstr ""
3019
3027
3020
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:270
3021
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:276
3028
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:268
3029
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:274
3022
3030
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
3023
3031
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:190
3024
3032
msgid "Edit profile"
···
3029
3037
msgid "Edit Profile"
3030
3038
msgstr ""
3031
3039
3032
-
#: src/screens/StarterPack/StarterPackScreen.tsx:580
3040
+
#: src/screens/StarterPack/StarterPackScreen.tsx:584
3033
3041
msgid "Edit starter pack"
3034
3042
msgstr ""
3035
3043
···
3055
3063
msgstr ""
3056
3064
3057
3065
#: src/screens/Settings/AccountSettings.tsx:66
3058
-
#: src/screens/Signup/StepInfo/index.tsx:197
3066
+
#: src/screens/Signup/StepInfo/index.tsx:196
3059
3067
msgid "Email"
3060
3068
msgstr ""
3061
3069
···
3117
3125
msgid "Enable {0} only"
3118
3126
msgstr ""
3119
3127
3120
-
#: src/screens/Moderation/index.tsx:400
3128
+
#: src/screens/Moderation/index.tsx:406
3121
3129
msgid "Enable adult content"
3122
3130
msgstr ""
3123
3131
···
3163
3171
3164
3172
#: src/screens/Messages/Settings.tsx:135
3165
3173
#: src/screens/Messages/Settings.tsx:138
3166
-
#: src/screens/Moderation/index.tsx:411
3174
+
#: src/screens/Moderation/index.tsx:417
3167
3175
msgid "Enabled"
3168
3176
msgstr ""
3169
3177
···
3179
3187
msgid "Enter a password"
3180
3188
msgstr ""
3181
3189
3182
-
#: src/components/dialogs/MutedWords.tsx:127
3183
-
#: src/components/dialogs/MutedWords.tsx:128
3190
+
#: src/components/dialogs/MutedWords.tsx:132
3191
+
#: src/components/dialogs/MutedWords.tsx:133
3184
3192
msgid "Enter a word or tag"
3185
3193
msgstr ""
3186
3194
···
3211
3219
msgstr ""
3212
3220
3213
3221
#: src/screens/Login/ForgotPasswordForm.tsx:99
3214
-
#: src/screens/Signup/StepInfo/index.tsx:217
3222
+
#: src/screens/Signup/StepInfo/index.tsx:216
3215
3223
msgid "Enter your email address"
3216
3224
msgstr ""
3217
3225
···
3244
3252
msgid "Error loading preference"
3245
3253
msgstr ""
3246
3254
3247
-
#: src/view/com/feeds/MissingFeed.tsx:198
3255
+
#: src/view/com/feeds/MissingFeed.tsx:200
3248
3256
msgid "Error message"
3249
3257
msgstr ""
3250
3258
···
3252
3260
msgid "Error occurred while saving file"
3253
3261
msgstr ""
3254
3262
3255
-
#: src/screens/Signup/StepCaptcha/index.tsx:124
3263
+
#: src/screens/Signup/StepCaptcha/index.tsx:123
3256
3264
msgid "Error receiving captcha response."
3257
3265
msgstr ""
3258
3266
···
3298
3306
msgid "Excessive or unwanted messages"
3299
3307
msgstr ""
3300
3308
3301
-
#: src/components/dialogs/MutedWords.tsx:311
3309
+
#: src/components/dialogs/MutedWords.tsx:316
3302
3310
msgid "Exclude users you follow"
3303
3311
msgstr ""
3304
3312
3305
-
#: src/components/dialogs/MutedWords.tsx:514
3313
+
#: src/components/dialogs/MutedWords.tsx:521
3306
3314
msgid "Excludes users you follow"
3307
3315
msgstr ""
3308
3316
···
3312
3320
3313
3321
#: src/view/com/modals/DeleteAccount.tsx:301
3314
3322
msgid "Exits account deletion process"
3315
-
msgstr ""
3316
-
3317
-
#: src/view/com/modals/CropImage.web.tsx:95
3318
-
msgid "Exits image cropping process"
3319
3323
msgstr ""
3320
3324
3321
3325
#: src/view/com/lightbox/Lightbox.web.tsx:111
···
3350
3354
msgid "Experimental"
3351
3355
msgstr ""
3352
3356
3353
-
#: src/components/dialogs/MutedWords.tsx:500
3357
+
#: src/components/dialogs/MutedWords.tsx:507
3354
3358
msgid "Expired"
3355
3359
msgstr ""
3356
3360
3357
-
#: src/components/dialogs/MutedWords.tsx:502
3361
+
#: src/components/dialogs/MutedWords.tsx:509
3358
3362
msgid "Expires {0}"
3359
3363
msgstr ""
3360
3364
···
3466
3470
msgid "Failed to delete post, please try again"
3467
3471
msgstr ""
3468
3472
3469
-
#: src/screens/StarterPack/StarterPackScreen.tsx:722
3473
+
#: src/screens/StarterPack/StarterPackScreen.tsx:726
3470
3474
msgid "Failed to delete starter pack"
3471
3475
msgstr ""
3472
3476
···
3474
3478
msgid "Failed to follow all suggested accounts, please try again"
3475
3479
msgstr ""
3476
3480
3477
-
#: src/screens/Messages/ChatList.tsx:281
3478
-
#: src/screens/Messages/Inbox.tsx:208
3481
+
#: src/screens/Messages/ChatList.tsx:282
3482
+
#: src/screens/Messages/Inbox.tsx:209
3479
3483
msgid "Failed to load conversations"
3480
3484
msgstr ""
3481
3485
···
3523
3527
msgid "Failed to load suggested follows"
3524
3528
msgstr ""
3525
3529
3526
-
#: src/screens/Messages/Inbox.tsx:316
3527
-
#: src/screens/Messages/Inbox.tsx:339
3530
+
#: src/screens/Messages/Inbox.tsx:318
3531
+
#: src/screens/Messages/Inbox.tsx:341
3528
3532
msgid "Failed to mark all requests as read"
3529
3533
msgstr ""
3530
3534
···
3572
3576
msgstr ""
3573
3577
3574
3578
#: src/components/moderation/LabelsOnMeDialog.tsx:254
3575
-
#: src/screens/Messages/components/ChatDisabled.tsx:94
3579
+
#: src/screens/Messages/components/ChatDisabled.tsx:99
3576
3580
msgid "Failed to submit appeal, please try again."
3577
3581
msgstr ""
3578
3582
···
3580
3584
msgid "Failed to toggle thread mute, please try again"
3581
3585
msgstr ""
3582
3586
3583
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:111
3587
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:104
3584
3588
msgid "Failed to unpin list"
3585
3589
msgstr ""
3586
3590
···
3633
3637
msgid "Feed creator"
3634
3638
msgstr ""
3635
3639
3636
-
#: src/view/com/feeds/MissingFeed.tsx:188
3640
+
#: src/view/com/feeds/MissingFeed.tsx:189
3637
3641
msgid "Feed identifier"
3638
3642
msgstr ""
3639
3643
···
3936
3940
msgid "For You"
3937
3941
msgstr ""
3938
3942
3939
-
#: src/components/dialogs/MutedWords.tsx:178
3943
+
#: src/components/dialogs/MutedWords.tsx:183
3940
3944
msgid "Forever"
3941
3945
msgstr ""
3942
3946
···
4095
4099
#: src/components/dms/ReportDialog.tsx:197
4096
4100
#: src/components/ReportDialog/SelectReportOptionView.tsx:81
4097
4101
#: src/components/ReportDialog/SubmitView.tsx:110
4098
-
#: src/screens/Onboarding/Layout.tsx:121
4099
-
#: src/screens/Onboarding/Layout.tsx:214
4102
+
#: src/screens/Onboarding/Layout.tsx:120
4103
+
#: src/screens/Onboarding/Layout.tsx:213
4100
4104
#: src/screens/Signup/BackNextButtons.tsx:35
4101
4105
msgid "Go back to previous step"
4102
4106
msgstr ""
···
4212
4216
msgid "Have a code? <0>Click here.</0>"
4213
4217
msgstr ""
4214
4218
4215
-
#: src/screens/Signup/index.tsx:210
4219
+
#: src/screens/Signup/index.tsx:220
4216
4220
msgid "Having trouble?"
4217
4221
msgstr ""
4218
4222
···
4238
4242
msgstr ""
4239
4243
4240
4244
#: src/components/VideoPostCard.tsx:178
4241
-
#: src/components/VideoPostCard.tsx:460
4245
+
#: src/components/VideoPostCard.tsx:462
4242
4246
msgid "Hidden"
4243
4247
msgstr ""
4244
4248
···
4410
4414
msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
4411
4415
msgstr ""
4412
4416
4413
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:282
4417
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:277
4414
4418
msgid "If you delete this list, you won't be able to recover it."
4415
4419
msgstr ""
4416
4420
···
4434
4438
msgid "If you want to change your password, we will send you a code to verify that this is your account."
4435
4439
msgstr ""
4436
4440
4437
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:154
4441
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:157
4438
4442
msgid "If you want to restrict who can receive notifications for your account's activity, you can change this in <0>Settings → Privacy and Security</0>."
4439
4443
msgstr ""
4440
4444
···
4516
4520
msgstr ""
4517
4521
4518
4522
#. Title message shown in chat requests inbox when it's empty
4519
-
#: src/screens/Messages/Inbox.tsx:229
4523
+
#: src/screens/Messages/Inbox.tsx:231
4520
4524
msgid "Inbox zero!"
4521
4525
msgstr ""
4522
4526
···
4548
4552
msgid "Interaction limited"
4549
4553
msgstr ""
4550
4554
4551
-
#: src/screens/Moderation/index.tsx:241
4555
+
#: src/screens/Moderation/index.tsx:246
4552
4556
msgid "Interaction settings"
4553
4557
msgstr ""
4554
4558
···
4585
4589
msgid "Invite code"
4586
4590
msgstr ""
4587
4591
4588
-
#: src/screens/Signup/state.ts:340
4592
+
#: src/screens/Signup/state.ts:342
4589
4593
msgid "Invite code not accepted. Check that you input it correctly and try again."
4590
4594
msgstr ""
4591
4595
···
4613
4617
msgid "Is your location not accurate? <0>Tap here to confirm your location.</0>"
4614
4618
msgstr ""
4615
4619
4616
-
#: src/screens/Signup/StepInfo/index.tsx:293
4620
+
#: src/screens/Signup/StepInfo/index.tsx:292
4617
4621
msgid "It's correct"
4618
4622
msgstr ""
4619
4623
···
4630
4634
msgstr ""
4631
4635
4632
4636
#. Link to a page with job openings at Bluesky
4633
-
#: src/view/com/auth/SplashScreen.web.tsx:180
4637
+
#: src/view/com/auth/SplashScreen.web.tsx:184
4634
4638
msgid "Jobs"
4635
4639
msgstr ""
4636
4640
4637
4641
#: src/components/LoggedOutCTA.tsx:54
4638
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:205
4639
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:211
4642
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:210
4643
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:216
4640
4644
#: src/screens/StarterPack/StarterPackScreen.tsx:466
4641
4645
#: src/screens/StarterPack/StarterPackScreen.tsx:477
4642
4646
msgid "Join Bluesky"
4643
4647
msgstr ""
4644
4648
4645
-
#: src/components/StarterPack/QrCode.tsx:68
4649
+
#: src/components/StarterPack/QrCode.tsx:73
4646
4650
#: src/view/shell/NavSignupCard.tsx:40
4647
4651
msgid "Join the conversation"
4648
4652
msgstr ""
···
4726
4730
msgstr ""
4727
4731
4728
4732
#: src/components/verification/VerificationsDialog.tsx:170
4729
-
#: src/components/verification/VerifierDialog.tsx:137
4733
+
#: src/components/verification/VerifierDialog.tsx:138
4730
4734
#: src/screens/Moderation/VerificationSettings.tsx:48
4731
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:351
4735
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:349
4732
4736
#: src/screens/Settings/components/ChangeHandleDialog.tsx:213
4733
4737
#: src/screens/Settings/components/ChangeHandleDialog.tsx:277
4734
4738
msgctxt "english-only-resource"
4735
4739
msgid "Learn more"
4736
4740
msgstr ""
4737
4741
4738
-
#: src/components/moderation/ScreenHider.tsx:140
4742
+
#: src/components/moderation/ScreenHider.tsx:146
4739
4743
msgid "Learn More"
4740
4744
msgstr ""
4741
4745
···
4743
4747
msgid "Learn more about age assurance"
4744
4748
msgstr ""
4745
4749
4746
-
#: src/view/com/auth/SplashScreen.web.tsx:168
4750
+
#: src/view/com/auth/SplashScreen.web.tsx:172
4747
4751
msgid "Learn more about Bluesky"
4748
4752
msgstr ""
4749
4753
···
4765
4769
msgstr ""
4766
4770
4767
4771
#: src/components/moderation/PostHider.tsx:110
4768
-
#: src/components/moderation/ScreenHider.tsx:127
4772
+
#: src/components/moderation/ScreenHider.tsx:133
4769
4773
msgid "Learn more about this warning"
4770
4774
msgstr ""
4771
4775
4772
4776
#: src/components/verification/VerificationsDialog.tsx:151
4773
-
#: src/components/verification/VerifierDialog.tsx:118
4777
+
#: src/components/verification/VerifierDialog.tsx:119
4774
4778
msgctxt "english-only-resource"
4775
4779
msgid "Learn more about verification on Bluesky"
4776
4780
msgstr ""
···
4881
4885
4882
4886
#: src/screens/Post/PostLikedBy.tsx:41
4883
4887
#: src/screens/Profile/ProfileLabelerLikedBy.tsx:32
4884
-
#: src/view/screens/ProfileFeedLikedBy.tsx:33
4888
+
#: src/view/screens/ProfileFeedLikedBy.tsx:34
4885
4889
msgid "Liked By"
4886
4890
msgstr ""
4887
4891
···
4914
4918
msgid "Likes of your reposts notifications"
4915
4919
msgstr ""
4916
4920
4917
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:472
4921
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:473
4918
4922
msgid "Likes on this post"
4919
4923
msgstr ""
4920
4924
···
4953
4957
msgid "List creator"
4954
4958
msgstr ""
4955
4959
4956
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:97
4960
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:90
4957
4961
msgctxt "toast"
4958
4962
msgid "List deleted"
4959
4963
msgstr ""
4960
4964
4965
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:421
4966
+
msgid "List description"
4967
+
msgstr ""
4968
+
4969
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:441
4970
+
msgid "List description is too long. {DESCRIPTION_MAX_GRAPHEMES, plural, other {The maximum number of characters is #.}}"
4971
+
msgstr ""
4972
+
4961
4973
#: src/screens/List/ListHiddenScreen.tsx:129
4962
4974
msgid "List has been hidden"
4963
4975
msgstr ""
···
4966
4978
msgid "List Hidden"
4967
4979
msgstr ""
4968
4980
4981
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:413
4982
+
msgid "List must have a name."
4983
+
msgstr ""
4984
+
4969
4985
#: src/screens/ProfileList/components/SubscribeMenu.tsx:31
4970
4986
msgctxt "toast"
4971
4987
msgid "List muted"
···
4976
4992
msgstr ""
4977
4993
4978
4994
#: src/screens/ProfileList/components/Header.tsx:116
4979
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:138
4995
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:131
4980
4996
msgctxt "toast"
4981
4997
msgid "List unblocked"
4982
4998
msgstr ""
4983
4999
4984
5000
#: src/screens/ProfileList/components/Header.tsx:98
4985
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:120
5001
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:113
4986
5002
msgctxt "toast"
4987
5003
msgid "List unmuted"
4988
5004
msgstr ""
4989
5005
4990
5006
#: src/Navigation.tsx:172
4991
-
#: src/view/screens/Lists.tsx:65
5007
+
#: src/view/screens/Lists.tsx:67
4992
5008
#: src/view/screens/Profile.tsx:224
4993
5009
#: src/view/screens/Profile.tsx:232
4994
5010
#: src/view/shell/desktop/LeftNav.tsx:755
···
5094
5110
msgid "Manage saved feeds"
5095
5111
msgstr ""
5096
5112
5097
-
#: src/screens/Moderation/index.tsx:311
5113
+
#: src/screens/Moderation/index.tsx:316
5098
5114
msgid "Manage verification settings"
5099
5115
msgstr ""
5100
5116
···
5102
5118
msgid "Manage your muted words and tags"
5103
5119
msgstr ""
5104
5120
5105
-
#: src/screens/Messages/Inbox.tsx:326
5106
-
#: src/screens/Messages/Inbox.tsx:345
5107
-
#: src/screens/Messages/Inbox.tsx:352
5121
+
#: src/screens/Messages/Inbox.tsx:328
5122
+
#: src/screens/Messages/Inbox.tsx:347
5123
+
#: src/screens/Messages/Inbox.tsx:354
5108
5124
msgid "Mark all as read"
5109
5125
msgstr ""
5110
5126
···
5113
5129
msgid "Mark as read"
5114
5130
msgstr ""
5115
5131
5116
-
#: src/screens/Messages/Inbox.tsx:313
5117
-
#: src/screens/Messages/Inbox.tsx:336
5132
+
#: src/screens/Messages/Inbox.tsx:315
5133
+
#: src/screens/Messages/Inbox.tsx:338
5118
5134
msgid "Marked all as read"
5119
5135
msgstr ""
5120
5136
···
5246
5262
msgid "Moderation list updated"
5247
5263
msgstr ""
5248
5264
5249
-
#: src/screens/Moderation/index.tsx:271
5265
+
#: src/screens/Moderation/index.tsx:276
5250
5266
msgid "Moderation lists"
5251
5267
msgstr ""
5252
5268
5253
5269
#: src/Navigation.tsx:182
5254
-
#: src/view/screens/ModerationModlists.tsx:65
5270
+
#: src/view/screens/ModerationModlists.tsx:67
5255
5271
msgid "Moderation Lists"
5256
5272
msgstr ""
5257
5273
5258
-
#: src/components/moderation/LabelPreference.tsx:251
5274
+
#: src/components/moderation/LabelPreference.tsx:256
5259
5275
msgid "moderation settings"
5260
5276
msgstr ""
5261
5277
···
5263
5279
msgid "Moderation states"
5264
5280
msgstr ""
5265
5281
5266
-
#: src/screens/Moderation/index.tsx:225
5282
+
#: src/screens/Moderation/index.tsx:230
5267
5283
msgid "Moderation tools"
5268
5284
msgstr ""
5269
5285
···
5282
5298
msgid "More languages..."
5283
5299
msgstr ""
5284
5300
5285
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:156
5301
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:149
5286
5302
#: src/view/com/profile/ProfileMenu.tsx:223
5287
5303
#: src/view/com/profile/ProfileMenu.tsx:229
5288
5304
msgid "More options"
···
5332
5348
msgid "Mute conversation"
5333
5349
msgstr ""
5334
5350
5335
-
#: src/components/dialogs/MutedWords.tsx:253
5351
+
#: src/components/dialogs/MutedWords.tsx:258
5336
5352
msgid "Mute in:"
5337
5353
msgstr ""
5338
5354
···
5344
5360
msgid "Mute these accounts?"
5345
5361
msgstr ""
5346
5362
5347
-
#: src/components/dialogs/MutedWords.tsx:185
5363
+
#: src/components/dialogs/MutedWords.tsx:190
5348
5364
msgid "Mute this word for 24 hours"
5349
5365
msgstr ""
5350
5366
5351
-
#: src/components/dialogs/MutedWords.tsx:224
5367
+
#: src/components/dialogs/MutedWords.tsx:229
5352
5368
msgid "Mute this word for 30 days"
5353
5369
msgstr ""
5354
5370
5355
-
#: src/components/dialogs/MutedWords.tsx:209
5371
+
#: src/components/dialogs/MutedWords.tsx:214
5356
5372
msgid "Mute this word for 7 days"
5357
5373
msgstr ""
5358
5374
5359
-
#: src/components/dialogs/MutedWords.tsx:258
5375
+
#: src/components/dialogs/MutedWords.tsx:263
5360
5376
msgid "Mute this word in post text and tags"
5361
5377
msgstr ""
5362
5378
5363
-
#: src/components/dialogs/MutedWords.tsx:274
5379
+
#: src/components/dialogs/MutedWords.tsx:279
5364
5380
msgid "Mute this word in tags only"
5365
5381
msgstr ""
5366
5382
5367
-
#: src/components/dialogs/MutedWords.tsx:170
5383
+
#: src/components/dialogs/MutedWords.tsx:175
5368
5384
msgid "Mute this word until you unmute it"
5369
5385
msgstr ""
5370
5386
···
5378
5394
msgid "Mute words & tags"
5379
5395
msgstr ""
5380
5396
5381
-
#: src/screens/Moderation/index.tsx:286
5397
+
#: src/screens/Moderation/index.tsx:291
5382
5398
msgid "Muted accounts"
5383
5399
msgstr ""
5384
5400
···
5395
5411
msgid "Muted by \"{0}\""
5396
5412
msgstr ""
5397
5413
5398
-
#: src/screens/Moderation/index.tsx:256
5414
+
#: src/screens/Moderation/index.tsx:261
5399
5415
msgid "Muted words & tags"
5400
5416
msgstr ""
5401
5417
···
5475
5491
msgid "New"
5476
5492
msgstr ""
5477
5493
5478
-
#: src/view/screens/Lists.tsx:77
5479
-
#: src/view/screens/ModerationModlists.tsx:77
5494
+
#: src/view/screens/Lists.tsx:79
5495
+
#: src/view/screens/ModerationModlists.tsx:79
5480
5496
msgctxt "action"
5481
5497
msgid "New"
5482
5498
msgstr ""
···
5490
5506
msgstr ""
5491
5507
5492
5508
#: src/components/dms/dialogs/NewChatDialog.tsx:67
5493
-
#: src/screens/Messages/ChatList.tsx:401
5494
-
#: src/screens/Messages/ChatList.tsx:408
5509
+
#: src/screens/Messages/ChatList.tsx:403
5510
+
#: src/screens/Messages/ChatList.tsx:410
5495
5511
msgid "New chat"
5496
5512
msgstr ""
5497
5513
···
5521
5537
msgid "New handle"
5522
5538
msgstr ""
5523
5539
5524
-
#: src/view/screens/Lists.tsx:69
5525
-
#: src/view/screens/ModerationModlists.tsx:69
5540
+
#: src/view/screens/Lists.tsx:71
5541
+
#: src/view/screens/ModerationModlists.tsx:71
5526
5542
msgid "New list"
5527
5543
msgstr ""
5528
5544
···
5554
5570
msgid "New post"
5555
5571
msgstr ""
5556
5572
5557
-
#: src/view/shell/desktop/LeftNav.tsx:580
5573
+
#: src/view/shell/desktop/LeftNav.tsx:581
5558
5574
msgctxt "action"
5559
5575
msgid "New Post"
5560
5576
msgstr ""
···
5640
5656
msgid "No featured GIFs found. There may be an issue with Tenor."
5641
5657
msgstr ""
5642
5658
5643
-
#: src/screens/StarterPack/Wizard/StepFeeds.tsx:119
5659
+
#: src/screens/StarterPack/Wizard/StepFeeds.tsx:122
5644
5660
msgid "No feeds found. Try searching for something else."
5645
5661
msgstr ""
5646
5662
···
5756
5772
msgid "Nobody has reposted this yet. Maybe you should be the first!"
5757
5773
msgstr ""
5758
5774
5759
-
#: src/screens/StarterPack/Wizard/StepProfiles.tsx:104
5775
+
#: src/screens/StarterPack/Wizard/StepProfiles.tsx:107
5760
5776
msgid "Nobody was found. Try searching for someone else."
5761
5777
msgstr ""
5762
5778
···
5764
5780
msgid "Non-sexual Nudity"
5765
5781
msgstr ""
5766
5782
5767
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:217
5783
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:220
5768
5784
msgid "None"
5769
5785
msgstr ""
5770
5786
···
5777
5793
msgid "Not Found"
5778
5794
msgstr ""
5779
5795
5780
-
#: src/components/BlockedGeoOverlay.tsx:126
5796
+
#: src/components/BlockedGeoOverlay.tsx:125
5781
5797
msgid "Not in Mississippi?"
5782
5798
msgstr ""
5783
5799
···
5793
5809
msgid "Note: This post is only visible to logged-in users."
5794
5810
msgstr ""
5795
5811
5796
-
#: src/screens/Messages/ChatList.tsx:302
5812
+
#: src/screens/Messages/ChatList.tsx:304
5797
5813
msgid "Nothing here"
5798
5814
msgstr ""
5799
5815
···
5879
5895
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:349
5880
5896
#: src/screens/Search/modules/ExploreInterestsCard.tsx:48
5881
5897
#: src/screens/Settings/AppIconSettings/index.tsx:48
5882
-
#: src/screens/Settings/AppIconSettings/index.tsx:229
5898
+
#: src/screens/Settings/AppIconSettings/index.tsx:234
5883
5899
msgid "OK"
5884
5900
msgstr ""
5885
5901
5886
5902
#: src/screens/Login/PasswordUpdatedForm.tsx:37
5887
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:689
5903
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:695
5888
5904
msgid "Okay"
5889
5905
msgstr ""
5890
5906
···
5895
5911
msgid "Oldest replies first"
5896
5912
msgstr ""
5897
5913
5898
-
#: src/components/StarterPack/QrCode.tsx:82
5914
+
#: src/components/StarterPack/QrCode.tsx:87
5899
5915
msgid "on<0><1/><2><3/></2></0>"
5900
5916
msgstr ""
5901
5917
···
6005
6021
msgid "Open moderation debug page"
6006
6022
msgstr ""
6007
6023
6008
-
#: src/screens/Moderation/index.tsx:252
6024
+
#: src/screens/Moderation/index.tsx:257
6009
6025
msgid "Open muted words and tags settings"
6010
6026
msgstr ""
6011
6027
···
6026
6042
msgid "Open share menu"
6027
6043
msgstr ""
6028
6044
6029
-
#: src/screens/StarterPack/StarterPackScreen.tsx:566
6045
+
#: src/screens/StarterPack/StarterPackScreen.tsx:570
6030
6046
msgid "Open starter pack menu"
6031
6047
msgstr ""
6032
6048
···
6080
6096
msgid "Opens emoji picker"
6081
6097
msgstr ""
6082
6098
6083
-
#: src/view/com/auth/SplashScreen.tsx:49
6084
-
#: src/view/com/auth/SplashScreen.web.tsx:111
6099
+
#: src/view/com/auth/SplashScreen.tsx:66
6100
+
#: src/view/com/auth/SplashScreen.web.tsx:115
6085
6101
msgid "Opens flow to create a new Bluesky account"
6086
6102
msgstr ""
6087
6103
6088
-
#: src/view/com/auth/SplashScreen.tsx:63
6089
-
#: src/view/com/auth/SplashScreen.web.tsx:125
6104
+
#: src/view/com/auth/SplashScreen.tsx:83
6105
+
#: src/view/com/auth/SplashScreen.web.tsx:129
6090
6106
msgid "Opens flow to sign in to your existing Bluesky account"
6091
6107
msgstr ""
6092
6108
···
6123
6139
msgid "Opens this profile"
6124
6140
msgstr ""
6125
6141
6126
-
#: src/components/dms/ReportDialog.tsx:226
6142
+
#: src/components/dms/ReportDialog.tsx:227
6127
6143
#: src/components/ReportDialog/SubmitView.tsx:168
6128
6144
msgid "Optionally provide additional information below:"
6129
6145
msgstr ""
6130
6146
6131
-
#: src/components/dialogs/MutedWords.tsx:299
6147
+
#: src/components/dialogs/MutedWords.tsx:304
6132
6148
msgid "Options:"
6133
6149
msgstr ""
6134
6150
···
6174
6190
msgid "Our blog post"
6175
6191
msgstr ""
6176
6192
6177
-
#: src/components/dms/ReportDialog.tsx:353
6193
+
#: src/components/dms/ReportDialog.tsx:354
6178
6194
msgid "Our moderation team has received your report."
6179
6195
msgstr ""
6180
6196
6181
-
#: src/screens/Messages/components/ChatDisabled.tsx:29
6197
+
#: src/screens/Messages/components/ChatDisabled.tsx:34
6182
6198
msgid "Our moderators have reviewed reports and decided to disable your access to chats on Bluesky."
6183
6199
msgstr ""
6184
6200
···
6317
6333
msgid "Play {0}"
6318
6334
msgstr ""
6319
6335
6320
-
#: src/components/Post/Embed/VideoEmbed/index.tsx:132
6336
+
#: src/components/Post/Embed/VideoEmbed/index.tsx:135
6321
6337
#: src/components/Post/Embed/VideoEmbed/VideoEmbedInner/web-controls/VideoControls.tsx:321
6322
6338
msgid "Play video"
6323
6339
msgstr ""
···
6350
6366
msgid "Please check your email inbox for further instructions. It may take a minute or two to arrive."
6351
6367
msgstr ""
6352
6368
6353
-
#: src/screens/Signup/state.ts:287
6369
+
#: src/screens/Signup/state.ts:289
6354
6370
msgid "Please choose your handle."
6355
6371
msgstr ""
6356
6372
6357
-
#: src/screens/Signup/state.ts:279
6358
-
#: src/screens/Signup/StepInfo/index.tsx:123
6373
+
#: src/screens/Signup/state.ts:281
6374
+
#: src/screens/Signup/StepInfo/index.tsx:122
6359
6375
msgid "Please choose your password."
6360
6376
msgstr ""
6361
6377
···
6363
6379
msgid "Please click on the link in the email we just sent you to verify your new email address. This is an important step to allow you to continue enjoying all the features of Bluesky."
6364
6380
msgstr ""
6365
6381
6366
-
#: src/screens/Signup/state.ts:302
6382
+
#: src/screens/Signup/state.ts:304
6367
6383
msgid "Please complete the verification captcha."
6368
6384
msgstr ""
6369
6385
6370
6386
#: src/components/ageAssurance/AgeAssuranceInitDialog.tsx:101
6371
-
#: src/screens/Signup/StepInfo/index.tsx:112
6387
+
#: src/screens/Signup/StepInfo/index.tsx:111
6372
6388
msgid "Please double-check that you have entered your email address correctly."
6373
6389
msgstr ""
6374
6390
···
6419
6435
msgid "Please enter the security code we sent to your previous email address."
6420
6436
msgstr ""
6421
6437
6422
-
#: src/screens/Signup/state.ts:263
6423
-
#: src/screens/Signup/StepInfo/index.tsx:94
6438
+
#: src/screens/Signup/state.ts:265
6439
+
#: src/screens/Signup/StepInfo/index.tsx:93
6424
6440
msgid "Please enter your email."
6425
6441
msgstr ""
6426
6442
6427
-
#: src/screens/Signup/StepInfo/index.tsx:87
6443
+
#: src/screens/Signup/StepInfo/index.tsx:86
6428
6444
msgid "Please enter your invite code."
6429
6445
msgstr ""
6430
6446
···
6448
6464
msgid "Please explain why you think this label was incorrectly applied by {0}"
6449
6465
msgstr ""
6450
6466
6451
-
#: src/screens/Messages/components/ChatDisabled.tsx:117
6467
+
#: src/screens/Messages/components/ChatDisabled.tsx:122
6452
6468
msgid "Please explain why you think your chats were incorrectly disabled"
6453
6469
msgstr ""
6454
6470
6455
-
#: src/components/FocusScope/index.tsx:93
6456
-
#: src/components/FocusScope/index.tsx:117
6471
+
#: src/components/FocusScope/index.tsx:91
6472
+
#: src/components/FocusScope/index.tsx:115
6457
6473
msgid "Please go back, or activate this element to return to the start of the active content."
6458
6474
msgstr ""
6459
6475
···
6531
6547
msgid "Post failed to upload. Please check your Internet connection and try again."
6532
6548
msgstr ""
6533
6549
6534
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:133
6535
-
#: src/screens/PostThread/components/ThreadItemPost.tsx:110
6550
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:134
6551
+
#: src/screens/PostThread/components/ThreadItemPost.tsx:111
6536
6552
#: src/screens/PostThread/components/ThreadItemTreePost.tsx:107
6537
6553
#: src/screens/VideoFeed/index.tsx:532
6538
6554
msgid "Post has been deleted"
···
6584
6600
#: src/components/activity-notifications/SubscribeProfileDialog.tsx:250
6585
6601
#: src/components/activity-notifications/SubscribeProfileDialog.tsx:262
6586
6602
#: src/screens/ProfileList/index.tsx:166
6587
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:213
6603
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:216
6588
6604
#: src/screens/StarterPack/StarterPackScreen.tsx:191
6589
6605
#: src/view/screens/Profile.tsx:225
6590
6606
msgid "Posts"
6591
6607
msgstr ""
6592
6608
6593
-
#: src/components/dialogs/MutedWords.tsx:115
6609
+
#: src/components/dialogs/MutedWords.tsx:120
6594
6610
msgid "Posts can be muted based on their text, their tags, or both. We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
6595
6611
msgstr ""
6596
6612
···
6598
6614
msgid "Posts hidden"
6599
6615
msgstr ""
6600
6616
6601
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:211
6617
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:214
6602
6618
msgid "Posts, Replies"
6603
6619
msgstr ""
6604
6620
···
6655
6671
msgid "Privacy and Security"
6656
6672
msgstr ""
6657
6673
6658
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:158
6674
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:161
6659
6675
msgid "Privacy and Security settings"
6660
6676
msgstr ""
6661
6677
···
6679
6695
msgid "Processing..."
6680
6696
msgstr ""
6681
6697
6682
-
#: src/view/screens/DebugMod.tsx:934
6698
+
#: src/view/screens/DebugMod.tsx:936
6683
6699
#: src/view/screens/Profile.tsx:364
6684
6700
msgid "profile"
6685
6701
msgstr ""
···
6691
6707
msgid "Profile"
6692
6708
msgstr ""
6693
6709
6694
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:191
6710
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:189
6695
6711
msgctxt "toast"
6696
6712
msgid "Profile updated"
6697
6713
msgstr ""
···
6793
6809
msgid "Quotes"
6794
6810
msgstr ""
6795
6811
6796
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:456
6812
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:457
6797
6813
msgid "Quotes of this post"
6798
6814
msgstr ""
6799
6815
···
6840
6856
msgid "Read our blog post"
6841
6857
msgstr ""
6842
6858
6843
-
#: src/view/com/auth/SplashScreen.web.tsx:173
6859
+
#: src/view/com/auth/SplashScreen.web.tsx:177
6844
6860
msgid "Read the Bluesky blog"
6845
6861
msgstr ""
6846
6862
···
6867
6883
msgid "Reason for appeal"
6868
6884
msgstr ""
6869
6885
6870
-
#: src/components/dms/ReportDialog.tsx:217
6886
+
#: src/components/dms/ReportDialog.tsx:218
6871
6887
msgid "Reason:"
6872
6888
msgstr ""
6873
6889
···
6904
6920
msgid "Reject chat request"
6905
6921
msgstr ""
6906
6922
6907
-
#: src/screens/Messages/ChatList.tsx:285
6908
-
#: src/screens/Messages/Inbox.tsx:212
6923
+
#: src/screens/Messages/ChatList.tsx:286
6924
+
#: src/screens/Messages/Inbox.tsx:213
6909
6925
msgid "Reload conversations"
6910
6926
msgstr ""
6911
6927
6912
6928
#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:171
6913
-
#: src/components/dialogs/MutedWords.tsx:438
6929
+
#: src/components/dialogs/MutedWords.tsx:443
6914
6930
#: src/components/dialogs/StarterPackDialog.tsx:371
6915
6931
#: src/components/dialogs/StarterPackDialog.tsx:377
6916
6932
#: src/components/FeedCard.tsx:343
···
6931
6947
msgid "Remove {historyItem}"
6932
6948
msgstr ""
6933
6949
6934
-
#: src/screens/Settings/Settings.tsx:641
6935
-
#: src/screens/Settings/Settings.tsx:644
6950
+
#: src/screens/Settings/Settings.tsx:643
6951
+
#: src/screens/Settings/Settings.tsx:646
6936
6952
msgid "Remove account"
6937
6953
msgstr ""
6938
6954
···
6966
6982
6967
6983
#: src/screens/Profile/components/ProfileFeedHeader.tsx:319
6968
6984
#: src/screens/Profile/components/ProfileFeedHeader.tsx:325
6969
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:188
6970
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:191
6985
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:181
6986
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:184
6971
6987
#: src/screens/SavedFeeds.tsx:340
6972
6988
msgid "Remove from my feeds"
6973
6989
msgstr ""
6974
6990
6975
-
#: src/screens/Settings/Settings.tsx:654
6991
+
#: src/screens/Settings/Settings.tsx:656
6976
6992
msgid "Remove from quick access?"
6977
6993
msgstr ""
6978
6994
···
6999
7015
msgid "Remove live status"
7000
7016
msgstr ""
7001
7017
7002
-
#: src/components/dialogs/MutedWords.tsx:523
7018
+
#: src/components/dialogs/MutedWords.tsx:530
7003
7019
msgid "Remove mute word from your list"
7004
7020
msgstr ""
7005
7021
···
7099
7115
#: src/components/activity-notifications/SubscribeProfileDialog.tsx:267
7100
7116
#: src/components/activity-notifications/SubscribeProfileDialog.tsx:279
7101
7117
#: src/lib/hooks/useNotificationHandler.ts:140
7102
-
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:215
7118
+
#: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:218
7103
7119
#: src/screens/Settings/NotificationSettings/index.tsx:148
7104
7120
#: src/screens/Settings/NotificationSettings/ReplyNotificationSettings.tsx:41
7105
7121
#: src/view/screens/Profile.tsx:226
···
7189
7205
msgid "Report feed"
7190
7206
msgstr ""
7191
7207
7192
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:222
7193
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:225
7208
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:215
7209
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:218
7194
7210
msgid "Report list"
7195
7211
msgstr ""
7196
7212
···
7203
7219
msgid "Report post"
7204
7220
msgstr ""
7205
7221
7206
-
#: src/screens/StarterPack/StarterPackScreen.tsx:630
7207
-
#: src/screens/StarterPack/StarterPackScreen.tsx:633
7222
+
#: src/screens/StarterPack/StarterPackScreen.tsx:634
7223
+
#: src/screens/StarterPack/StarterPackScreen.tsx:637
7208
7224
msgid "Report starter pack"
7209
7225
msgstr ""
7210
7226
7211
-
#: src/components/dms/ReportDialog.tsx:350
7227
+
#: src/components/dms/ReportDialog.tsx:351
7212
7228
msgid "Report submitted"
7213
7229
msgstr ""
7214
7230
···
7268
7284
#: src/components/PostControls/RepostButton.tsx:145
7269
7285
#: src/components/PostControls/RepostButton.web.tsx:44
7270
7286
#: src/components/PostControls/RepostButton.web.tsx:104
7271
-
#: src/screens/StarterPack/StarterPackScreen.tsx:561
7287
+
#: src/screens/StarterPack/StarterPackScreen.tsx:565
7272
7288
msgid "Repost or quote post"
7273
7289
msgstr ""
7274
7290
···
7295
7311
msgid "Reposts"
7296
7312
msgstr ""
7297
7313
7298
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:438
7314
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:439
7299
7315
msgid "Reposts of this post"
7300
7316
msgstr ""
7301
7317
···
7323
7339
msgid "Require an email code to sign in to your account."
7324
7340
msgstr ""
7325
7341
7326
-
#: src/screens/Signup/StepInfo/index.tsx:181
7342
+
#: src/screens/Signup/StepInfo/index.tsx:180
7327
7343
msgid "Required for this provider"
7328
7344
msgstr ""
7329
7345
···
7386
7402
#: src/screens/Login/LoginForm.tsx:355
7387
7403
#: src/screens/Messages/ChatList.tsx:291
7388
7404
#: src/screens/Messages/components/MessageListError.tsx:25
7389
-
#: src/screens/Messages/Inbox.tsx:218
7405
+
#: src/screens/Messages/Inbox.tsx:219
7390
7406
#: src/screens/Onboarding/StepInterests/index.tsx:226
7391
7407
#: src/screens/Onboarding/StepInterests/index.tsx:229
7392
7408
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:209
7393
7409
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:212
7394
-
#: src/screens/PostThread/components/ThreadError.tsx:75
7395
-
#: src/screens/PostThread/components/ThreadError.tsx:81
7410
+
#: src/screens/PostThread/components/ThreadError.tsx:80
7411
+
#: src/screens/PostThread/components/ThreadError.tsx:86
7396
7412
#: src/screens/Signup/BackNextButtons.tsx:53
7397
7413
#: src/view/com/util/error/ErrorMessage.tsx:64
7398
7414
#: src/view/com/util/error/ErrorScreen.tsx:102
···
7405
7421
7406
7422
#: src/components/Error.tsx:73
7407
7423
#: src/screens/List/ListHiddenScreen.tsx:219
7408
-
#: src/screens/StarterPack/StarterPackScreen.tsx:767
7424
+
#: src/screens/StarterPack/StarterPackScreen.tsx:771
7409
7425
msgid "Return to previous page"
7410
7426
msgstr ""
7411
7427
···
7426
7442
msgstr ""
7427
7443
7428
7444
#: src/components/dialogs/BirthDateSettings.tsx:156
7445
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:292
7446
+
#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:307
7429
7447
#: src/components/dialogs/PostInteractionSettingsDialog.tsx:483
7430
7448
#: src/components/dialogs/PostInteractionSettingsDialog.tsx:489
7431
7449
#: src/components/live/EditLiveDialog.tsx:216
7432
7450
#: src/components/live/EditLiveDialog.tsx:223
7433
7451
#: src/components/StarterPack/QrCodeDialog.tsx:204
7434
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:238
7435
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:252
7452
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:236
7453
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:250
7436
7454
#: src/screens/SavedFeeds.tsx:120
7437
7455
#: src/screens/Settings/components/ChangeHandleDialog.tsx:267
7438
7456
#: src/view/com/composer/GifAltText.tsx:193
···
7467
7485
msgid "Save image"
7468
7486
msgstr ""
7469
7487
7470
-
#: src/view/com/modals/CropImage.web.tsx:104
7471
-
msgid "Save image crop"
7472
-
msgstr ""
7473
-
7474
7488
#: src/screens/Settings/components/ChangeHandleDialog.tsx:253
7475
7489
msgid "Save new handle"
7476
7490
msgstr ""
···
7505
7519
msgid "Saved to your feeds"
7506
7520
msgstr ""
7507
7521
7508
-
#: src/view/com/modals/CropImage.web.tsx:105
7509
-
msgid "Saves image crop settings"
7510
-
msgstr ""
7511
-
7512
7522
#: src/components/dms/ChatEmptyPill.tsx:33
7513
7523
#: src/components/NewskieDialog.tsx:139
7514
7524
#: src/view/com/notifications/NotificationFeedItem.tsx:770
···
7649
7659
msgid "See #{tag} posts by user"
7650
7660
msgstr ""
7651
7661
7652
-
#: src/view/com/auth/SplashScreen.web.tsx:178
7662
+
#: src/view/com/auth/SplashScreen.web.tsx:182
7653
7663
msgid "See jobs at Bluesky"
7654
7664
msgstr ""
7655
7665
···
7732
7742
msgid "Select GIF \"{0}\""
7733
7743
msgstr ""
7734
7744
7735
-
#: src/components/dialogs/MutedWords.tsx:142
7745
+
#: src/components/dialogs/MutedWords.tsx:147
7736
7746
msgid "Select how long to mute this word for."
7737
7747
msgstr ""
7738
7748
···
7783
7793
msgid "Select up to 3 languages used in this post"
7784
7794
msgstr ""
7785
7795
7786
-
#: src/components/dialogs/MutedWords.tsx:242
7796
+
#: src/components/dialogs/MutedWords.tsx:247
7787
7797
msgid "Select what content this mute word should apply to."
7788
7798
msgstr ""
7789
7799
···
7795
7805
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
7796
7806
msgstr ""
7797
7807
7798
-
#: src/screens/Signup/StepInfo/index.tsx:274
7808
+
#: src/screens/Signup/StepInfo/index.tsx:273
7799
7809
msgid "Select your date of birth"
7800
7810
msgstr ""
7801
7811
···
7849
7859
msgid "Send post to..."
7850
7860
msgstr ""
7851
7861
7852
-
#: src/components/dms/ReportDialog.tsx:276
7853
-
#: src/components/dms/ReportDialog.tsx:279
7862
+
#: src/components/dms/ReportDialog.tsx:277
7863
+
#: src/components/dms/ReportDialog.tsx:280
7854
7864
#: src/components/ReportDialog/SubmitView.tsx:221
7855
7865
#: src/components/ReportDialog/SubmitView.tsx:225
7856
7866
msgid "Send report"
···
7889
7899
msgid "Set app icon to {0}"
7890
7900
msgstr ""
7891
7901
7892
-
#: src/screens/Moderation/index.tsx:352
7902
+
#: src/screens/Moderation/index.tsx:357
7893
7903
msgid "Set birthdate"
7894
7904
msgstr ""
7895
7905
···
7897
7907
msgid "Set new password"
7898
7908
msgstr ""
7899
7909
7900
-
#: src/screens/Onboarding/Layout.tsx:50
7910
+
#: src/screens/Onboarding/Layout.tsx:49
7901
7911
msgid "Set up your account"
7902
7912
msgstr ""
7903
7913
···
8033
8043
8034
8044
#: src/components/PostControls/ShareMenu/ShareMenuItems.tsx:117
8035
8045
#: src/components/PostControls/ShareMenu/ShareMenuItems.tsx:120
8036
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:172
8037
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:178
8038
-
#: src/screens/StarterPack/StarterPackScreen.tsx:611
8039
-
#: src/screens/StarterPack/StarterPackScreen.tsx:619
8046
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:165
8047
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:171
8048
+
#: src/screens/StarterPack/StarterPackScreen.tsx:615
8049
+
#: src/screens/StarterPack/StarterPackScreen.tsx:623
8040
8050
#: src/view/com/profile/ProfileMenu.tsx:246
8041
8051
#: src/view/com/profile/ProfileMenu.tsx:259
8042
8052
msgid "Share via..."
···
8060
8070
msgid "Show alt text"
8061
8071
msgstr ""
8062
8072
8063
-
#: src/components/moderation/ScreenHider.tsx:172
8064
-
#: src/components/moderation/ScreenHider.tsx:175
8073
+
#: src/components/moderation/ScreenHider.tsx:178
8074
+
#: src/components/moderation/ScreenHider.tsx:181
8065
8075
#: src/screens/List/ListHiddenScreen.tsx:190
8066
8076
#: src/screens/VideoFeed/index.tsx:631
8067
8077
#: src/screens/VideoFeed/index.tsx:637
···
8148
8158
msgid "Show warning and filter from feeds"
8149
8159
msgstr ""
8150
8160
8151
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:630
8161
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:631
8152
8162
msgid "Shows information about when this post was created"
8153
8163
msgstr ""
8154
8164
···
8233
8243
msgid "Sign out?"
8234
8244
msgstr ""
8235
8245
8236
-
#: src/components/moderation/ScreenHider.tsx:91
8246
+
#: src/components/moderation/ScreenHider.tsx:97
8237
8247
#: src/lib/moderation/useGlobalLabelStrings.ts:28
8238
8248
msgid "Sign-in Required"
8239
8249
msgstr ""
···
8339
8349
msgid "Something wrong? Let us know."
8340
8350
msgstr ""
8341
8351
8342
-
#: src/App.native.tsx:126
8343
-
#: src/App.web.tsx:102
8352
+
#: src/App.native.tsx:125
8353
+
#: src/App.web.tsx:101
8344
8354
msgid "Sorry! Your session expired. Please sign in again."
8345
8355
msgstr ""
8346
8356
···
8420
8430
msgid "Starter pack by you"
8421
8431
msgstr ""
8422
8432
8423
-
#: src/screens/StarterPack/StarterPackScreen.tsx:731
8433
+
#: src/screens/StarterPack/StarterPackScreen.tsx:735
8424
8434
msgid "Starter pack is invalid"
8425
8435
msgstr ""
8426
8436
···
8438
8448
msgid "Status Page"
8439
8449
msgstr ""
8440
8450
8441
-
#: src/screens/Signup/index.tsx:163
8451
+
#: src/screens/Signup/index.tsx:169
8442
8452
msgid "Step {0} of {1}"
8443
8453
msgstr ""
8444
8454
···
8455
8465
#: src/components/ageAssurance/AgeAssuranceAppealDialog.tsx:123
8456
8466
#: src/components/moderation/LabelsOnMeDialog.tsx:324
8457
8467
#: src/components/moderation/LabelsOnMeDialog.tsx:325
8458
-
#: src/screens/Messages/components/ChatDisabled.tsx:149
8459
-
#: src/screens/Messages/components/ChatDisabled.tsx:150
8468
+
#: src/screens/Messages/components/ChatDisabled.tsx:154
8469
+
#: src/screens/Messages/components/ChatDisabled.tsx:155
8460
8470
msgid "Submit"
8461
8471
msgstr ""
8462
8472
···
8544
8554
8545
8555
#: src/screens/Settings/Settings.tsx:123
8546
8556
#: src/screens/Settings/Settings.tsx:137
8547
-
#: src/screens/Settings/Settings.tsx:604
8557
+
#: src/screens/Settings/Settings.tsx:606
8548
8558
#: src/view/shell/desktop/LeftNav.tsx:247
8549
8559
msgid "Switch account"
8550
8560
msgstr ""
···
8576
8586
msgid "System log"
8577
8587
msgstr ""
8578
8588
8579
-
#: src/components/dialogs/MutedWords.tsx:282
8589
+
#: src/components/dialogs/MutedWords.tsx:287
8580
8590
msgid "Tags only"
8581
8591
msgstr ""
8582
8592
···
8627
8637
msgid "Tell a joke!"
8628
8638
msgstr ""
8629
8639
8630
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:373
8640
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:371
8631
8641
msgid "Tell us a bit about yourself"
8632
8642
msgstr ""
8633
8643
···
8663
8673
msgid "Terms used violate community standards"
8664
8674
msgstr ""
8665
8675
8666
-
#: src/components/dialogs/MutedWords.tsx:266
8676
+
#: src/components/dialogs/MutedWords.tsx:271
8667
8677
msgid "Text & tags"
8668
8678
msgstr ""
8669
8679
8670
-
#: src/components/dms/ReportDialog.tsx:234
8680
+
#: src/components/dms/ReportDialog.tsx:235
8671
8681
msgid "Text field"
8672
8682
msgstr ""
8673
8683
8674
8684
#: src/components/moderation/LabelsOnMeDialog.tsx:288
8675
-
#: src/screens/Messages/components/ChatDisabled.tsx:115
8685
+
#: src/screens/Messages/components/ChatDisabled.tsx:120
8676
8686
msgid "Text input field"
8677
8687
msgstr ""
8678
8688
···
8689
8699
msgstr ""
8690
8700
8691
8701
#: src/components/ageAssurance/AgeAssuranceAccountCard.tsx:115
8692
-
#: src/components/BlockedGeoOverlay.tsx:169
8702
+
#: src/components/BlockedGeoOverlay.tsx:168
8693
8703
msgid "Thanks! You're all set."
8694
8704
msgstr ""
8695
8705
···
8706
8716
msgid "That starter pack could not be found."
8707
8717
msgstr ""
8708
8718
8709
-
#: src/screens/Signup/StepHandle/index.tsx:78
8719
+
#: src/screens/Signup/StepHandle/index.tsx:77
8710
8720
msgid "That username is already taken"
8711
8721
msgstr ""
8712
8722
···
8724
8734
msgstr ""
8725
8735
8726
8736
#: src/screens/Settings/AppIconSettings/index.tsx:41
8727
-
#: src/screens/Settings/AppIconSettings/index.tsx:222
8737
+
#: src/screens/Settings/AppIconSettings/index.tsx:227
8728
8738
msgid "The app will be restarted"
8729
8739
msgstr ""
8730
8740
···
8737
8747
msgid "The birthdate you've entered means you are under 18 years old. Certain content and features may be unavailable to you."
8738
8748
msgstr ""
8739
8749
8740
-
#: src/screens/Moderation/index.tsx:426
8750
+
#: src/screens/Moderation/index.tsx:432
8741
8751
msgid "The Bluesky web application"
8742
8752
msgstr ""
8743
8753
···
8757
8767
msgid "The Discover feed now knows what you like"
8758
8768
msgstr ""
8759
8769
8760
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:324
8770
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:333
8761
8771
msgid "The experience is better in the app. Download Bluesky now and we'll pick back up where you left off."
8762
8772
msgstr ""
8763
8773
···
8803
8813
msgid "The server appears to be experiencing issues. Please try again in a few moments."
8804
8814
msgstr ""
8805
8815
8806
-
#: src/screens/StarterPack/StarterPackScreen.tsx:741
8816
+
#: src/screens/StarterPack/StarterPackScreen.tsx:745
8807
8817
msgid "The starter pack that you are trying to view is invalid. You may delete this starter pack instead."
8808
8818
msgstr ""
8809
8819
···
8877
8887
msgid "There was an issue removing this feed. Please check your internet connection and try again."
8878
8888
msgstr ""
8879
8889
8880
-
#: src/components/dms/ReportDialog.tsx:264
8890
+
#: src/components/dms/ReportDialog.tsx:265
8881
8891
#: src/components/ReportDialog/SubmitView.tsx:88
8882
8892
msgid "There was an issue sending your report. Please check your internet connection."
8883
8893
msgstr ""
···
8911
8921
#: src/screens/List/ListHiddenScreen.tsx:99
8912
8922
#: src/screens/ProfileList/components/Header.tsx:107
8913
8923
#: src/screens/ProfileList/components/Header.tsx:125
8914
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:129
8915
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:147
8924
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:122
8925
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:140
8916
8926
#: src/screens/ProfileList/components/SubscribeMenu.tsx:40
8917
8927
#: src/screens/ProfileList/components/SubscribeMenu.tsx:59
8918
8928
msgid "There was an issue. Please check your internet connection and try again."
···
8932
8942
msgid "These settings only apply to the Following feed."
8933
8943
msgstr ""
8934
8944
8935
-
#: src/components/moderation/ScreenHider.tsx:111
8945
+
#: src/components/moderation/ScreenHider.tsx:117
8936
8946
msgid "This {screenDescription} has been flagged:"
8937
8947
msgstr ""
8938
8948
···
8944
8954
msgid "This account has one or more attempted verifications, but it is not currently verified."
8945
8955
msgstr ""
8946
8956
8947
-
#: src/components/moderation/ScreenHider.tsx:106
8957
+
#: src/components/moderation/ScreenHider.tsx:112
8948
8958
msgid "This account has requested that users sign in to view their profile."
8949
8959
msgstr ""
8950
8960
···
8960
8970
msgid "This appeal will be sent to <0>{sourceName}</0>."
8961
8971
msgstr ""
8962
8972
8963
-
#: src/screens/Messages/components/ChatDisabled.tsx:111
8973
+
#: src/screens/Messages/components/ChatDisabled.tsx:116
8964
8974
msgid "This appeal will be sent to Bluesky's moderation service."
8965
8975
msgstr ""
8966
8976
···
9080
9090
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
9081
9091
msgstr ""
9082
9092
9083
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:670
9093
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:671
9084
9094
msgid "This post claims to have been created on <0>{0}</0>, but was first seen by Bluesky on <1>{1}</1>."
9085
9095
msgstr ""
9086
9096
···
9161
9171
msgid "This user isn't following anyone."
9162
9172
msgstr ""
9163
9173
9164
-
#: src/components/dialogs/MutedWords.tsx:435
9174
+
#: src/components/dialogs/MutedWords.tsx:440
9165
9175
msgid "This will delete \"{0}\" from your muted words. You can always add it back later."
9166
9176
msgstr ""
9167
9177
9168
-
#: src/screens/Settings/Settings.tsx:656
9178
+
#: src/screens/Settings/Settings.tsx:658
9169
9179
msgid "This will remove @{0} from the quick access list."
9170
9180
msgstr ""
9171
9181
···
9221
9231
msgid "Today"
9222
9232
msgstr ""
9223
9233
9224
-
#: src/screens/Moderation/index.tsx:403
9234
+
#: src/screens/Moderation/index.tsx:409
9225
9235
msgid "Toggle to enable or disable adult content"
9226
9236
msgstr ""
9227
9237
···
9250
9260
#: src/components/dms/MessageContextMenu.tsx:139
9251
9261
#: src/components/PostControls/PostMenu/PostMenuItems.tsx:444
9252
9262
#: src/components/PostControls/PostMenu/PostMenuItems.tsx:446
9253
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:592
9254
-
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:595
9263
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:593
9264
+
#: src/screens/PostThread/components/ThreadItemAnchor.tsx:596
9255
9265
msgid "Translate"
9256
9266
msgstr ""
9257
9267
···
9311
9321
#: src/screens/Login/index.tsx:83
9312
9322
#: src/screens/Login/LoginForm.tsx:178
9313
9323
#: src/screens/Login/SetNewPasswordForm.tsx:81
9314
-
#: src/screens/Signup/index.tsx:76
9324
+
#: src/screens/Signup/index.tsx:77
9315
9325
msgid "Unable to contact your service. Please check your Internet connection."
9316
9326
msgstr ""
9317
9327
9318
-
#: src/screens/StarterPack/StarterPackScreen.tsx:673
9328
+
#: src/screens/StarterPack/StarterPackScreen.tsx:677
9319
9329
msgid "Unable to delete"
9320
9330
msgstr ""
9321
9331
···
9364
9374
msgid "Unblock Account?"
9365
9375
msgstr ""
9366
9376
9367
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:254
9368
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:257
9377
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:247
9378
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:250
9369
9379
msgid "Unblock list"
9370
9380
msgstr ""
9371
9381
···
9450
9460
msgid "Unmute conversation"
9451
9461
msgstr ""
9452
9462
9453
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:264
9454
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:267
9463
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:257
9464
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:260
9455
9465
msgid "Unmute list"
9456
9466
msgstr ""
9457
9467
···
9489
9499
msgid "Unpin from profile"
9490
9500
msgstr ""
9491
9501
9492
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:237
9493
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:240
9502
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:230
9503
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:233
9494
9504
msgid "Unpin moderation list"
9495
9505
msgstr ""
9496
9506
···
9502
9512
msgid "Unpinned from your feeds"
9503
9513
msgstr ""
9504
9514
9505
-
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:109
9515
+
#: src/screens/ProfileList/components/MoreOptionsMenu.tsx:102
9506
9516
msgid "Unpinned list"
9507
9517
msgstr ""
9508
9518
···
9705
9715
msgid "User list updated"
9706
9716
msgstr ""
9707
9717
9708
-
#: src/screens/Signup/StepHandle/index.tsx:234
9718
+
#: src/screens/Signup/StepHandle/index.tsx:233
9709
9719
msgid "Username cannot be longer than {MAX_SERVICE_HANDLE_LENGTH, plural, other {# characters}}"
9710
9720
msgstr ""
9711
9721
9712
-
#: src/screens/Signup/StepHandle/index.tsx:218
9722
+
#: src/screens/Signup/StepHandle/index.tsx:217
9713
9723
msgid "Username cannot begin or end with a hyphen"
9714
9724
msgstr ""
9715
9725
9716
-
#: src/screens/Signup/StepHandle/index.tsx:222
9726
+
#: src/screens/Signup/StepHandle/index.tsx:221
9717
9727
msgid "Username must only contain letters (a-z), numbers, and hyphens"
9718
9728
msgstr ""
9719
9729
···
9750
9760
msgid "Verification failed, please try again."
9751
9761
msgstr ""
9752
9762
9753
-
#: src/screens/Moderation/index.tsx:316
9763
+
#: src/screens/Moderation/index.tsx:321
9754
9764
msgid "Verification settings"
9755
9765
msgstr ""
9756
9766
···
9868
9878
msgid "Video is playing"
9869
9879
msgstr ""
9870
9880
9871
-
#: src/components/Post/Embed/VideoEmbed/index.web.tsx:225
9881
+
#: src/components/Post/Embed/VideoEmbed/index.web.tsx:237
9872
9882
msgid "Video not found."
9873
9883
msgstr ""
9874
9884
···
9983
9993
msgid "View users who like this feed"
9984
9994
msgstr ""
9985
9995
9986
-
#: src/components/VideoPostCard.tsx:399
9996
+
#: src/components/VideoPostCard.tsx:401
9987
9997
msgid "View video"
9988
9998
msgstr ""
9989
9999
9990
-
#: src/screens/Moderation/index.tsx:296
10000
+
#: src/screens/Moderation/index.tsx:301
9991
10001
msgid "View your blocked accounts"
9992
10002
msgstr ""
9993
10003
9994
-
#: src/screens/Moderation/index.tsx:236
10004
+
#: src/screens/Moderation/index.tsx:241
9995
10005
msgid "View your default post interaction settings"
9996
10006
msgstr ""
9997
10007
···
10000
10010
msgid "View your feeds and explore more"
10001
10011
msgstr ""
10002
10012
10003
-
#: src/screens/Moderation/index.tsx:266
10013
+
#: src/screens/Moderation/index.tsx:271
10004
10014
msgid "View your moderation lists"
10005
10015
msgstr ""
10006
10016
10007
-
#: src/screens/Moderation/index.tsx:281
10017
+
#: src/screens/Moderation/index.tsx:286
10008
10018
msgid "View your muted accounts"
10009
10019
msgstr ""
10010
10020
···
10012
10022
msgid "View your verifications"
10013
10023
msgstr ""
10014
10024
10015
-
#: src/view/com/util/images/AutoSizedImage.tsx:205
10016
-
#: src/view/com/util/images/AutoSizedImage.tsx:227
10025
+
#: src/view/com/util/images/AutoSizedImage.tsx:206
10026
+
#: src/view/com/util/images/AutoSizedImage.tsx:228
10017
10027
msgid "Views full image"
10018
10028
msgstr ""
10019
10029
···
10109
10119
msgid "We were unable to load your birth date preferences. Please try again."
10110
10120
msgstr ""
10111
10121
10112
-
#: src/screens/Moderation/index.tsx:483
10122
+
#: src/screens/Moderation/index.tsx:489
10113
10123
msgid "We were unable to load your configured labelers at this time."
10114
10124
msgstr ""
10115
10125
···
10158
10168
msgid "We’re introducing a new layer of verification on Bluesky — an easy-to-see checkmark."
10159
10169
msgstr ""
10160
10170
10161
-
#: src/screens/Signup/index.tsx:123
10171
+
#: src/screens/Signup/index.tsx:125
10162
10172
msgid "We're so excited to have you join us!"
10163
10173
msgstr ""
10164
10174
···
10166
10176
msgid "We're sorry, but based on your device's location, you are currently located in a region that requires age assurance."
10167
10177
msgstr ""
10168
10178
10169
-
#: src/components/BlockedGeoOverlay.tsx:159
10179
+
#: src/components/BlockedGeoOverlay.tsx:158
10170
10180
msgid "We're sorry, but based on your device's location, you are currently located in a region where we cannot provide access at this time."
10171
10181
msgstr ""
10172
10182
···
10174
10184
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
10175
10185
msgstr ""
10176
10186
10177
-
#: src/components/dialogs/MutedWords.tsx:378
10187
+
#: src/components/dialogs/MutedWords.tsx:383
10178
10188
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
10179
10189
msgstr ""
10180
10190
···
10231
10241
msgid "What do you want to call your starter pack?"
10232
10242
msgstr ""
10233
10243
10234
-
#: src/view/com/auth/SplashScreen.tsx:38
10235
-
#: src/view/com/auth/SplashScreen.web.tsx:99
10244
+
#: src/view/com/auth/SplashScreen.tsx:51
10245
+
#: src/view/com/auth/SplashScreen.web.tsx:103
10236
10246
#: src/view/com/composer/Composer.tsx:812
10237
10247
msgid "What's up?"
10238
10248
msgstr ""
···
10258
10268
msgstr ""
10259
10269
10260
10270
#: src/screens/Home/NoFeedsPinned.tsx:79
10261
-
#: src/screens/Messages/ChatList.tsx:269
10262
-
#: src/screens/Messages/Inbox.tsx:197
10271
+
#: src/screens/Messages/ChatList.tsx:270
10272
+
#: src/screens/Messages/Inbox.tsx:198
10263
10273
msgid "Whoops!"
10264
10274
msgstr ""
10265
10275
···
10343
10353
msgid "Yes, deactivate"
10344
10354
msgstr ""
10345
10355
10346
-
#: src/screens/StarterPack/StarterPackScreen.tsx:685
10356
+
#: src/screens/StarterPack/StarterPackScreen.tsx:689
10347
10357
msgid "Yes, delete this starter pack"
10348
10358
msgstr ""
10349
10359
···
10412
10422
msgid "You are verified"
10413
10423
msgstr ""
10414
10424
10415
-
#: src/screens/Profile/Header/EditProfileDialog.tsx:346
10425
+
#: src/screens/Profile/Header/EditProfileDialog.tsx:344
10416
10426
msgid "You are verified. You will lose your verification status if you change your display name. <0>Learn more.</0>"
10417
10427
msgstr ""
10418
10428
···
10485
10495
msgid "You don't follow any users who follow @{name}."
10486
10496
msgstr ""
10487
10497
10488
-
#: src/screens/Messages/Inbox.tsx:241
10498
+
#: src/screens/Messages/Inbox.tsx:243
10489
10499
msgid "You don't have any chat requests at the moment."
10490
10500
msgstr ""
10491
10501
···
10538
10548
msgid "You have muted this user"
10539
10549
msgstr ""
10540
10550
10541
-
#: src/screens/Messages/ChatList.tsx:312
10551
+
#: src/screens/Messages/ChatList.tsx:314
10542
10552
msgid "You have no conversations yet. Start one!"
10543
10553
msgstr ""
10544
10554
···
10579
10589
msgid "You haven't created a starter pack yet!"
10580
10590
msgstr ""
10581
10591
10582
-
#: src/components/dialogs/MutedWords.tsx:398
10592
+
#: src/components/dialogs/MutedWords.tsx:403
10583
10593
msgid "You haven't muted any words or tags yet"
10584
10594
msgstr ""
10585
10595
···
10628
10638
msgid "You must be following at least seven other people to generate a starter pack."
10629
10639
msgstr ""
10630
10640
10631
-
#: src/screens/Moderation/index.tsx:374
10641
+
#: src/screens/Moderation/index.tsx:379
10632
10642
msgid "You must complete age assurance in order to access the settings below."
10633
10643
msgstr ""
10634
10644
···
10706
10716
msgid "You: {short}"
10707
10717
msgstr ""
10708
10718
10709
-
#: src/screens/Signup/index.tsx:139
10719
+
#: src/screens/Signup/index.tsx:141
10710
10720
msgid "You'll follow the suggested users and feeds once you finish creating your account!"
10711
10721
msgstr ""
10712
10722
10713
-
#: src/screens/Signup/index.tsx:144
10723
+
#: src/screens/Signup/index.tsx:146
10714
10724
msgid "You'll follow the suggested users once you finish creating your account!"
10715
10725
msgstr ""
10716
10726
10717
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:236
10727
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:245
10718
10728
msgid "You'll follow these people and {0} others"
10719
10729
msgstr ""
10720
10730
10721
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:234
10731
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:243
10722
10732
msgid "You'll follow these people right away"
10723
10733
msgstr ""
10724
10734
···
10726
10736
msgid "You'll start receiving notifications for {0}!"
10727
10737
msgstr ""
10728
10738
10729
-
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:274
10739
+
#: src/screens/StarterPack/StarterPackLandingScreen.tsx:283
10730
10740
msgid "You'll stay updated with these feeds"
10731
10741
msgstr ""
10732
10742
···
10752
10762
msgid "You've found some people to follow"
10753
10763
msgstr ""
10754
10764
10755
-
#: src/components/FocusScope/index.tsx:114
10765
+
#: src/components/FocusScope/index.tsx:112
10756
10766
msgid "You've reached the end of the active content."
10757
10767
msgstr ""
10758
10768
···
10764
10774
msgid "You've reached the maximum number of requests allowed. Please try again later."
10765
10775
msgstr ""
10766
10776
10767
-
#: src/components/FocusScope/index.tsx:90
10777
+
#: src/components/FocusScope/index.tsx:88
10768
10778
msgid "You've reached the start of the active content."
10769
10779
msgstr ""
10770
10780
···
10780
10790
msgid "You've run out of videos to watch. Maybe it's a good time to take a break?"
10781
10791
msgstr ""
10782
10792
10783
-
#: src/screens/Signup/index.tsx:173
10793
+
#: src/screens/Signup/index.tsx:179
10784
10794
msgid "Your account"
10785
10795
msgstr ""
10786
10796
···
10808
10818
msgid "Your appeal has been submitted. If your appeal succeeds, you will receive an email."
10809
10819
msgstr ""
10810
10820
10811
-
#: src/screens/Signup/StepInfo/index.tsx:261
10821
+
#: src/screens/Signup/StepInfo/index.tsx:260
10812
10822
msgid "Your birth date"
10813
10823
msgstr ""
10814
10824
10815
-
#: src/components/Post/Embed/VideoEmbed/index.web.tsx:229
10825
+
#: src/components/Post/Embed/VideoEmbed/index.web.tsx:241
10816
10826
msgid "Your browser does not support the video format. Please try a different browser."
10817
10827
msgstr ""
10818
10828
10819
-
#: src/screens/Messages/components/ChatDisabled.tsx:26
10829
+
#: src/screens/Messages/components/ChatDisabled.tsx:31
10820
10830
msgid "Your chats have been disabled"
10821
10831
msgstr ""
10822
10832
···
10840
10850
10841
10851
#: src/screens/Login/ForgotPasswordForm.tsx:51
10842
10852
#: src/screens/Settings/components/ChangePasswordDialog.tsx:81
10843
-
#: src/screens/Signup/state.ts:271
10844
-
#: src/screens/Signup/StepInfo/index.tsx:101
10853
+
#: src/screens/Signup/state.ts:273
10854
+
#: src/screens/Signup/StepInfo/index.tsx:100
10845
10855
msgid "Your email appears to be invalid."
10846
10856
msgstr ""
10847
10857
···
10886
10896
msgid "Your location data is not tracked and does not leave your device."
10887
10897
msgstr ""
10888
10898
10889
-
#: src/components/dialogs/MutedWords.tsx:369
10899
+
#: src/components/dialogs/MutedWords.tsx:374
10890
10900
msgid "Your muted words"
10891
10901
msgstr ""
10892
10902
···
10894
10904
msgid "Your password has been changed successfully! Please use your new password when you sign in to Bluesky from now on."
10895
10905
msgstr ""
10896
10906
10897
-
#: src/screens/Signup/StepInfo/index.tsx:130
10907
+
#: src/screens/Signup/StepInfo/index.tsx:129
10898
10908
msgid "Your password must be at least 8 characters long."
10899
10909
msgstr ""
10900
10910
+1
-1
src/screens/Home/NoFeedsPinned.tsx
+1
-1
src/screens/Home/NoFeedsPinned.tsx
+2
-2
src/screens/List/ListHiddenScreen.tsx
+2
-2
src/screens/List/ListHiddenScreen.tsx
···
122
122
width={42}
123
123
/>
124
124
<View style={[a.gap_sm, a.align_center]}>
125
-
<Text style={[a.font_bold, a.text_3xl]}>
125
+
<Text style={[a.font_semi_bold, a.text_3xl]}>
126
126
{list.creator.viewer?.blocking || list.creator.viewer?.blockedBy ? (
127
127
<Trans>Creator has been blocked</Trans>
128
128
) : (
···
150
150
) : (
151
151
<Trans>
152
152
This list – created by{' '}
153
-
<Text style={[a.font_bold]}>
153
+
<Text style={[a.font_semi_bold]}>
154
154
{sanitizeHandle(list.creator.handle, '@')}
155
155
</Text>{' '}
156
156
– contains possible violations of Bluesky's community guidelines
+1
-1
src/screens/Login/FormContainer.tsx
+1
-1
src/screens/Login/FormContainer.tsx
···
22
22
testID={testID}
23
23
style={[a.gap_md, a.flex_1, !gtMobile && [a.px_lg, a.py_md], style]}>
24
24
{titleText && !gtMobile && (
25
-
<Text style={[a.text_xl, a.font_bold, t.atoms.text_contrast_high]}>
25
+
<Text style={[a.text_xl, a.font_semi_bold, t.atoms.text_contrast_high]}>
26
26
{titleText}
27
27
</Text>
28
28
)}
+1
-1
src/screens/Login/PasswordUpdatedForm.tsx
+1
-1
src/screens/Login/PasswordUpdatedForm.tsx
···
19
19
<FormContainer
20
20
testID="passwordUpdatedForm"
21
21
style={[a.gap_2xl, !gtMobile && a.mt_5xl]}>
22
-
<Text style={[a.text_3xl, a.font_bold, a.text_center]}>
22
+
<Text style={[a.text_3xl, a.font_semi_bold, a.text_center]}>
23
23
<Trans>Password updated!</Trans>
24
24
</Text>
25
25
<Text style={[a.text_center, a.mx_auto, {maxWidth: '80%'}]}>
-17
src/screens/Login/ScreenTransition.tsx
-17
src/screens/Login/ScreenTransition.tsx
···
1
-
import {type StyleProp, type ViewStyle} from 'react-native'
2
-
import Animated, {FadeInRight, FadeOutLeft} from 'react-native-reanimated'
3
-
import type React from 'react'
4
-
5
-
export function ScreenTransition({
6
-
style,
7
-
children,
8
-
}: {
9
-
style?: StyleProp<ViewStyle>
10
-
children: React.ReactNode
11
-
}) {
12
-
return (
13
-
<Animated.View style={style} entering={FadeInRight} exiting={FadeOutLeft}>
14
-
{children}
15
-
</Animated.View>
16
-
)
17
-
}
-1
src/screens/Login/ScreenTransition.web.tsx
-1
src/screens/Login/ScreenTransition.web.tsx
···
1
-
export {Fragment as ScreenTransition} from 'react'
+40
-20
src/screens/Login/index.tsx
+40
-20
src/screens/Login/index.tsx
···
1
1
import React, {useCallback, useMemo, useRef} from 'react'
2
2
import {KeyboardAvoidingView} from 'react-native'
3
-
import {LayoutAnimationConfig} from 'react-native-reanimated'
3
+
import Animated, {FadeIn, LayoutAnimationConfig} from 'react-native-reanimated'
4
4
import {msg} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
import debounce from 'lodash.debounce'
···
17
17
import {LoginForm} from '#/screens/Login/LoginForm'
18
18
import {PasswordUpdatedForm} from '#/screens/Login/PasswordUpdatedForm'
19
19
import {SetNewPasswordForm} from '#/screens/Login/SetNewPasswordForm'
20
-
import {atoms as a} from '#/alf'
20
+
import {atoms as a, native} from '#/alf'
21
+
import {ScreenTransition} from '#/components/ScreenTransition'
21
22
import {ChooseAccountForm} from './ChooseAccountForm'
22
-
import {ScreenTransition} from './ScreenTransition'
23
23
24
24
enum Forms {
25
25
Login,
···
29
29
PasswordUpdated,
30
30
}
31
31
32
+
const OrderedForms = [
33
+
Forms.ChooseAccount,
34
+
Forms.Login,
35
+
Forms.ForgotPassword,
36
+
Forms.SetNewPassword,
37
+
Forms.PasswordUpdated,
38
+
] as const
39
+
32
40
export const Login = ({onPressBack}: {onPressBack: () => void}) => {
33
41
const {_} = useLingui()
34
42
const failedAttemptCountRef = useRef(0)
···
46
54
const [serviceUrl, setServiceUrl] = React.useState<string | undefined>(
47
55
requestedAccount?.service,
48
56
)
49
-
const [initialHandle, setInitialHandle] = React.useState<string>(
57
+
const [initialHandle, setInitialHandle] = useState(
50
58
requestedAccount?.handle || '',
51
59
)
52
-
const [currentForm, setCurrentForm] = React.useState<Forms>(
60
+
const [currentForm, setCurrentForm] = useState<Forms>(
53
61
requestedAccount
54
62
? Forms.Login
55
63
: accounts.length
56
64
? Forms.ChooseAccount
57
65
: Forms.Login,
58
66
)
67
+
const [screenTransitionDirection, setScreenTransitionDirection] = useState<
68
+
'Forward' | 'Backward'
69
+
>('Forward')
59
70
60
71
const {
61
72
data: serviceDescription,
···
68
79
setServiceUrl(account.service)
69
80
}
70
81
setInitialHandle(account?.handle || '')
71
-
setCurrentForm(Forms.Login)
82
+
gotoForm(Forms.Login)
72
83
}
73
84
74
85
const gotoForm = (form: Forms) => {
75
86
setError('')
87
+
const index = OrderedForms.indexOf(currentForm)
88
+
const nextIndex = OrderedForms.indexOf(form)
89
+
setScreenTransitionDirection(index < nextIndex ? 'Forward' : 'Backward')
76
90
setCurrentForm(form)
77
91
}
78
92
79
-
React.useEffect(() => {
93
+
useEffect(() => {
80
94
if (serviceError) {
81
95
setError(
82
96
_(
···
130
144
)
131
145
132
146
const onPressForgotPassword = () => {
133
-
setCurrentForm(Forms.ForgotPassword)
147
+
gotoForm(Forms.ForgotPassword)
134
148
logEvent('signin:forgotPasswordPressed', {})
135
149
}
136
150
137
151
const handlePressBack = () => {
138
152
onPressBack()
153
+
setScreenTransitionDirection('Backward')
139
154
logEvent('signin:backPressed', {
140
155
failedAttemptsCount: failedAttemptCountRef.current,
141
156
})
···
147
162
timeTakenSeconds: Math.round((Date.now() - startTimeRef.current) / 1000),
148
163
failedAttemptsCount: failedAttemptCountRef.current,
149
164
})
150
-
setCurrentForm(Forms.Login)
151
165
}
152
166
153
167
const onAttemptFailed = () => {
···
230
244
}
231
245
232
246
return (
233
-
<KeyboardAvoidingView testID="signIn" behavior="padding" style={a.flex_1}>
234
-
<LoggedOutLayout
235
-
leadin=""
236
-
title={title}
237
-
description={description}
238
-
scrollable>
239
-
<LayoutAnimationConfig skipEntering skipExiting>
240
-
<ScreenTransition key={currentForm}>{content}</ScreenTransition>
241
-
</LayoutAnimationConfig>
242
-
</LoggedOutLayout>
243
-
</KeyboardAvoidingView>
247
+
<Animated.View style={a.flex_1} entering={native(FadeIn.duration(90))}>
248
+
<KeyboardAvoidingView testID="signIn" behavior="padding" style={a.flex_1}>
249
+
<LoggedOutLayout
250
+
leadin=""
251
+
title={title}
252
+
description={description}
253
+
scrollable>
254
+
<LayoutAnimationConfig skipEntering>
255
+
<ScreenTransition
256
+
key={currentForm}
257
+
direction={screenTransitionDirection}>
258
+
{content}
259
+
</ScreenTransition>
260
+
</LayoutAnimationConfig>
261
+
</LoggedOutLayout>
262
+
</KeyboardAvoidingView>
263
+
</Animated.View>
244
264
)
245
265
}
+4
-2
src/screens/Messages/ChatList.tsx
+4
-2
src/screens/Messages/ChatList.tsx
···
265
265
width={48}
266
266
fill={t.atoms.text_contrast_low.color}
267
267
/>
268
-
<Text style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_bold]}>
268
+
<Text
269
+
style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_semi_bold]}>
269
270
<Trans>Whoops!</Trans>
270
271
</Text>
271
272
<Text
···
298
299
<>
299
300
<View style={[a.pt_3xl, a.align_center]}>
300
301
<MessageIcon width={48} fill={t.palette.primary_500} />
301
-
<Text style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_bold]}>
302
+
<Text
303
+
style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_semi_bold]}>
302
304
<Trans>Nothing here</Trans>
303
305
</Text>
304
306
<Text
+4
-2
src/screens/Messages/Inbox.tsx
+4
-2
src/screens/Messages/Inbox.tsx
···
193
193
width={48}
194
194
fill={t.atoms.text_contrast_low.color}
195
195
/>
196
-
<Text style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_bold]}>
196
+
<Text
197
+
style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_semi_bold]}>
197
198
<Trans>Whoops!</Trans>
198
199
</Text>
199
200
<Text
···
225
226
<>
226
227
<View style={[a.pt_3xl, a.align_center]}>
227
228
<MessageIcon width={48} fill={t.palette.primary_500} />
228
-
<Text style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_bold]}>
229
+
<Text
230
+
style={[a.pt_md, a.pb_sm, a.text_2xl, a.font_semi_bold]}>
229
231
<Trans comment="Title message shown in chat requests inbox when it's empty">
230
232
Inbox zero!
231
233
</Trans>
+2
-2
src/screens/Messages/Settings.tsx
+2
-2
src/screens/Messages/Settings.tsx
···
71
71
</Layout.Header.Outer>
72
72
<Layout.Content>
73
73
<View style={[a.p_lg, a.gap_md]}>
74
-
<Text style={[a.text_lg, a.font_bold]}>
74
+
<Text style={[a.text_lg, a.font_semi_bold]}>
75
75
<Trans>Allow new messages from</Trans>
76
76
</Text>
77
77
<Toggle.Group
···
121
121
{isNative && (
122
122
<>
123
123
<Divider style={a.my_md} />
124
-
<Text style={[a.text_lg, a.font_bold]}>
124
+
<Text style={[a.text_lg, a.font_semi_bold]}>
125
125
<Trans>Notification Sounds</Trans>
126
126
</Text>
127
127
<Toggle.Group
+7
-2
src/screens/Messages/components/ChatDisabled.tsx
+7
-2
src/screens/Messages/components/ChatDisabled.tsx
···
22
22
<View
23
23
style={[a.align_start, a.p_xl, a.rounded_md, t.atoms.bg_contrast_25]}>
24
24
<Text
25
-
style={[a.text_md, a.font_bold, a.pb_sm, t.atoms.text_contrast_high]}>
25
+
style={[
26
+
a.text_md,
27
+
a.font_semi_bold,
28
+
a.pb_sm,
29
+
t.atoms.text_contrast_high,
30
+
]}>
26
31
<Trans>Your chats have been disabled</Trans>
27
32
</Text>
28
33
<Text style={[a.text_sm, a.leading_snug, t.atoms.text_contrast_medium]}>
···
104
109
105
110
return (
106
111
<Dialog.ScrollableInner label={_(msg`Appeal this decision`)}>
107
-
<Text style={[a.text_2xl, a.font_bold, a.pb_xs, a.leading_tight]}>
112
+
<Text style={[a.text_2xl, a.font_semi_bold, a.pb_xs, a.leading_tight]}>
108
113
<Trans>Appeal this decision</Trans>
109
114
</Text>
110
115
<Text style={[a.text_md, a.leading_snug]}>
+3
-3
src/screens/Messages/components/ChatListItem.tsx
+3
-3
src/screens/Messages/components/ChatListItem.tsx
···
333
333
return (
334
334
<GestureActionView actions={actions}>
335
335
<View
336
-
// @ts-expect-error web only
337
336
onMouseEnter={onMouseEnter}
338
337
onMouseLeave={onMouseLeave}
338
+
// @ts-expect-error web only
339
339
onFocus={onFocus}
340
340
onBlur={onMouseLeave}
341
341
style={[a.relative, t.atoms.bg]}>
···
397
397
style={[
398
398
a.text_md,
399
399
t.atoms.text,
400
-
a.font_bold,
400
+
a.font_semi_bold,
401
401
{lineHeight: 21},
402
402
isDimStyle && t.atoms.text_contrast_medium,
403
403
]}>
···
461
461
style={[
462
462
a.text_sm,
463
463
a.leading_snug,
464
-
hasUnread ? a.font_bold : t.atoms.text_contrast_high,
464
+
hasUnread ? a.font_semi_bold : t.atoms.text_contrast_high,
465
465
isDimStyle && t.atoms.text_contrast_medium,
466
466
]}>
467
467
{lastMessage}
+1
-1
src/screens/Messages/components/InboxPreview.tsx
+1
-1
src/screens/Messages/components/InboxPreview.tsx
+1
-1
src/screens/Messages/components/RequestListItem.tsx
+1
-1
src/screens/Messages/components/RequestListItem.tsx
···
38
38
{/* spacer, since you can't nest pressables */}
39
39
<View style={[a.pt_md, a.pb_xs, a.w_full, {opacity: 0}]} aria-hidden>
40
40
{/* Placeholder text so that it responds to the font height */}
41
-
<Text style={[a.text_xs, a.leading_tight, a.font_bold]}>
41
+
<Text style={[a.text_xs, a.leading_tight, a.font_semi_bold]}>
42
42
<Trans comment="Accept a chat request">Accept Request</Trans>
43
43
</Text>
44
44
</View>
+12
-6
src/screens/Moderation/index.tsx
+12
-6
src/screens/Moderation/index.tsx
···
142
142
]}>
143
143
<View style={[a.flex_row, a.align_center, a.gap_md]}>
144
144
<Icon size="md" style={[t.atoms.text_contrast_medium]} />
145
-
<Text style={[a.text_sm, a.font_bold]}>{title}</Text>
145
+
<Text style={[a.text_sm, a.font_semi_bold]}>{title}</Text>
146
146
</View>
147
147
<ChevronRight
148
148
size="sm"
···
221
221
)}
222
222
223
223
<Text
224
-
style={[a.text_md, a.font_bold, a.pb_md, t.atoms.text_contrast_high]}>
224
+
style={[
225
+
a.text_md,
226
+
a.font_semi_bold,
227
+
a.pb_md,
228
+
t.atoms.text_contrast_high,
229
+
]}>
225
230
<Trans>Moderation tools</Trans>
226
231
</Text>
227
232
···
330
335
a.pt_2xl,
331
336
a.pb_md,
332
337
a.text_md,
333
-
a.font_bold,
338
+
a.font_semi_bold,
334
339
t.atoms.text_contrast_high,
335
340
]}>
336
341
<Trans>Content filters</Trans>
···
364
369
a.pt_2xl,
365
370
a.pb_md,
366
371
a.text_md,
367
-
a.font_bold,
372
+
a.font_semi_bold,
368
373
t.atoms.text_contrast_high,
369
374
]}>
370
375
<Trans>Content filters</Trans>
···
396
401
a.justify_between,
397
402
disabledOnIOS && {opacity: 0.5},
398
403
]}>
399
-
<Text style={[a.font_bold, t.atoms.text_contrast_high]}>
404
+
<Text
405
+
style={[a.font_semi_bold, t.atoms.text_contrast_high]}>
400
406
<Trans>Enable adult content</Trans>
401
407
</Text>
402
408
<Toggle.Item
···
465
471
<Text
466
472
style={[
467
473
a.text_md,
468
-
a.font_bold,
474
+
a.font_semi_bold,
469
475
a.pt_2xl,
470
476
a.pb_md,
471
477
t.atoms.text_contrast_high,
+2
-5
src/screens/Onboarding/Layout.tsx
+2
-5
src/screens/Onboarding/Layout.tsx
···
17
17
useTheme,
18
18
web,
19
19
} from '#/alf'
20
-
import {leading} from '#/alf/typography'
21
20
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
22
21
import {ArrowLeft_Stroke2_Corner0_Rounded as ArrowLeft} from '#/components/icons/Arrow'
23
22
import {HEADER_SLOT_SIZE} from '#/components/Layout'
···
234
233
style={[
235
234
a.pb_sm,
236
235
a.text_4xl,
237
-
a.font_bold,
238
-
{
239
-
lineHeight: leading(a.text_4xl, a.leading_tight),
240
-
},
236
+
a.font_semi_bold,
237
+
a.leading_tight,
241
238
flatten(style),
242
239
]}>
243
240
{children}
+4
-4
src/screens/Onboarding/StepFinished.tsx
+4
-4
src/screens/Onboarding/StepFinished.tsx
···
432
432
</View>
433
433
434
434
<View style={[a.gap_sm]}>
435
-
<Text style={[a.font_heavy, a.text_3xl, a.text_center]}>
435
+
<Text style={[a.font_bold, a.text_3xl, a.text_center]}>
436
436
{title}
437
437
</Text>
438
438
<Text
···
537
537
<View style={[a.flex_row, a.align_center, a.w_full, a.gap_lg]}>
538
538
<IconCircle icon={Growth} size="lg" style={{width: 48, height: 48}} />
539
539
<View style={[a.flex_1, a.gap_xs]}>
540
-
<Text style={[a.font_bold, a.text_lg]}>
540
+
<Text style={[a.font_semi_bold, a.text_lg]}>
541
541
<Trans>Public</Trans>
542
542
</Text>
543
543
<Text
···
551
551
<View style={[a.flex_row, a.align_center, a.w_full, a.gap_lg]}>
552
552
<IconCircle icon={News} size="lg" style={{width: 48, height: 48}} />
553
553
<View style={[a.flex_1, a.gap_xs]}>
554
-
<Text style={[a.font_bold, a.text_lg]}>
554
+
<Text style={[a.font_semi_bold, a.text_lg]}>
555
555
<Trans>Open</Trans>
556
556
</Text>
557
557
<Text
···
567
567
style={{width: 48, height: 48}}
568
568
/>
569
569
<View style={[a.flex_1, a.gap_xs]}>
570
-
<Text style={[a.font_bold, a.text_lg]}>
570
+
<Text style={[a.font_semi_bold, a.text_lg]}>
571
571
<Trans>Flexible</Trans>
572
572
</Text>
573
573
<Text
+1
-1
src/screens/Onboarding/StepInterests/InterestButton.tsx
+1
-1
src/screens/Onboarding/StepInterests/InterestButton.tsx
+1
-1
src/screens/Onboarding/StepInterests/index.tsx
+1
-1
src/screens/Onboarding/StepInterests/index.tsx
+1
-1
src/screens/Onboarding/StepSuggestedAccounts/index.tsx
+1
-1
src/screens/Onboarding/StepSuggestedAccounts/index.tsx
···
133
133
134
134
return (
135
135
<View style={[a.align_start]} testID="onboardingInterests">
136
-
<Text style={[a.font_heavy, a.text_3xl]}>
136
+
<Text style={[a.font_bold, a.text_3xl]}>
137
137
<Trans comment="Accounts suggested to the user for them to follow">
138
138
Suggested for you
139
139
</Trans>
+6
-1
src/screens/PostThread/components/ThreadError.tsx
+6
-1
src/screens/PostThread/components/ThreadError.tsx
+16
-10
src/screens/PostThread/components/ThreadItemAnchor.tsx
+16
-10
src/screens/PostThread/components/ThreadItemAnchor.tsx
···
129
129
]}>
130
130
<TrashIcon style={[t.atoms.text_contrast_medium]} />
131
131
</View>
132
-
<Text style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
132
+
<Text
133
+
style={[a.text_md, a.font_semi_bold, t.atoms.text_contrast_medium]}>
133
134
<Trans>Post has been deleted</Trans>
134
135
</Text>
135
136
</View>
···
343
344
style={[
344
345
a.flex_shrink,
345
346
a.text_lg,
346
-
a.font_bold,
347
+
a.font_semi_bold,
347
348
a.leading_snug,
348
349
]}
349
350
numberOfLines={1}>
···
439
440
<Text
440
441
testID="repostCount-expanded"
441
442
style={[a.text_md, t.atoms.text_contrast_medium]}>
442
-
<Text style={[a.text_md, a.font_bold, t.atoms.text]}>
443
+
<Text style={[a.text_md, a.font_semi_bold, t.atoms.text]}>
443
444
{formatPostStatCount(post.repostCount)}
444
445
</Text>{' '}
445
446
<Plural
···
457
458
<Text
458
459
testID="quoteCount-expanded"
459
460
style={[a.text_md, t.atoms.text_contrast_medium]}>
460
-
<Text style={[a.text_md, a.font_bold, t.atoms.text]}>
461
+
<Text style={[a.text_md, a.font_semi_bold, t.atoms.text]}>
461
462
{formatPostStatCount(post.quoteCount)}
462
463
</Text>{' '}
463
464
<Plural
···
473
474
<Text
474
475
testID="likeCount-expanded"
475
476
style={[a.text_md, t.atoms.text_contrast_medium]}>
476
-
<Text style={[a.text_md, a.font_bold, t.atoms.text]}>
477
+
<Text style={[a.text_md, a.font_semi_bold, t.atoms.text]}>
477
478
{formatPostStatCount(post.likeCount)}
478
479
</Text>{' '}
479
480
<Plural value={post.likeCount} one="like" other="likes" />
···
484
485
<Text
485
486
testID="bookmarkCount-expanded"
486
487
style={[a.text_md, t.atoms.text_contrast_medium]}>
487
-
<Text style={[a.text_md, a.font_bold, t.atoms.text]}>
488
+
<Text style={[a.text_md, a.font_semi_bold, t.atoms.text]}>
488
489
{formatPostStatCount(post.bookmarkCount)}
489
490
</Text>{' '}
490
491
<Plural value={post.bookmarkCount} one="save" other="saves" />
···
652
653
<Text
653
654
style={[
654
655
a.text_xs,
655
-
a.font_bold,
656
+
a.font_semi_bold,
656
657
a.leading_tight,
657
658
t.atoms.text_contrast_medium,
658
659
]}>
···
669
670
<Prompt.DescriptionText>
670
671
<Trans>
671
672
This post claims to have been created on{' '}
672
-
<RNText style={[a.font_bold]}>{niceDate(i18n, createdAt)}</RNText>,
673
-
but was first seen by Bluesky on{' '}
674
-
<RNText style={[a.font_bold]}>{niceDate(i18n, indexedAt)}</RNText>.
673
+
<RNText style={[a.font_semi_bold]}>
674
+
{niceDate(i18n, createdAt)}
675
+
</RNText>
676
+
, but was first seen by Bluesky on{' '}
677
+
<RNText style={[a.font_semi_bold]}>
678
+
{niceDate(i18n, indexedAt)}
679
+
</RNText>
680
+
.
675
681
</Trans>
676
682
</Prompt.DescriptionText>
677
683
<Text
+2
-1
src/screens/PostThread/components/ThreadItemPost.tsx
+2
-1
src/screens/PostThread/components/ThreadItemPost.tsx
···
106
106
]}>
107
107
<TrashIcon style={[t.atoms.text_contrast_medium]} />
108
108
</View>
109
-
<Text style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
109
+
<Text
110
+
style={[a.text_md, a.font_semi_bold, t.atoms.text_contrast_medium]}>
110
111
<Trans>Post has been deleted</Trans>
111
112
</Text>
112
113
</View>
+2
-1
src/screens/PostThread/components/ThreadItemPostTombstone.tsx
+2
-1
src/screens/PostThread/components/ThreadItemPostTombstone.tsx
···
46
46
<View style={[a.flex_row, a.justify_center, {width: LINEAR_AVI_WIDTH}]}>
47
47
<Icon style={[t.atoms.text_contrast_medium]} />
48
48
</View>
49
-
<Text style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
49
+
<Text
50
+
style={[a.text_md, a.font_semi_bold, t.atoms.text_contrast_medium]}>
50
51
{copy}
51
52
</Text>
52
53
</View>
+1
-1
src/screens/Profile/ErrorState.tsx
+1
-1
src/screens/Profile/ErrorState.tsx
···
27
27
<View style={[a.px_xl]}>
28
28
<CircleInfo width={48} style={[t.atoms.text_contrast_low]} />
29
29
30
-
<Text style={[a.text_xl, a.font_bold, a.pb_md, a.pt_xl]}>
30
+
<Text style={[a.text_xl, a.font_semi_bold, a.pb_md, a.pt_xl]}>
31
31
<Trans>Hmmmm, we couldn't load that moderation service.</Trans>
32
32
</Text>
33
33
<Text
+1
-1
src/screens/Profile/Header/DisplayName.tsx
+1
-1
src/screens/Profile/Header/DisplayName.tsx
+7
-9
src/screens/Profile/Header/EditProfileDialog.tsx
+7
-9
src/screens/Profile/Header/EditProfileDialog.tsx
···
1
1
import {useCallback, useEffect, useState} from 'react'
2
-
import {Dimensions, View} from 'react-native'
2
+
import {useWindowDimensions, View} from 'react-native'
3
3
import {type AppBskyActorDefs} from '@atproto/api'
4
4
import {msg, Plural, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
···
27
27
28
28
const DISPLAY_NAME_MAX_GRAPHEMES = 64
29
29
const DESCRIPTION_MAX_GRAPHEMES = 256
30
-
31
-
const SCREEN_HEIGHT = Dimensions.get('window').height
32
30
33
31
export function EditProfileDialog({
34
32
profile,
···
42
40
const {_} = useLingui()
43
41
const cancelControl = Dialog.useDialogControl()
44
42
const [dirty, setDirty] = useState(false)
43
+
const {height} = useWindowDimensions()
45
44
46
45
const onPressCancel = useCallback(() => {
47
46
if (dirty) {
···
56
55
control={control}
57
56
nativeOptions={{
58
57
preventDismiss: dirty,
59
-
minHeight: SCREEN_HEIGHT,
58
+
minHeight: height,
60
59
}}
61
60
webOptions={{
62
61
onBackgroundPress: () => {
···
186
185
newUserAvatar,
187
186
newUserBanner,
188
187
})
189
-
onUpdate?.()
190
-
control.close()
188
+
control.close(() => onUpdate?.())
191
189
Toast.show(_(msg({message: 'Profile updated', context: 'toast'})))
192
190
} catch (e: any) {
193
191
logger.error('Failed to update user profile', {message: String(e)})
···
328
326
style={[
329
327
a.text_sm,
330
328
a.mt_xs,
331
-
a.font_bold,
329
+
a.font_semi_bold,
332
330
{color: t.palette.negative_400},
333
331
]}>
334
332
<Plural
···
369
367
defaultValue={description}
370
368
onChangeText={setDescription}
371
369
multiline
372
-
label={_(msg`Display name`)}
370
+
label={_(msg`Description`)}
373
371
placeholder={_(msg`Tell us a bit about yourself`)}
374
372
testID="editProfileDescriptionInput"
375
373
/>
···
379
377
style={[
380
378
a.text_sm,
381
379
a.mt_xs,
382
-
a.font_bold,
380
+
a.font_semi_bold,
383
381
{color: t.palette.negative_400},
384
382
]}>
385
383
<Plural
+3
-3
src/screens/Profile/Header/Metrics.tsx
+3
-3
src/screens/Profile/Header/Metrics.tsx
···
37
37
style={[a.flex_row, t.atoms.text]}
38
38
to={makeProfileLink(profile, 'followers')}
39
39
label={`${profile.followersCount || 0} ${pluralizedFollowers}`}>
40
-
<Text style={[a.font_bold, a.text_md]}>{followers} </Text>
40
+
<Text style={[a.font_semi_bold, a.text_md]}>{followers} </Text>
41
41
<Text style={[t.atoms.text_contrast_medium, a.text_md]}>
42
42
{pluralizedFollowers}
43
43
</Text>
···
47
47
style={[a.flex_row, t.atoms.text]}
48
48
to={makeProfileLink(profile, 'follows')}
49
49
label={_(msg`${profile.followsCount || 0} following`)}>
50
-
<Text style={[a.font_bold, a.text_md]}>{following} </Text>
50
+
<Text style={[a.font_semi_bold, a.text_md]}>{following} </Text>
51
51
<Text style={[t.atoms.text_contrast_medium, a.text_md]}>
52
52
{pluralizedFollowings}
53
53
</Text>
54
54
</InlineLinkText>
55
-
<Text style={[a.font_bold, t.atoms.text, a.text_md]}>
55
+
<Text style={[a.font_semi_bold, t.atoms.text, a.text_md]}>
56
56
{formatCount(i18n, profile.postsCount || 0)}{' '}
57
57
<Text style={[t.atoms.text_contrast_medium, a.font_normal, a.text_md]}>
58
58
{plural(profile.postsCount || 0, {one: 'post', other: 'posts'})}
+2
-2
src/screens/Profile/Header/ProfileHeaderLabeler.tsx
+2
-2
src/screens/Profile/Header/ProfileHeaderLabeler.tsx
···
225
225
? t.palette.contrast_700
226
226
: t.palette.white,
227
227
},
228
-
a.font_bold,
228
+
a.font_semi_bold,
229
229
a.text_center,
230
230
a.leading_tight,
231
231
]}>
···
297
297
{({hovered, focused, pressed}) => (
298
298
<Text
299
299
style={[
300
-
a.font_bold,
300
+
a.font_semi_bold,
301
301
a.text_sm,
302
302
t.atoms.text_contrast_medium,
303
303
(hovered || focused || pressed) &&
+1
-1
src/screens/Profile/Header/ProfileHeaderStandard.tsx
+1
-1
src/screens/Profile/Header/ProfileHeaderStandard.tsx
+2
-2
src/screens/Profile/components/ProfileFeedHeader.tsx
+2
-2
src/screens/Profile/components/ProfileFeedHeader.tsx
···
234
234
<Text
235
235
style={[
236
236
a.text_md,
237
-
a.font_heavy,
237
+
a.font_bold,
238
238
a.leading_tight,
239
239
gtMobile && a.text_lg,
240
240
]}
···
441
441
442
442
<View style={[a.flex_1, a.gap_2xs]}>
443
443
<Text
444
-
style={[a.text_2xl, a.font_heavy, a.leading_tight]}
444
+
style={[a.text_2xl, a.font_bold, a.leading_tight]}
445
445
numberOfLines={2}>
446
446
{info.displayName}
447
447
</Text>
+1
-1
src/screens/ProfileList/components/ErrorScreen.tsx
+1
-1
src/screens/ProfileList/components/ErrorScreen.tsx
+5
-10
src/screens/ProfileList/components/MoreOptionsMenu.tsx
+5
-10
src/screens/ProfileList/components/MoreOptionsMenu.tsx
···
8
8
import {toShareUrl} from '#/lib/strings/url-helpers'
9
9
import {logger} from '#/logger'
10
10
import {isWeb} from '#/platform/detection'
11
-
import {useModalControls} from '#/state/modals'
12
11
import {
13
12
useListBlockMutation,
14
13
useListDeleteMutation,
···
18
17
import {useSession} from '#/state/session'
19
18
import {Button, ButtonIcon} from '#/components/Button'
20
19
import {useDialogControl} from '#/components/Dialog'
20
+
import {CreateOrEditListDialog} from '#/components/dialogs/lists/CreateOrEditListDialog'
21
21
import {ArrowOutOfBoxModified_Stroke2_Corner2_Rounded as ShareIcon} from '#/components/icons/ArrowOutOfBox'
22
22
import {ChainLink_Stroke2_Corner0_Rounded as ChainLink} from '#/components/icons/ChainLink'
23
23
import {DotGrid_Stroke2_Corner0_Rounded as DotGridIcon} from '#/components/icons/DotGrid'
···
44
44
}) {
45
45
const {_} = useLingui()
46
46
const {currentAccount} = useSession()
47
-
const {openModal} = useModalControls()
47
+
const editListDialogControl = useDialogControl()
48
48
const deleteListPromptControl = useDialogControl()
49
49
const reportDialogControl = useReportDialogControl()
50
50
const navigation = useNavigation<NavigationProp>()
···
80
80
}
81
81
}
82
82
83
-
const onPressEdit = () => {
84
-
openModal({
85
-
name: 'create-or-edit-list',
86
-
list,
87
-
})
88
-
}
89
-
90
83
const onPressDelete = async () => {
91
84
await deleteList({uri: list.uri})
92
85
···
201
194
<Menu.Group>
202
195
<Menu.Item
203
196
label={_(msg`Edit list details`)}
204
-
onPress={onPressEdit}>
197
+
onPress={editListDialogControl.open}>
205
198
<Menu.ItemText>
206
199
<Trans>Edit list details</Trans>
207
200
</Menu.ItemText>
···
274
267
)}
275
268
</Menu.Outer>
276
269
</Menu.Root>
270
+
271
+
<CreateOrEditListDialog control={editListDialogControl} list={list} />
277
272
278
273
<Prompt.Basic
279
274
control={deleteListPromptControl}
+1
-1
src/screens/Search/Explore.tsx
+1
-1
src/screens/Search/Explore.tsx
+1
-1
src/screens/Search/Shell.tsx
+1
-1
src/screens/Search/Shell.tsx
+5
-1
src/screens/Search/components/ModuleHeader.tsx
+5
-1
src/screens/Search/components/ModuleHeader.tsx
···
93
93
94
94
export function TitleText({style, ...props}: TextProps) {
95
95
return (
96
-
<Text style={[a.font_bold, a.flex_1, a.text_xl, style]} emoji {...props} />
96
+
<Text
97
+
style={[a.font_semi_bold, a.flex_1, a.text_xl, style]}
98
+
emoji
99
+
{...props}
100
+
/>
97
101
)
98
102
}
99
103
+1
-1
src/screens/Search/components/SearchHistory.tsx
+1
-1
src/screens/Search/components/SearchHistory.tsx
···
45
45
<View style={[a.w_full, a.gap_md]}>
46
46
{(searchHistory.length > 0 || selectedProfiles.length > 0) && (
47
47
<View style={[a.px_lg, a.pt_sm]}>
48
-
<Text style={[a.text_md, a.font_bold]}>
48
+
<Text style={[a.text_md, a.font_semi_bold]}>
49
49
<Trans>Recent Searches</Trans>
50
50
</Text>
51
51
</View>
+2
-2
src/screens/Search/components/StarterPackCard.tsx
+2
-2
src/screens/Search/components/StarterPackCard.tsx
···
89
89
<View style={[a.flex_1]}>
90
90
<Text
91
91
emoji
92
-
style={[a.text_md, a.font_bold, a.leading_snug]}
92
+
style={[a.text_md, a.font_semi_bold, a.leading_snug]}
93
93
numberOfLines={1}>
94
94
{record.name}
95
95
</Text>
···
242
242
<Text
243
243
style={[
244
244
gtPhone ? a.text_md : a.text_xs,
245
-
a.font_bold,
245
+
a.font_semi_bold,
246
246
a.leading_snug,
247
247
{color: 'white'},
248
248
]}>
+1
-1
src/screens/Search/modules/ExploreInterestsCard.tsx
+1
-1
src/screens/Search/modules/ExploreInterestsCard.tsx
+1
-1
src/screens/Search/modules/ExploreRecommendations.tsx
+1
-1
src/screens/Search/modules/ExploreRecommendations.tsx
+2
-2
src/screens/Search/modules/ExploreTrendingTopics.tsx
+2
-2
src/screens/Search/modules/ExploreTrendingTopics.tsx
···
104
104
<Text
105
105
style={[
106
106
a.text_md,
107
-
a.font_bold,
107
+
a.font_semi_bold,
108
108
a.leading_tight,
109
109
{width: 20},
110
110
]}>
···
113
113
</Trans>
114
114
</Text>
115
115
<Text
116
-
style={[a.text_md, a.font_bold, a.leading_tight]}
116
+
style={[a.text_md, a.font_semi_bold, a.leading_tight]}
117
117
numberOfLines={1}>
118
118
{trend.displayName}
119
119
</Text>
+1
-1
src/screens/Settings/AboutSettings.tsx
+1
-1
src/screens/Settings/AboutSettings.tsx
···
1
1
import {Platform} from 'react-native'
2
2
import {setStringAsync} from 'expo-clipboard'
3
-
import * as FileSystem from 'expo-file-system'
3
+
import * as FileSystem from 'expo-file-system/legacy'
4
4
import {Image} from 'expo-image'
5
5
import {msg, Trans} from '@lingui/macro'
6
6
import {useLingui} from '@lingui/react'
+1
-1
src/screens/Settings/AccountSettings.tsx
+1
-1
src/screens/Settings/AccountSettings.tsx
···
97
97
color={t.palette.primary_500}
98
98
/>
99
99
<SettingsList.ItemText
100
-
style={[{color: t.palette.primary_500}, a.font_bold]}>
100
+
style={[{color: t.palette.primary_500}, a.font_semi_bold]}>
101
101
<Trans>Verify your email</Trans>
102
102
</SettingsList.ItemText>
103
103
<SettingsList.Chevron color={t.palette.primary_500} />
+7
-2
src/screens/Settings/AppIconSettings/index.tsx
+7
-2
src/screens/Settings/AppIconSettings/index.tsx
···
93
93
a.text_md,
94
94
a.mt_xl,
95
95
a.mb_sm,
96
-
a.font_bold,
96
+
a.font_semi_bold,
97
97
t.atoms.text_contrast_medium,
98
98
]}>
99
99
<Trans>Bluesky+</Trans>
···
201
201
const t = useTheme()
202
202
return (
203
203
<Text
204
-
style={[a.text_md, a.font_bold, a.flex_1, t.atoms.text_contrast_medium]}
204
+
style={[
205
+
a.text_md,
206
+
a.font_semi_bold,
207
+
a.flex_1,
208
+
t.atoms.text_contrast_medium,
209
+
]}
205
210
emoji>
206
211
{children}
207
212
</Text>
+5
-2
src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx
+5
-2
src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx
···
140
140
Enable notifications for an account by visiting their
141
141
profile and pressing the{' '}
142
142
<RNText
143
-
style={[a.font_bold, t.atoms.text_contrast_high]}>
143
+
style={[
144
+
a.font_semi_bold,
145
+
t.atoms.text_contrast_high,
146
+
]}>
144
147
bell icon
145
148
</RNText>{' '}
146
149
<BellRingingFilledIcon
···
157
160
<InlineLinkText
158
161
label={_(msg`Privacy and Security settings`)}
159
162
to={{screen: 'ActivityPrivacySettings'}}
160
-
style={[a.font_bold]}>
163
+
style={[a.font_semi_bold]}>
161
164
Settings → Privacy and Security
162
165
</InlineLinkText>
163
166
.
+1
-1
src/screens/Settings/NotificationSettings/components/ItemTextWithSubtitle.tsx
+1
-1
src/screens/Settings/NotificationSettings/components/ItemTextWithSubtitle.tsx
···
19
19
const t = useTheme()
20
20
return (
21
21
<View style={[a.flex_1, bold ? a.gap_xs : a.gap_2xs]}>
22
-
<SettingsList.ItemText style={bold && [a.font_bold, a.text_lg]}>
22
+
<SettingsList.ItemText style={bold && [a.font_semi_bold, a.text_lg]}>
23
23
{titleText}
24
24
</SettingsList.ItemText>
25
25
{showSkeleton ? (
+1
-1
src/screens/Settings/NotificationSettings/components/PreferenceControls.tsx
+1
-1
src/screens/Settings/NotificationSettings/components/PreferenceControls.tsx
+1
-1
src/screens/Settings/Settings.tsx
+1
-1
src/screens/Settings/Settings.tsx
+2
-2
src/screens/Settings/components/AddAppPasswordDialog.tsx
+2
-2
src/screens/Settings/components/AddAppPasswordDialog.tsx
···
107
107
style={[a.gap_lg]}
108
108
exiting={native(SlideOutLeft)}
109
109
key={0}>
110
-
<Text style={[a.text_2xl, a.font_bold]}>
110
+
<Text style={[a.text_2xl, a.font_semi_bold]}>
111
111
<Trans>Add App Password</Trans>
112
112
</Text>
113
113
<Text style={[a.text_md, a.leading_snug]}>
···
183
183
style={[a.gap_lg]}
184
184
entering={isWeb ? FadeIn.delay(200) : SlideInRight}
185
185
key={1}>
186
-
<Text style={[a.text_2xl, a.font_bold]}>
186
+
<Text style={[a.text_2xl, a.font_semi_bold]}>
187
187
<Trans>Here is your app password!</Trans>
188
188
</Text>
189
189
<Text style={[a.text_md, a.leading_snug]}>
+3
-3
src/screens/Settings/components/ChangeHandleDialog.tsx
+3
-3
src/screens/Settings/components/ChangeHandleDialog.tsx
···
244
244
<Text>
245
245
<Trans>
246
246
Your full handle will be{' '}
247
-
<Text style={[a.font_bold]}>
247
+
<Text style={[a.font_semi_bold]}>
248
248
@{createFullHandle(subdomain, host)}
249
249
</Text>
250
250
</Trans>
···
280
280
}),
281
281
)}
282
282
to="https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial"
283
-
style={[a.font_bold]}
283
+
style={[a.font_semi_bold]}
284
284
disableMismatchWarning>
285
285
Learn more here.
286
286
</InlineLinkText>
···
522
522
<Admonition type="info" style={[a.mb_md]}>
523
523
<Trans>
524
524
Your current handle{' '}
525
-
<Text style={[a.font_bold]}>
525
+
<Text style={[a.font_semi_bold]}>
526
526
{sanitizeHandle(currentAccount?.handle || '', '@')}
527
527
</Text>{' '}
528
528
will automatically remain reserved for you. You can switch back to
+1
-1
src/screens/Settings/components/ChangePasswordDialog.tsx
+1
-1
src/screens/Settings/components/ChangePasswordDialog.tsx
+1
-1
src/screens/Settings/components/CopyButton.tsx
+1
-1
src/screens/Settings/components/CopyButton.tsx
+1
-1
src/screens/Settings/components/DisableEmail2FADialog.tsx
+1
-1
src/screens/Settings/components/DisableEmail2FADialog.tsx
···
85
85
<View style={[a.relative, a.gap_md, a.w_full]}>
86
86
<Text
87
87
nativeID="dialog-title"
88
-
style={[a.text_2xl, a.font_bold, t.atoms.text]}>
88
+
style={[a.text_2xl, a.font_semi_bold, t.atoms.text]}>
89
89
<Trans>Disable Email 2FA</Trans>
90
90
</Text>
91
91
<P nativeID="dialog-description">
+1
-1
src/screens/Settings/components/ExportCarDialog.tsx
+1
-1
src/screens/Settings/components/ExportCarDialog.tsx
···
58
58
accessibilityDescribedBy="dialog-description"
59
59
accessibilityLabelledBy="dialog-title">
60
60
<View style={[a.relative, a.gap_lg, a.w_full]}>
61
-
<Text nativeID="dialog-title" style={[a.text_2xl, a.font_heavy]}>
61
+
<Text nativeID="dialog-title" style={[a.text_2xl, a.font_bold]}>
62
62
<Trans>Export My Data</Trans>
63
63
</Text>
64
64
<Text
+2
-3
src/screens/Signup/StepCaptcha/index.tsx
+2
-3
src/screens/Signup/StepCaptcha/index.tsx
···
8
8
import {createFullHandle} from '#/lib/strings/handles'
9
9
import {logger} from '#/logger'
10
10
import {isAndroid, isIOS, isNative, isWeb} from '#/platform/detection'
11
-
import {ScreenTransition} from '#/screens/Login/ScreenTransition'
12
11
import {useSignupContext} from '#/screens/Signup/state'
13
12
import {CaptchaWebView} from '#/screens/Signup/StepCaptcha/CaptchaWebView'
14
13
import {atoms as a, useTheme} from '#/alf'
···
143
142
}, [dispatch, state.handle])
144
143
145
144
return (
146
-
<ScreenTransition>
145
+
<>
147
146
<View style={[a.gap_lg, a.pt_lg]}>
148
147
<View
149
148
style={[
···
171
170
isLoading={state.isLoading}
172
171
onBackPress={onBackPress}
173
172
/>
174
-
</ScreenTransition>
173
+
</>
175
174
)
176
175
}
177
176
+2
-3
src/screens/Signup/StepHandle/index.tsx
+2
-3
src/screens/Signup/StepHandle/index.tsx
···
19
19
checkHandleAvailability,
20
20
useHandleAvailabilityQuery,
21
21
} from '#/state/queries/handle-availability'
22
-
import {ScreenTransition} from '#/screens/Login/ScreenTransition'
23
22
import {useSignupContext} from '#/screens/Signup/state'
24
23
import {atoms as a, native, useTheme} from '#/alf'
25
24
import * as TextField from '#/components/forms/TextField'
···
141
140
!validCheck.totalLength
142
141
143
142
return (
144
-
<ScreenTransition>
143
+
<>
145
144
<View style={[a.gap_sm, a.pt_lg, a.z_10]}>
146
145
<View>
147
146
<TextField.Root isInvalid={textFieldInvalid}>
···
252
251
onNextPress={onNextPress}
253
252
/>
254
253
</Animated.View>
255
-
</ScreenTransition>
254
+
</>
256
255
)
257
256
}
258
257
+2
-3
src/screens/Signup/StepInfo/index.tsx
+2
-3
src/screens/Signup/StepInfo/index.tsx
···
7
7
8
8
import {isEmailMaybeInvalid} from '#/lib/strings/email'
9
9
import {logger} from '#/logger'
10
-
import {ScreenTransition} from '#/screens/Login/ScreenTransition'
11
10
import {is13, is18, useSignupContext} from '#/screens/Signup/state'
12
11
import {Policies} from '#/screens/Signup/StepInfo/Policies'
13
12
import {atoms as a, native} from '#/alf'
···
147
146
}
148
147
149
148
return (
150
-
<ScreenTransition>
149
+
<>
151
150
<View style={[a.gap_md, a.pt_lg]}>
152
151
<FormError error={state.error} />
153
152
<HostingProvider
···
292
291
onRetryPress={refetchServer}
293
292
overrideNextText={hasWarnedEmail ? _(msg`It's correct`) : undefined}
294
293
/>
295
-
</ScreenTransition>
294
+
</>
296
295
)
297
296
}
+113
-100
src/screens/Signup/index.tsx
+113
-100
src/screens/Signup/index.tsx
···
23
23
import {StepCaptcha} from '#/screens/Signup/StepCaptcha'
24
24
import {StepHandle} from '#/screens/Signup/StepHandle'
25
25
import {StepInfo} from '#/screens/Signup/StepInfo'
26
-
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
26
+
import {atoms as a, native, useBreakpoints, useTheme} from '#/alf'
27
27
import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
28
28
import {Divider} from '#/components/Divider'
29
29
import {LinearGradientBackground} from '#/components/LinearGradientBackground'
30
30
import {InlineLinkText} from '#/components/Link'
31
+
import {ScreenTransition} from '#/components/ScreenTransition'
31
32
import {Text} from '#/components/Typography'
32
33
import {GCP_PROJECT_ID} from '#/env'
33
34
import * as bsky from '#/types/bsky'
···
116
117
}, [])
117
118
118
119
return (
119
-
<SignupContext.Provider value={{state, dispatch}}>
120
-
<LoggedOutLayout
121
-
leadin=""
122
-
title={_(msg`Create Account`)}
123
-
description={_(msg`We're so excited to have you join us!`)}
124
-
scrollable>
125
-
<View testID="createAccount" style={a.flex_1}>
126
-
{showStarterPackCard &&
127
-
bsky.dangerousIsType<AppBskyGraphStarterpack.Record>(
128
-
starterPack.record,
129
-
AppBskyGraphStarterpack.isRecord,
130
-
) ? (
131
-
<Animated.View entering={!isFetchedAtMount ? FadeIn : undefined}>
132
-
<LinearGradientBackground
133
-
style={[a.mx_lg, a.p_lg, a.gap_sm, a.rounded_sm]}>
134
-
<Text style={[a.font_bold, a.text_xl, {color: 'white'}]}>
135
-
{starterPack.record.name}
136
-
</Text>
137
-
<Text style={[{color: 'white'}]}>
138
-
{starterPack.feeds?.length ? (
139
-
<Trans>
140
-
You'll follow the suggested users and feeds once you
141
-
finish creating your account!
142
-
</Trans>
120
+
<Animated.View exiting={native(FadeIn.duration(90))} style={a.flex_1}>
121
+
<SignupContext.Provider value={{state, dispatch}}>
122
+
<LoggedOutLayout
123
+
leadin=""
124
+
title={_(msg`Create Account`)}
125
+
description={_(msg`We're so excited to have you join us!`)}
126
+
scrollable>
127
+
<View testID="createAccount" style={a.flex_1}>
128
+
{showStarterPackCard &&
129
+
bsky.dangerousIsType<AppBskyGraphStarterpack.Record>(
130
+
starterPack.record,
131
+
AppBskyGraphStarterpack.isRecord,
132
+
) ? (
133
+
<Animated.View entering={!isFetchedAtMount ? FadeIn : undefined}>
134
+
<LinearGradientBackground
135
+
style={[a.mx_lg, a.p_lg, a.gap_sm, a.rounded_sm]}>
136
+
<Text style={[a.font_semi_bold, a.text_xl, {color: 'white'}]}>
137
+
{starterPack.record.name}
138
+
</Text>
139
+
<Text style={[{color: 'white'}]}>
140
+
{starterPack.feeds?.length ? (
141
+
<Trans>
142
+
You'll follow the suggested users and feeds once you
143
+
finish creating your account!
144
+
</Trans>
145
+
) : (
146
+
<Trans>
147
+
You'll follow the suggested users once you finish
148
+
creating your account!
149
+
</Trans>
150
+
)}
151
+
</Text>
152
+
</LinearGradientBackground>
153
+
</Animated.View>
154
+
) : null}
155
+
<LayoutAnimationConfig skipEntering>
156
+
<ScreenTransition
157
+
key={state.activeStep}
158
+
direction={state.screenTransitionDirection}>
159
+
<View
160
+
style={[
161
+
a.flex_1,
162
+
a.px_xl,
163
+
a.pt_2xl,
164
+
!gtMobile && {paddingBottom: 100},
165
+
]}>
166
+
<View style={[a.gap_sm, a.pb_3xl]}>
167
+
<Text
168
+
style={[a.font_semi_bold, t.atoms.text_contrast_medium]}>
169
+
<Trans>
170
+
Step {state.activeStep + 1} of{' '}
171
+
{state.serviceDescription &&
172
+
!state.serviceDescription.phoneVerificationRequired
173
+
? '2'
174
+
: '3'}
175
+
</Trans>
176
+
</Text>
177
+
<Text style={[a.text_3xl, a.font_semi_bold]}>
178
+
{state.activeStep === SignupStep.INFO ? (
179
+
<Trans>Your account</Trans>
180
+
) : state.activeStep === SignupStep.HANDLE ? (
181
+
<Trans>Choose your username</Trans>
182
+
) : (
183
+
<Trans>Complete the challenge</Trans>
184
+
)}
185
+
</Text>
186
+
</View>
187
+
188
+
{state.activeStep === SignupStep.INFO ? (
189
+
<StepInfo
190
+
onPressBack={onPressBack}
191
+
isLoadingStarterPack={
192
+
isFetchingStarterPack && !isErrorStarterPack
193
+
}
194
+
isServerError={isError}
195
+
refetchServer={refetch}
196
+
/>
197
+
) : state.activeStep === SignupStep.HANDLE ? (
198
+
<StepHandle />
143
199
) : (
144
-
<Trans>
145
-
You'll follow the suggested users once you finish creating
146
-
your account!
147
-
</Trans>
200
+
<StepCaptcha />
148
201
)}
149
-
</Text>
150
-
</LinearGradientBackground>
151
-
</Animated.View>
152
-
) : null}
153
-
<View
154
-
style={[
155
-
a.flex_1,
156
-
a.px_xl,
157
-
a.pt_2xl,
158
-
!gtMobile && {paddingBottom: 100},
159
-
]}>
160
-
<View style={[a.gap_sm, a.pb_sm]}>
161
-
<Text
162
-
style={[a.text_sm, a.font_bold, t.atoms.text_contrast_medium]}>
163
-
<Trans>
164
-
Step {state.activeStep + 1} of{' '}
165
-
{state.serviceDescription &&
166
-
!state.serviceDescription.phoneVerificationRequired
167
-
? '2'
168
-
: '3'}
169
-
</Trans>
170
-
</Text>
171
-
<Text style={[a.text_3xl, a.font_heavy]}>
172
-
{state.activeStep === SignupStep.INFO ? (
173
-
<Trans>Your account</Trans>
174
-
) : state.activeStep === SignupStep.HANDLE ? (
175
-
<Trans>Choose your username</Trans>
176
-
) : (
177
-
<Trans>Complete the challenge</Trans>
178
-
)}
179
-
</Text>
180
-
</View>
181
-
182
-
<LayoutAnimationConfig skipEntering skipExiting>
183
-
{state.activeStep === SignupStep.INFO ? (
184
-
<StepInfo
185
-
onPressBack={onPressBack}
186
-
isLoadingStarterPack={
187
-
isFetchingStarterPack && !isErrorStarterPack
188
-
}
189
-
isServerError={isError}
190
-
refetchServer={refetch}
191
-
/>
192
-
) : state.activeStep === SignupStep.HANDLE ? (
193
-
<StepHandle />
194
-
) : (
195
-
<StepCaptcha />
196
-
)}
197
-
</LayoutAnimationConfig>
198
202
199
-
<Divider />
203
+
<Divider />
200
204
201
-
<View
202
-
style={[a.w_full, a.py_lg, a.flex_row, a.gap_md, a.align_center]}>
203
-
<AppLanguageDropdown />
204
-
<Text
205
-
style={[
206
-
a.flex_1,
207
-
t.atoms.text_contrast_medium,
208
-
!gtMobile && a.text_md,
209
-
]}>
210
-
<Trans>Having trouble?</Trans>{' '}
211
-
<InlineLinkText
212
-
label={_(msg`Contact support`)}
213
-
to={FEEDBACK_FORM_URL({email: state.email})}
214
-
style={[!gtMobile && a.text_md]}>
215
-
<Trans>Contact support</Trans>
216
-
</InlineLinkText>
217
-
</Text>
218
-
</View>
205
+
<View
206
+
style={[
207
+
a.w_full,
208
+
a.py_lg,
209
+
a.flex_row,
210
+
a.gap_md,
211
+
a.align_center,
212
+
]}>
213
+
<AppLanguageDropdown />
214
+
<Text
215
+
style={[
216
+
a.flex_1,
217
+
t.atoms.text_contrast_medium,
218
+
!gtMobile && a.text_md,
219
+
]}>
220
+
<Trans>Having trouble?</Trans>{' '}
221
+
<InlineLinkText
222
+
label={_(msg`Contact support`)}
223
+
to={FEEDBACK_FORM_URL({email: state.email})}
224
+
style={[!gtMobile && a.text_md]}>
225
+
<Trans>Contact support</Trans>
226
+
</InlineLinkText>
227
+
</Text>
228
+
</View>
229
+
</View>
230
+
</ScreenTransition>
231
+
</LayoutAnimationConfig>
219
232
</View>
220
-
</View>
221
-
</LoggedOutLayout>
222
-
</SignupContext.Provider>
233
+
</LoggedOutLayout>
234
+
</SignupContext.Provider>
235
+
</Animated.View>
223
236
)
224
237
}
+4
-2
src/screens/Signup/state.ts
+4
-2
src/screens/Signup/state.ts
···
41
41
export type SignupState = {
42
42
hasPrev: boolean
43
43
activeStep: SignupStep
44
+
screenTransitionDirection: 'Forward' | 'Backward'
44
45
45
46
serviceUrl: string
46
47
serviceDescription?: ServiceDescription
···
84
85
export const initialState: SignupState = {
85
86
hasPrev: false,
86
87
activeStep: SignupStep.INFO,
88
+
screenTransitionDirection: 'Forward',
87
89
88
90
serviceUrl: DEFAULT_SERVICE,
89
91
serviceDescription: undefined,
···
126
128
switch (a.type) {
127
129
case 'prev': {
128
130
if (s.activeStep !== SignupStep.INFO) {
129
-
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
131
+
next.screenTransitionDirection = 'Backward'
130
132
next.activeStep--
131
133
next.error = ''
132
134
next.errorField = undefined
···
135
137
}
136
138
case 'next': {
137
139
if (s.activeStep !== SignupStep.CAPTCHA) {
138
-
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
140
+
next.screenTransitionDirection = 'Forward'
139
141
next.activeStep++
140
142
next.error = ''
141
143
next.errorField = undefined
+2
-2
src/screens/StarterPack/Wizard/StepDetails.tsx
+2
-2
src/screens/StarterPack/Wizard/StepDetails.tsx
···
8
8
import {atoms as a, useTheme} from '#/alf'
9
9
import * as TextField from '#/components/forms/TextField'
10
10
import {StarterPack} from '#/components/icons/StarterPack'
11
-
import {ScreenTransition} from '#/components/StarterPack/Wizard/ScreenTransition'
11
+
import {ScreenTransition} from '#/components/ScreenTransition'
12
12
import {Text} from '#/components/Typography'
13
13
14
14
export function StepDetails() {
···
23
23
})
24
24
25
25
return (
26
-
<ScreenTransition direction={state.transitionDirection}>
26
+
<ScreenTransition direction={state.transitionDirection} enabledWeb>
27
27
<View style={[a.px_xl, a.gap_xl, a.mt_4xl]}>
28
28
<View style={[a.gap_md, a.align_center, a.px_md, a.mb_md]}>
29
29
<StarterPack width={90} gradient="sky" />
+5
-2
src/screens/StarterPack/Wizard/StepFeeds.tsx
+5
-2
src/screens/StarterPack/Wizard/StepFeeds.tsx
···
17
17
import {SearchInput} from '#/components/forms/SearchInput'
18
18
import {useThrottledValue} from '#/components/hooks/useThrottledValue'
19
19
import {Loader} from '#/components/Loader'
20
-
import {ScreenTransition} from '#/components/StarterPack/Wizard/ScreenTransition'
20
+
import {ScreenTransition} from '#/components/ScreenTransition'
21
21
import {WizardFeedCard} from '#/components/StarterPack/Wizard/WizardListCard'
22
22
import {Text} from '#/components/Typography'
23
23
···
79
79
}
80
80
81
81
return (
82
-
<ScreenTransition style={[a.flex_1]} direction={state.transitionDirection}>
82
+
<ScreenTransition
83
+
style={[a.flex_1]}
84
+
direction={state.transitionDirection}
85
+
enabledWeb>
83
86
<View style={[a.border_b, t.atoms.border_contrast_medium]}>
84
87
<View style={[a.py_sm, a.px_md, {height: 60}]}>
85
88
<SearchInput
+5
-2
src/screens/StarterPack/Wizard/StepProfiles.tsx
+5
-2
src/screens/StarterPack/Wizard/StepProfiles.tsx
···
13
13
import {atoms as a, useTheme} from '#/alf'
14
14
import {SearchInput} from '#/components/forms/SearchInput'
15
15
import {Loader} from '#/components/Loader'
16
-
import {ScreenTransition} from '#/components/StarterPack/Wizard/ScreenTransition'
16
+
import {ScreenTransition} from '#/components/ScreenTransition'
17
17
import {WizardProfileCard} from '#/components/StarterPack/Wizard/WizardListCard'
18
18
import {Text} from '#/components/Typography'
19
19
import type * as bsky from '#/types/bsky'
···
64
64
}
65
65
66
66
return (
67
-
<ScreenTransition style={[a.flex_1]} direction={state.transitionDirection}>
67
+
<ScreenTransition
68
+
style={[a.flex_1]}
69
+
direction={state.transitionDirection}
70
+
enabledWeb>
68
71
<View style={[a.border_b, t.atoms.border_contrast_medium]}>
69
72
<View style={[a.py_sm, a.px_md, {height: 60}]}>
70
73
<SearchInput
+1
-1
src/state/gallery.ts
+1
-1
src/state/gallery.ts
-59
src/state/invites.tsx
-59
src/state/invites.tsx
···
1
-
import React from 'react'
2
-
3
-
import * as persisted from '#/state/persisted'
4
-
5
-
type StateContext = persisted.Schema['invites']
6
-
type ApiContext = {
7
-
setInviteCopied: (code: string) => void
8
-
}
9
-
10
-
const stateContext = React.createContext<StateContext>(
11
-
persisted.defaults.invites,
12
-
)
13
-
stateContext.displayName = 'InvitesStateContext'
14
-
const apiContext = React.createContext<ApiContext>({
15
-
setInviteCopied(_: string) {},
16
-
})
17
-
apiContext.displayName = 'InvitesApiContext'
18
-
19
-
export function Provider({children}: React.PropsWithChildren<{}>) {
20
-
const [state, setState] = React.useState(persisted.get('invites'))
21
-
22
-
const api = React.useMemo(
23
-
() => ({
24
-
setInviteCopied(code: string) {
25
-
setState(state => {
26
-
state = {
27
-
...state,
28
-
copiedInvites: state.copiedInvites.includes(code)
29
-
? state.copiedInvites
30
-
: state.copiedInvites.concat([code]),
31
-
}
32
-
persisted.write('invites', state)
33
-
return state
34
-
})
35
-
},
36
-
}),
37
-
[setState],
38
-
)
39
-
40
-
React.useEffect(() => {
41
-
return persisted.onUpdate('invites', nextInvites => {
42
-
setState(nextInvites)
43
-
})
44
-
}, [setState])
45
-
46
-
return (
47
-
<stateContext.Provider value={state}>
48
-
<apiContext.Provider value={api}>{children}</apiContext.Provider>
49
-
</stateContext.Provider>
50
-
)
51
-
}
52
-
53
-
export function useInvitesState() {
54
-
return React.useContext(stateContext)
55
-
}
56
-
57
-
export function useInvitesAPI() {
58
-
return React.useContext(apiContext)
59
-
}
-21
src/state/modals/index.tsx
-21
src/state/modals/index.tsx
···
1
1
import React from 'react'
2
-
import {type AppBskyGraphDefs} from '@atproto/api'
3
2
4
3
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
5
-
6
-
export interface CreateOrEditListModal {
7
-
name: 'create-or-edit-list'
8
-
purpose?: string
9
-
list?: AppBskyGraphDefs.ListView
10
-
onSave?: (uri: string) => void
11
-
}
12
4
13
5
export interface UserAddRemoveListsModal {
14
6
name: 'user-add-remove-lists'
···
23
15
name: 'delete-account'
24
16
}
25
17
26
-
export interface WaitlistModal {
27
-
name: 'waitlist'
28
-
}
29
-
30
-
export interface InviteCodesModal {
31
-
name: 'invite-codes'
32
-
}
33
-
34
18
export interface ContentLanguagesSettingsModal {
35
19
name: 'content-languages-settings'
36
20
}
···
46
30
| ContentLanguagesSettingsModal
47
31
48
32
// Lists
49
-
| CreateOrEditListModal
50
33
| UserAddRemoveListsModal
51
-
52
-
// Bluesky access
53
-
| WaitlistModal
54
-
| InviteCodesModal
55
34
56
35
const ModalContext = React.createContext<{
57
36
isModalActive: boolean
-65
src/state/queries/invites.ts
-65
src/state/queries/invites.ts
···
1
-
import {type ComAtprotoServerDefs} from '@atproto/api'
2
-
import {useQuery} from '@tanstack/react-query'
3
-
4
-
import {cleanError} from '#/lib/strings/errors'
5
-
import {STALE} from '#/state/queries'
6
-
import {useAgent} from '#/state/session'
7
-
8
-
function isInviteAvailable(invite: ComAtprotoServerDefs.InviteCode): boolean {
9
-
return invite.available - invite.uses.length > 0 && !invite.disabled
10
-
}
11
-
12
-
const inviteCodesQueryKeyRoot = 'inviteCodes'
13
-
14
-
export type InviteCodesQueryResponse = Exclude<
15
-
ReturnType<typeof useInviteCodesQuery>['data'],
16
-
undefined
17
-
>
18
-
export function useInviteCodesQuery() {
19
-
const agent = useAgent()
20
-
return useQuery({
21
-
staleTime: STALE.MINUTES.FIVE,
22
-
queryKey: [inviteCodesQueryKeyRoot],
23
-
queryFn: async () => {
24
-
const res = await agent.com.atproto.server
25
-
.getAccountInviteCodes({})
26
-
.catch(e => {
27
-
if (cleanError(e) === 'Bad token scope') {
28
-
return null
29
-
} else {
30
-
throw e
31
-
}
32
-
})
33
-
34
-
if (res === null) {
35
-
return {
36
-
disabled: true,
37
-
all: [],
38
-
available: [],
39
-
used: [],
40
-
}
41
-
}
42
-
43
-
if (!res.data?.codes) {
44
-
throw new Error(`useInviteCodesQuery: no codes returned`)
45
-
}
46
-
47
-
const available = res.data.codes.filter(isInviteAvailable)
48
-
const used = res.data.codes
49
-
.filter(code => !isInviteAvailable(code))
50
-
.sort((a, b) => {
51
-
return (
52
-
new Date(b.uses[0].usedAt).getTime() -
53
-
new Date(a.uses[0].usedAt).getTime()
54
-
)
55
-
})
56
-
57
-
return {
58
-
disabled: false,
59
-
all: [...available, ...used],
60
-
available,
61
-
used,
62
-
}
63
-
},
64
-
})
65
-
}
+76
-55
src/view/com/auth/SplashScreen.tsx
+76
-55
src/view/com/auth/SplashScreen.tsx
···
1
1
import {View} from 'react-native'
2
+
import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'
2
3
import {useSafeAreaInsets} from 'react-native-safe-area-context'
3
4
import {msg, Trans} from '@lingui/macro'
4
5
import {useLingui} from '@lingui/react'
5
6
7
+
import {useHaptics} from '#/lib/haptics'
6
8
import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
9
+
import {CenteredView} from '#/view/com/util/Views'
7
10
import {Logo} from '#/view/icons/Logo'
8
11
import {Logotype} from '#/view/icons/Logotype'
9
12
import {atoms as a, useTheme} from '#/alf'
10
13
import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
11
14
import {Button, ButtonText} from '#/components/Button'
12
15
import {Text} from '#/components/Typography'
13
-
import {CenteredView} from '../util/Views'
14
16
15
17
export const SplashScreen = ({
16
18
onPressSignin,
···
22
24
const t = useTheme()
23
25
const {_} = useLingui()
24
26
27
+
const playHaptic = useHaptics()
25
28
const insets = useSafeAreaInsets()
26
29
27
30
return (
28
31
<CenteredView style={[a.h_full, a.flex_1]}>
29
-
<ErrorBoundary>
30
-
<View style={[{flex: 1}, a.justify_center, a.align_center]}>
31
-
<Logo width={92} fill="sky" />
32
+
<Animated.View
33
+
entering={FadeIn.duration(90)}
34
+
exiting={FadeOut.duration(90)}
35
+
style={[a.flex_1]}>
36
+
<ErrorBoundary>
37
+
<View style={[a.flex_1, a.justify_center, a.align_center]}>
38
+
<Logo width={92} fill="sky" />
39
+
40
+
<View style={[a.pb_sm, a.pt_5xl]}>
41
+
<Logotype width={161} fill={t.atoms.text.color} />
42
+
</View>
32
43
33
-
<View style={[a.pb_sm, a.pt_5xl]}>
34
-
<Logotype width={161} fill={t.atoms.text.color} />
44
+
<Text
45
+
style={[
46
+
a.text_md,
47
+
a.font_semi_bold,
48
+
t.atoms.text_contrast_medium,
49
+
a.text_center,
50
+
]}>
51
+
<Trans>What's up?</Trans>
52
+
</Text>
35
53
</View>
36
54
37
-
<Text style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
38
-
<Trans>What's up?</Trans>
39
-
</Text>
40
-
</View>
41
-
<View
42
-
testID="signinOrCreateAccount"
43
-
style={[a.px_xl, a.gap_md, a.pb_2xl]}>
44
-
<Button
45
-
testID="createAccountButton"
46
-
onPress={onPressCreateAccount}
47
-
label={_(msg`Create new account`)}
48
-
accessibilityHint={_(
49
-
msg`Opens flow to create a new Bluesky account`,
50
-
)}
51
-
size="large"
52
-
variant="solid"
53
-
color="primary">
54
-
<ButtonText>
55
-
<Trans>Create account</Trans>
56
-
</ButtonText>
57
-
</Button>
58
-
<Button
59
-
testID="signInButton"
60
-
onPress={onPressSignin}
61
-
label={_(msg`Sign in`)}
62
-
accessibilityHint={_(
63
-
msg`Opens flow to sign in to your existing Bluesky account`,
64
-
)}
65
-
size="large"
66
-
variant="solid"
67
-
color="secondary">
68
-
<ButtonText>
69
-
<Trans>Sign in</Trans>
70
-
</ButtonText>
71
-
</Button>
72
-
</View>
73
-
<View
74
-
style={[
75
-
a.px_lg,
76
-
a.pt_md,
77
-
a.pb_2xl,
78
-
a.justify_center,
79
-
a.align_center,
80
-
]}>
81
-
<View>
82
-
<AppLanguageDropdown />
55
+
<View
56
+
testID="signinOrCreateAccount"
57
+
style={[a.px_xl, a.gap_md, a.pb_2xl]}>
58
+
<Button
59
+
testID="createAccountButton"
60
+
onPress={() => {
61
+
onPressCreateAccount()
62
+
playHaptic('Light')
63
+
}}
64
+
label={_(msg`Create new account`)}
65
+
accessibilityHint={_(
66
+
msg`Opens flow to create a new Bluesky account`,
67
+
)}
68
+
size="large"
69
+
variant="solid"
70
+
color="primary">
71
+
<ButtonText>
72
+
<Trans>Create account</Trans>
73
+
</ButtonText>
74
+
</Button>
75
+
<Button
76
+
testID="signInButton"
77
+
onPress={() => {
78
+
onPressSignin()
79
+
playHaptic('Light')
80
+
}}
81
+
label={_(msg`Sign in`)}
82
+
accessibilityHint={_(
83
+
msg`Opens flow to sign in to your existing Bluesky account`,
84
+
)}
85
+
size="large"
86
+
variant="solid"
87
+
color="secondary">
88
+
<ButtonText>
89
+
<Trans>Sign in</Trans>
90
+
</ButtonText>
91
+
</Button>
92
+
</View>
93
+
<View
94
+
style={[
95
+
a.px_lg,
96
+
a.pt_md,
97
+
a.pb_2xl,
98
+
a.justify_center,
99
+
a.align_center,
100
+
]}>
101
+
<View>
102
+
<AppLanguageDropdown />
103
+
</View>
83
104
</View>
84
-
</View>
85
-
<View style={{height: insets.bottom}} />
86
-
</ErrorBoundary>
105
+
<View style={{height: insets.bottom}} />
106
+
</ErrorBoundary>
107
+
</Animated.View>
87
108
</CenteredView>
88
109
)
89
110
}
+1
-1
src/view/com/composer/photos/EditImageDialog.web.tsx
+1
-1
src/view/com/composer/photos/EditImageDialog.web.tsx
+1
-1
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx
+1
-1
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx
···
19
19
useAnimatedProps,
20
20
useAnimatedReaction,
21
21
useAnimatedRef,
22
+
useAnimatedScrollHandler,
22
23
useAnimatedStyle,
23
24
useSharedValue,
24
25
} from 'react-native-reanimated'
25
26
import {useSafeAreaFrame} from 'react-native-safe-area-context'
26
27
import {Image} from 'expo-image'
27
28
28
-
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
29
29
import {
30
30
type Dimensions as ImageDimensions,
31
31
type ImageSource,
+1
-9
src/view/com/modals/Modal.tsx
+1
-9
src/view/com/modals/Modal.tsx
···
8
8
import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
9
9
import {FullWindowOverlay} from '#/components/FullWindowOverlay'
10
10
import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
11
-
import * as CreateOrEditListModal from './CreateOrEditList'
12
11
import * as DeleteAccountModal from './DeleteAccount'
13
-
import * as InviteCodesModal from './InviteCodes'
14
12
import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
15
13
import * as UserAddRemoveListsModal from './UserAddRemoveLists'
16
14
···
51
49
52
50
let snapPoints: (string | number)[] = DEFAULT_SNAPPOINTS
53
51
let element
54
-
if (activeModal?.name === 'create-or-edit-list') {
55
-
snapPoints = CreateOrEditListModal.snapPoints
56
-
element = <CreateOrEditListModal.Component {...activeModal} />
57
-
} else if (activeModal?.name === 'user-add-remove-lists') {
52
+
if (activeModal?.name === 'user-add-remove-lists') {
58
53
snapPoints = UserAddRemoveListsModal.snapPoints
59
54
element = <UserAddRemoveListsModal.Component {...activeModal} />
60
55
} else if (activeModal?.name === 'delete-account') {
61
56
snapPoints = DeleteAccountModal.snapPoints
62
57
element = <DeleteAccountModal.Component />
63
-
} else if (activeModal?.name === 'invite-codes') {
64
-
snapPoints = InviteCodesModal.snapPoints
65
-
element = <InviteCodesModal.Component />
66
58
} else if (activeModal?.name === 'content-languages-settings') {
67
59
snapPoints = ContentLanguagesSettingsModal.snapPoints
68
60
element = <ContentLanguagesSettingsModal.Component />
+1
-7
src/view/com/modals/Modal.web.tsx
+1
-7
src/view/com/modals/Modal.web.tsx
···
7
7
import {useModalControls, useModals} from '#/state/modals'
8
8
import {useTheme} from '#/alf'
9
9
import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
10
-
import * as CreateOrEditListModal from './CreateOrEditList'
11
10
import * as DeleteAccountModal from './DeleteAccount'
12
-
import * as InviteCodesModal from './InviteCodes'
13
11
import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
14
12
import * as UserAddRemoveLists from './UserAddRemoveLists'
15
13
···
50
48
}
51
49
52
50
let element
53
-
if (modal.name === 'create-or-edit-list') {
54
-
element = <CreateOrEditListModal.Component {...modal} />
55
-
} else if (modal.name === 'user-add-remove-lists') {
51
+
if (modal.name === 'user-add-remove-lists') {
56
52
element = <UserAddRemoveLists.Component {...modal} />
57
53
} else if (modal.name === 'delete-account') {
58
54
element = <DeleteAccountModal.Component />
59
-
} else if (modal.name === 'invite-codes') {
60
-
element = <InviteCodesModal.Component />
61
55
} else if (modal.name === 'content-languages-settings') {
62
56
element = <ContentLanguagesSettingsModal.Component />
63
57
} else {
-8
src/view/com/testing/TestCtrls.e2e.tsx
-8
src/view/com/testing/TestCtrls.e2e.tsx
···
3
3
import {useQueryClient} from '@tanstack/react-query'
4
4
5
5
import {BLUESKY_PROXY_HEADER} from '#/lib/constants'
6
-
import {useModalControls} from '#/state/modals'
7
6
import {useSessionApi, useAgent} from '#/state/session'
8
7
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
9
8
import {useOnboardingDispatch} from '#/state/shell/onboarding'
···
23
22
const agent = useAgent()
24
23
const queryClient = useQueryClient()
25
24
const {logoutEveryAccount, login} = useSessionApi()
26
-
const {openModal} = useModalControls()
27
25
const onboardingDispatch = useOnboardingDispatch()
28
26
const {setShowLoggedOut} = useLoggedOutViewControls()
29
27
const onPressSignInAlice = async () => {
···
118
116
<Pressable
119
117
testID="e2eRefreshHome"
120
118
onPress={() => queryClient.invalidateQueries({queryKey: ['post-feed']})}
121
-
accessibilityRole="button"
122
-
style={BTN}
123
-
/>
124
-
<Pressable
125
-
testID="e2eOpenInviteCodesModal"
126
-
onPress={() => openModal({name: 'invite-codes'})}
127
119
accessibilityRole="button"
128
120
style={BTN}
129
121
/>
+1
-1
src/view/com/util/List.tsx
+1
-1
src/view/com/util/List.tsx
···
3
3
import {
4
4
type FlatListPropsWithLayout,
5
5
runOnJS,
6
+
useAnimatedScrollHandler,
6
7
useSharedValue,
7
8
} from 'react-native-reanimated'
8
9
import {updateActiveVideoViewAsync} from '@haileyok/bluesky-video'
9
10
10
-
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
11
11
import {useDedupe} from '#/lib/hooks/useDedupe'
12
12
import {useScrollHandlers} from '#/lib/ScrollContext'
13
13
import {addStyle} from '#/lib/styles'
+5
-4
src/view/com/util/images/AutoSizedImage.tsx
+5
-4
src/view/com/util/images/AutoSizedImage.tsx
···
21
21
aspectRatio,
22
22
fullBleed,
23
23
children,
24
+
minMobileAspectRatio,
24
25
}: {
25
26
aspectRatio: number
26
27
fullBleed?: boolean
28
+
minMobileAspectRatio?: number
27
29
children: React.ReactNode
28
30
}) {
29
31
const t = useTheme()
···
35
37
const outerAspectRatio = React.useMemo<DimensionValue>(() => {
36
38
const ratio =
37
39
isNative || !gtMobile
38
-
? Math.min(1 / aspectRatio, 16 / 9) // 9:16 bounding box
40
+
? Math.min(1 / aspectRatio, minMobileAspectRatio ?? 16 / 9) // 9:16 bounding box
39
41
: Math.min(1 / aspectRatio, 1) // 1:1 bounding box
40
42
return `${ratio * 100}%`
41
-
}, [aspectRatio, gtMobile])
43
+
}, [aspectRatio, gtMobile, minMobileAspectRatio])
42
44
43
45
return (
44
46
<View style={[a.w_full]}>
···
183
185
},
184
186
],
185
187
]}>
186
-
<Text
187
-
style={[a.font_heavy, largeAlt ? a.text_xs : {fontSize: 8}]}>
188
+
<Text style={[a.font_bold, largeAlt ? a.text_xs : {fontSize: 8}]}>
188
189
ALT
189
190
</Text>
190
191
</View>
+28
-19
src/view/screens/Lists.tsx
+28
-19
src/view/screens/Lists.tsx
···
1
-
import React from 'react'
1
+
import {useCallback} from 'react'
2
2
import {AtUri} from '@atproto/api'
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
···
10
10
type NativeStackScreenProps,
11
11
} from '#/lib/routes/types'
12
12
import {type NavigationProp} from '#/lib/routes/types'
13
-
import {useModalControls} from '#/state/modals'
14
13
import {useSetMinimalShellMode} from '#/state/shell'
15
14
import {MyLists} from '#/view/com/lists/MyLists'
16
15
import {atoms as a} from '#/alf'
17
16
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
17
+
import {useDialogControl} from '#/components/Dialog'
18
+
import {CreateOrEditListDialog} from '#/components/dialogs/lists/CreateOrEditListDialog'
18
19
import {PlusLarge_Stroke2_Corner0_Rounded as PlusIcon} from '#/components/icons/Plus'
19
20
import * as Layout from '#/components/Layout'
20
21
···
23
24
const {_} = useLingui()
24
25
const setMinimalShellMode = useSetMinimalShellMode()
25
26
const navigation = useNavigation<NavigationProp>()
26
-
const {openModal} = useModalControls()
27
27
const requireEmailVerification = useRequireEmailVerification()
28
+
const createListDialogControl = useDialogControl()
28
29
29
30
useFocusEffect(
30
-
React.useCallback(() => {
31
+
useCallback(() => {
31
32
setMinimalShellMode(false)
32
33
}, [setMinimalShellMode]),
33
34
)
34
35
35
-
const onPressNewList = React.useCallback(() => {
36
-
openModal({
37
-
name: 'create-or-edit-list',
38
-
purpose: 'app.bsky.graph.defs#curatelist',
39
-
onSave: (uri: string) => {
40
-
try {
41
-
const urip = new AtUri(uri)
42
-
navigation.navigate('ProfileList', {
43
-
name: urip.hostname,
44
-
rkey: urip.rkey,
45
-
})
46
-
} catch {}
47
-
},
48
-
})
49
-
}, [openModal, navigation])
36
+
const onPressNewList = useCallback(() => {
37
+
createListDialogControl.open()
38
+
}, [createListDialogControl])
50
39
51
40
const wrappedOnPressNewList = requireEmailVerification(onPressNewList, {
52
41
instructions: [
···
56
45
],
57
46
})
58
47
48
+
const onCreateList = useCallback(
49
+
(uri: string) => {
50
+
try {
51
+
const urip = new AtUri(uri)
52
+
navigation.navigate('ProfileList', {
53
+
name: urip.hostname,
54
+
rkey: urip.rkey,
55
+
})
56
+
} catch {}
57
+
},
58
+
[navigation],
59
+
)
60
+
59
61
return (
60
62
<Layout.Screen testID="listsScreen">
61
63
<Layout.Header.Outer>
···
78
80
</ButtonText>
79
81
</Button>
80
82
</Layout.Header.Outer>
83
+
81
84
<MyLists filter="curate" style={a.flex_grow} />
85
+
86
+
<CreateOrEditListDialog
87
+
purpose="app.bsky.graph.defs#curatelist"
88
+
control={createListDialogControl}
89
+
onSave={onCreateList}
90
+
/>
82
91
</Layout.Screen>
83
92
)
84
93
}
+28
-19
src/view/screens/ModerationModlists.tsx
+28
-19
src/view/screens/ModerationModlists.tsx
···
1
-
import React from 'react'
1
+
import {useCallback} from 'react'
2
2
import {AtUri} from '@atproto/api'
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
···
10
10
type NativeStackScreenProps,
11
11
} from '#/lib/routes/types'
12
12
import {type NavigationProp} from '#/lib/routes/types'
13
-
import {useModalControls} from '#/state/modals'
14
13
import {useSetMinimalShellMode} from '#/state/shell'
15
14
import {MyLists} from '#/view/com/lists/MyLists'
16
15
import {atoms as a} from '#/alf'
17
16
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
17
+
import {useDialogControl} from '#/components/Dialog'
18
+
import {CreateOrEditListDialog} from '#/components/dialogs/lists/CreateOrEditListDialog'
18
19
import {PlusLarge_Stroke2_Corner0_Rounded as PlusIcon} from '#/components/icons/Plus'
19
20
import * as Layout from '#/components/Layout'
20
21
···
23
24
const {_} = useLingui()
24
25
const setMinimalShellMode = useSetMinimalShellMode()
25
26
const navigation = useNavigation<NavigationProp>()
26
-
const {openModal} = useModalControls()
27
27
const requireEmailVerification = useRequireEmailVerification()
28
+
const createListDialogControl = useDialogControl()
28
29
29
30
useFocusEffect(
30
-
React.useCallback(() => {
31
+
useCallback(() => {
31
32
setMinimalShellMode(false)
32
33
}, [setMinimalShellMode]),
33
34
)
34
35
35
-
const onPressNewList = React.useCallback(() => {
36
-
openModal({
37
-
name: 'create-or-edit-list',
38
-
purpose: 'app.bsky.graph.defs#modlist',
39
-
onSave: (uri: string) => {
40
-
try {
41
-
const urip = new AtUri(uri)
42
-
navigation.navigate('ProfileList', {
43
-
name: urip.hostname,
44
-
rkey: urip.rkey,
45
-
})
46
-
} catch {}
47
-
},
48
-
})
49
-
}, [openModal, navigation])
36
+
const onPressNewList = useCallback(() => {
37
+
createListDialogControl.open()
38
+
}, [createListDialogControl])
50
39
51
40
const wrappedOnPressNewList = requireEmailVerification(onPressNewList, {
52
41
instructions: [
···
56
45
],
57
46
})
58
47
48
+
const onCreateList = useCallback(
49
+
(uri: string) => {
50
+
try {
51
+
const urip = new AtUri(uri)
52
+
navigation.navigate('ProfileList', {
53
+
name: urip.hostname,
54
+
rkey: urip.rkey,
55
+
})
56
+
} catch {}
57
+
},
58
+
[navigation],
59
+
)
60
+
59
61
return (
60
62
<Layout.Screen testID="moderationModlistsScreen">
61
63
<Layout.Header.Outer>
···
78
80
</ButtonText>
79
81
</Button>
80
82
</Layout.Header.Outer>
83
+
81
84
<MyLists filter="mod" style={a.flex_grow} />
85
+
86
+
<CreateOrEditListDialog
87
+
purpose="app.bsky.graph.defs#modlist"
88
+
control={createListDialogControl}
89
+
onSave={onCreateList}
90
+
/>
82
91
</Layout.Screen>
83
92
)
84
93
}
+13
-9
src/view/screens/ProfileFeedLikedBy.tsx
+13
-9
src/view/screens/ProfileFeedLikedBy.tsx
···
1
-
import React from 'react'
2
-
import {msg} from '@lingui/macro'
1
+
import {useCallback} from 'react'
2
+
import {Trans} from '@lingui/macro'
3
3
import {useLingui} from '@lingui/react'
4
4
import {useFocusEffect} from '@react-navigation/native'
5
5
···
10
10
import {makeRecordUri} from '#/lib/strings/url-helpers'
11
11
import {useSetMinimalShellMode} from '#/state/shell'
12
12
import {PostLikedBy as PostLikedByComponent} from '#/view/com/post-thread/PostLikedBy'
13
-
import {ViewHeader} from '#/view/com/util/ViewHeader'
14
-
import {CenteredView} from '#/view/com/util/Views'
15
13
import * as Layout from '#/components/Layout'
16
14
17
15
type Props = NativeStackScreenProps<CommonNavigatorParams, 'ProfileFeedLikedBy'>
···
22
20
const {_} = useLingui()
23
21
24
22
useFocusEffect(
25
-
React.useCallback(() => {
23
+
useCallback(() => {
26
24
setMinimalShellMode(false)
27
25
}, [setMinimalShellMode]),
28
26
)
29
27
30
28
return (
31
29
<Layout.Screen testID="postLikedByScreen">
32
-
<CenteredView sideBorders={true}>
33
-
<ViewHeader title={_(msg`Liked By`)} />
34
-
<PostLikedByComponent uri={uri} />
35
-
</CenteredView>
30
+
<Layout.Header.Outer>
31
+
<Layout.Header.BackButton />
32
+
<Layout.Header.Content>
33
+
<Layout.Header.TitleText>
34
+
<Trans>Liked By</Trans>
35
+
</Layout.Header.TitleText>
36
+
</Layout.Header.Content>
37
+
<Layout.Header.Slot />
38
+
</Layout.Header.Outer>
39
+
<PostLikedByComponent uri={uri} />
36
40
</Layout.Screen>
37
41
)
38
42
}
+1725
-1617
yarn.lock
+1725
-1617
yarn.lock
···
1215
1215
"@babel/highlight" "^7.22.10"
1216
1216
chalk "^2.4.2"
1217
1217
1218
+
"@babel/code-frame@^7.20.0", "@babel/code-frame@^7.27.1":
1219
+
version "7.27.1"
1220
+
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
1221
+
integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
1222
+
dependencies:
1223
+
"@babel/helper-validator-identifier" "^7.27.1"
1224
+
js-tokens "^4.0.0"
1225
+
picocolors "^1.1.1"
1226
+
1218
1227
"@babel/code-frame@^7.22.13":
1219
1228
version "7.22.13"
1220
1229
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
···
1436
1445
"@jridgewell/trace-mapping" "^0.3.25"
1437
1446
jsesc "^3.0.2"
1438
1447
1448
+
"@babel/generator@^7.28.3":
1449
+
version "7.28.3"
1450
+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e"
1451
+
integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
1452
+
dependencies:
1453
+
"@babel/parser" "^7.28.3"
1454
+
"@babel/types" "^7.28.2"
1455
+
"@jridgewell/gen-mapping" "^0.3.12"
1456
+
"@jridgewell/trace-mapping" "^0.3.28"
1457
+
jsesc "^3.0.2"
1458
+
1439
1459
"@babel/helper-annotate-as-pure@^7.22.5":
1440
1460
version "7.22.5"
1441
1461
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
···
1449
1469
integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
1450
1470
dependencies:
1451
1471
"@babel/types" "^7.25.9"
1472
+
1473
+
"@babel/helper-annotate-as-pure@^7.27.3":
1474
+
version "7.27.3"
1475
+
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5"
1476
+
integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
1477
+
dependencies:
1478
+
"@babel/types" "^7.27.3"
1452
1479
1453
1480
"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9":
1454
1481
version "7.25.9"
···
1556
1583
"@babel/traverse" "^7.25.9"
1557
1584
semver "^6.3.1"
1558
1585
1586
+
"@babel/helper-create-class-features-plugin@^7.28.3":
1587
+
version "7.28.3"
1588
+
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz#3e747434ea007910c320c4d39a6b46f20f371d46"
1589
+
integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
1590
+
dependencies:
1591
+
"@babel/helper-annotate-as-pure" "^7.27.3"
1592
+
"@babel/helper-member-expression-to-functions" "^7.27.1"
1593
+
"@babel/helper-optimise-call-expression" "^7.27.1"
1594
+
"@babel/helper-replace-supers" "^7.27.1"
1595
+
"@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
1596
+
"@babel/traverse" "^7.28.3"
1597
+
semver "^6.3.1"
1598
+
1559
1599
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5":
1560
1600
version "7.22.9"
1561
1601
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz#9d8e61a8d9366fe66198f57c40565663de0825f6"
···
1627
1667
"@babel/template" "^7.22.15"
1628
1668
"@babel/types" "^7.23.0"
1629
1669
1670
+
"@babel/helper-globals@^7.28.0":
1671
+
version "7.28.0"
1672
+
resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674"
1673
+
integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
1674
+
1630
1675
"@babel/helper-hoist-variables@^7.22.5":
1631
1676
version "7.22.5"
1632
1677
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
···
1662
1707
dependencies:
1663
1708
"@babel/traverse" "^7.25.9"
1664
1709
"@babel/types" "^7.25.9"
1710
+
1711
+
"@babel/helper-member-expression-to-functions@^7.27.1":
1712
+
version "7.27.1"
1713
+
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44"
1714
+
integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
1715
+
dependencies:
1716
+
"@babel/traverse" "^7.27.1"
1717
+
"@babel/types" "^7.27.1"
1665
1718
1666
1719
"@babel/helper-module-imports@^7.22.15":
1667
1720
version "7.22.15"
···
1766
1819
dependencies:
1767
1820
"@babel/types" "^7.25.9"
1768
1821
1822
+
"@babel/helper-optimise-call-expression@^7.27.1":
1823
+
version "7.27.1"
1824
+
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200"
1825
+
integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
1826
+
dependencies:
1827
+
"@babel/types" "^7.27.1"
1828
+
1769
1829
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0":
1770
1830
version "7.22.5"
1771
1831
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
···
1780
1840
version "7.25.9"
1781
1841
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46"
1782
1842
integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==
1843
+
1844
+
"@babel/helper-plugin-utils@^7.27.1":
1845
+
version "7.27.1"
1846
+
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
1847
+
integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
1783
1848
1784
1849
"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5":
1785
1850
version "7.22.9"
···
1826
1891
"@babel/helper-optimise-call-expression" "^7.25.9"
1827
1892
"@babel/traverse" "^7.25.9"
1828
1893
1894
+
"@babel/helper-replace-supers@^7.27.1":
1895
+
version "7.27.1"
1896
+
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0"
1897
+
integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
1898
+
dependencies:
1899
+
"@babel/helper-member-expression-to-functions" "^7.27.1"
1900
+
"@babel/helper-optimise-call-expression" "^7.27.1"
1901
+
"@babel/traverse" "^7.27.1"
1902
+
1829
1903
"@babel/helper-simple-access@^7.22.5":
1830
1904
version "7.22.5"
1831
1905
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
···
1870
1944
"@babel/traverse" "^7.25.9"
1871
1945
"@babel/types" "^7.25.9"
1872
1946
1947
+
"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
1948
+
version "7.27.1"
1949
+
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56"
1950
+
integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
1951
+
dependencies:
1952
+
"@babel/traverse" "^7.27.1"
1953
+
"@babel/types" "^7.27.1"
1954
+
1873
1955
"@babel/helper-split-export-declaration@^7.22.6":
1874
1956
version "7.22.6"
1875
1957
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
···
1916
1998
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
1917
1999
integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
1918
2000
2001
+
"@babel/helper-string-parser@^7.27.1":
2002
+
version "7.27.1"
2003
+
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
2004
+
integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
2005
+
1919
2006
"@babel/helper-validator-identifier@^7.22.20":
1920
2007
version "7.22.20"
1921
2008
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
···
1941
2028
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
1942
2029
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
1943
2030
2031
+
"@babel/helper-validator-identifier@^7.27.1":
2032
+
version "7.27.1"
2033
+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
2034
+
integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
2035
+
1944
2036
"@babel/helper-validator-option@^7.22.15":
1945
2037
version "7.22.15"
1946
2038
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040"
···
2050
2142
js-tokens "^4.0.0"
2051
2143
picocolors "^1.0.0"
2052
2144
2053
-
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5":
2145
+
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5":
2054
2146
version "7.22.10"
2055
2147
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55"
2056
2148
integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==
···
2078
2170
integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==
2079
2171
dependencies:
2080
2172
"@babel/types" "^7.26.10"
2173
+
2174
+
"@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4":
2175
+
version "7.28.4"
2176
+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8"
2177
+
integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==
2178
+
dependencies:
2179
+
"@babel/types" "^7.28.4"
2081
2180
2082
2181
"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9":
2083
2182
version "7.25.9"
···
2501
2600
"@babel/helper-create-class-features-plugin" "^7.25.9"
2502
2601
"@babel/helper-plugin-utils" "^7.25.9"
2503
2602
2603
+
"@babel/plugin-transform-class-static-block@^7.27.1":
2604
+
version "7.28.3"
2605
+
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz#d1b8e69b54c9993bc558203e1f49bfc979bfd852"
2606
+
integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
2607
+
dependencies:
2608
+
"@babel/helper-create-class-features-plugin" "^7.28.3"
2609
+
"@babel/helper-plugin-utils" "^7.27.1"
2610
+
2504
2611
"@babel/plugin-transform-classes@^7.0.0":
2505
2612
version "7.22.6"
2506
2613
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz#e04d7d804ed5b8501311293d1a0e6d43e94c3363"
···
3332
3439
"@babel/parser" "^7.26.9"
3333
3440
"@babel/types" "^7.26.9"
3334
3441
3442
+
"@babel/template@^7.27.2":
3443
+
version "7.27.2"
3444
+
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
3445
+
integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
3446
+
dependencies:
3447
+
"@babel/code-frame" "^7.27.1"
3448
+
"@babel/parser" "^7.27.2"
3449
+
"@babel/types" "^7.27.1"
3450
+
3335
3451
"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3":
3336
3452
version "7.25.9"
3337
3453
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84"
···
3419
3535
debug "^4.3.1"
3420
3536
globals "^11.1.0"
3421
3537
3422
-
"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
3538
+
"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3":
3539
+
version "7.28.4"
3540
+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b"
3541
+
integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==
3542
+
dependencies:
3543
+
"@babel/code-frame" "^7.27.1"
3544
+
"@babel/generator" "^7.28.3"
3545
+
"@babel/helper-globals" "^7.28.0"
3546
+
"@babel/parser" "^7.28.4"
3547
+
"@babel/template" "^7.27.2"
3548
+
"@babel/types" "^7.28.4"
3549
+
debug "^4.3.1"
3550
+
3551
+
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
3423
3552
version "7.22.10"
3424
3553
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03"
3425
3554
integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==
···
3480
3609
"@babel/helper-string-parser" "^7.25.9"
3481
3610
"@babel/helper-validator-identifier" "^7.25.9"
3482
3611
3612
+
"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4":
3613
+
version "7.28.4"
3614
+
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a"
3615
+
integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==
3616
+
dependencies:
3617
+
"@babel/helper-string-parser" "^7.27.1"
3618
+
"@babel/helper-validator-identifier" "^7.27.1"
3619
+
3483
3620
"@bcoe/v8-coverage@^0.2.3":
3484
3621
version "0.2.3"
3485
3622
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
···
3497
3634
version "6.0.4"
3498
3635
resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz#923ca57e173c6b232bbbb07347b1be982f03e783"
3499
3636
integrity sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==
3637
+
3638
+
"@bsky.app/alf@^0.1.2":
3639
+
version "0.1.2"
3640
+
resolved "https://registry.yarnpkg.com/@bsky.app/alf/-/alf-0.1.2.tgz#8e3b3cd0b27f1dfe359d99edd2afd7d123b7ab69"
3641
+
integrity sha512-lIidmkoHsqXwj07BY4fYIu/JyWGXRAGLfh65qhGzWpXLTK1DGyoQUjz5CwsqTDSQWpCfBC7eEaOtYjjv9cAjSQ==
3642
+
dependencies:
3643
+
react-responsive "^10.0.1"
3500
3644
3501
3645
"@bufbuild/protobuf@^1.5.0":
3502
3646
version "1.7.0"
···
3615
3759
version "0.5.7"
3616
3760
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
3617
3761
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
3618
-
3619
-
"@dominicstop/ts-event-emitter@^1.1.0":
3620
-
version "1.1.0"
3621
-
resolved "https://registry.yarnpkg.com/@dominicstop/ts-event-emitter/-/ts-event-emitter-1.1.0.tgz#1f3d3fa878a1ccab686931280757954719cf88e4"
3622
-
integrity sha512-CcxmJIvUb1vsFheuGGVSQf4KdPZC44XolpUT34+vlal+LyQoBUOn31pjFET5M9ctOxEpt8xa0M3/2M7uUiAoJw==
3623
3762
3624
3763
"@egjs/hammerjs@^2.0.17":
3625
3764
version "2.0.17"
···
3794
3933
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d"
3795
3934
integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==
3796
3935
3797
-
"@expo/cli@0.24.14":
3798
-
version "0.24.14"
3799
-
resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.24.14.tgz#af2e7ea5a08e3574e868cb0ec2110e68d32672e0"
3800
-
integrity sha512-o+QYyfIBhSRTgaywKTLJhm2Fg5PrSeUVCXS+uQySamgoMjLNhHa8QwE64mW/FmJr5hZLiqUEQxb60FK4JcyqXg==
3936
+
"@expo/cli@54.0.7":
3937
+
version "54.0.7"
3938
+
resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-54.0.7.tgz#f6e7a75e922792ef58f4cc2a982300fb75b57885"
3939
+
integrity sha512-vpZDbIhN2eyb5u2o2iIL2Glu9+9eIY8U30wqeIxh0BUHLoMxFejvEBfS+90A0PtEHoQ1Zi9QxusK5UuyoEvweg==
3801
3940
dependencies:
3802
3941
"@0no-co/graphql.web" "^1.0.8"
3803
-
"@babel/runtime" "^7.20.0"
3804
3942
"@expo/code-signing-certificates" "^0.0.5"
3805
-
"@expo/config" "~11.0.10"
3806
-
"@expo/config-plugins" "~10.0.2"
3943
+
"@expo/config" "~12.0.9"
3944
+
"@expo/config-plugins" "~54.0.1"
3807
3945
"@expo/devcert" "^1.1.2"
3808
-
"@expo/env" "~1.0.5"
3809
-
"@expo/image-utils" "^0.7.4"
3810
-
"@expo/json-file" "^9.1.4"
3811
-
"@expo/metro-config" "~0.20.14"
3812
-
"@expo/osascript" "^2.2.4"
3813
-
"@expo/package-manager" "^1.8.4"
3814
-
"@expo/plist" "^0.3.4"
3815
-
"@expo/prebuild-config" "^9.0.6"
3946
+
"@expo/env" "~2.0.7"
3947
+
"@expo/image-utils" "^0.8.7"
3948
+
"@expo/json-file" "^10.0.7"
3949
+
"@expo/mcp-tunnel" "~0.0.7"
3950
+
"@expo/metro" "~54.0.0"
3951
+
"@expo/metro-config" "~54.0.4"
3952
+
"@expo/osascript" "^2.3.7"
3953
+
"@expo/package-manager" "^1.9.8"
3954
+
"@expo/plist" "^0.4.7"
3955
+
"@expo/prebuild-config" "^54.0.3"
3956
+
"@expo/schema-utils" "^0.1.7"
3957
+
"@expo/server" "^0.7.4"
3816
3958
"@expo/spawn-async" "^1.7.2"
3817
3959
"@expo/ws-tunnel" "^1.0.1"
3818
3960
"@expo/xcpretty" "^4.3.0"
3819
-
"@react-native/dev-middleware" "0.79.3"
3961
+
"@react-native/dev-middleware" "0.81.4"
3820
3962
"@urql/core" "^5.0.6"
3821
3963
"@urql/exchange-retry" "^1.3.0"
3822
3964
accepts "^1.3.8"
···
3889
4031
xcode "^3.0.1"
3890
4032
xml2js "0.6.0"
3891
4033
3892
-
"@expo/config-plugins@~10.0.2":
3893
-
version "10.0.2"
3894
-
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-10.0.2.tgz#040867991e9c8c527b4f5c13a47bcf040a7479fe"
3895
-
integrity sha512-TzUn3pPdpwCS0yYaSlZOClgDmCX8N4I2lfgitX5oStqmvpPtB+vqtdyqsVM02fQ2tlJIAqwBW+NHaHqqy8Jv7g==
3896
-
dependencies:
3897
-
"@expo/config-types" "^53.0.3"
3898
-
"@expo/json-file" "~9.1.4"
3899
-
"@expo/plist" "^0.3.4"
3900
-
"@expo/sdk-runtime-versions" "^1.0.0"
3901
-
chalk "^4.1.2"
3902
-
debug "^4.3.5"
3903
-
getenv "^1.0.0"
3904
-
glob "^10.4.2"
3905
-
resolve-from "^5.0.0"
3906
-
semver "^7.5.4"
3907
-
slash "^3.0.0"
3908
-
slugify "^1.6.6"
3909
-
xcode "^3.0.1"
3910
-
xml2js "0.6.0"
3911
-
3912
-
"@expo/config-plugins@~9.0.10":
3913
-
version "9.0.10"
3914
-
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.0.10.tgz#a25fd6061ea7f707213ff8344f562025f850fdc8"
3915
-
integrity sha512-4piPSylJ8z3to+YZpl/6M2mLxASOdIFANA8FYihsTf9kWlyimV9L/+MGgPXJcieaHXYZZqOryf8hQFVeg/68+A==
4034
+
"@expo/config-plugins@~54.0.1":
4035
+
version "54.0.1"
4036
+
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-54.0.1.tgz#cf811b38c7cf6ee32c611265605683032bf13b48"
4037
+
integrity sha512-NyBChhiWFL6VqSgU+LzK4R1vC397tEG2XFewVt4oMr4Pnalq/mJxBANQrR+dyV1RHhSyhy06RNiJIkQyngVWeg==
3916
4038
dependencies:
3917
-
"@expo/config-types" "^52.0.0"
3918
-
"@expo/json-file" "~9.0.0"
3919
-
"@expo/plist" "^0.2.0"
4039
+
"@expo/config-types" "^54.0.8"
4040
+
"@expo/json-file" "~10.0.7"
4041
+
"@expo/plist" "^0.4.7"
3920
4042
"@expo/sdk-runtime-versions" "^1.0.0"
3921
4043
chalk "^4.1.2"
3922
4044
debug "^4.3.5"
3923
-
getenv "^1.0.0"
4045
+
getenv "^2.0.0"
3924
4046
glob "^10.4.2"
3925
4047
resolve-from "^5.0.0"
3926
4048
semver "^7.5.4"
···
3929
4051
xcode "^3.0.1"
3930
4052
xml2js "0.6.0"
3931
4053
3932
-
"@expo/config-types@^52.0.0":
3933
-
version "52.0.1"
3934
-
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-52.0.1.tgz#327af1b72a3a9d4556f41e083e0e284dd8198b96"
3935
-
integrity sha512-vD8ZetyKV7U29lR6+NJohYeoLYTH+eNYXJeNiSOrWCz0witJYY11meMmEnpEaVbN89EfC6uauSUOa6wihtbyPQ==
3936
-
3937
4054
"@expo/config-types@^52.0.3":
3938
4055
version "52.0.3"
3939
4056
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-52.0.3.tgz#511f2f868172c93abeac7183beeb921dc72d6e1e"
3940
4057
integrity sha512-muxvuARmbysH5OGaiBRlh1Y6vfdmL56JtpXxB+y2Hfhu0ezG1U4FjZYBIacthckZPvnDCcP3xIu1R+eTo7/QFA==
3941
4058
3942
-
"@expo/config-types@^53.0.3":
3943
-
version "53.0.3"
3944
-
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-53.0.3.tgz#d083d9b095972e89eee96c41d085feb5b92d2749"
3945
-
integrity sha512-V1e6CiM4TXtGxG/W2Msjp/QOx/vikLo5IUGMvEMjgAglBfGYx3PXfqsUb5aZDt6kqA3bDDwFuZoS5vNm/SYwSg==
4059
+
"@expo/config-types@^54.0.8":
4060
+
version "54.0.8"
4061
+
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-54.0.8.tgz#2aa1f96e0abad6a125d0ff1092b303280f7962e9"
4062
+
integrity sha512-lyIn/x/Yz0SgHL7IGWtgTLg6TJWC9vL7489++0hzCHZ4iGjVcfZmPTUfiragZ3HycFFj899qN0jlhl49IHa94A==
3946
4063
3947
-
"@expo/config-types@^53.0.4":
3948
-
version "53.0.4"
3949
-
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-53.0.4.tgz#fe64fac734531ae883d18529b32586c23ffb1ceb"
3950
-
integrity sha512-0s+9vFx83WIToEr0Iwy4CcmiUXa5BgwBmEjylBB2eojX5XAMm9mJvw9KpjAb8m7zq2G0Q6bRbeufkzgbipuNQg==
3951
-
3952
-
"@expo/config@~10.0.4":
3953
-
version "10.0.5"
3954
-
resolved "https://registry.yarnpkg.com/@expo/config/-/config-10.0.5.tgz#2de75e3f5d46a55f9f5140b73e0913265e6a41c6"
3955
-
integrity sha512-wq48h3HlAPq5v/gMprarAiVY1aEXNBVJ+Em0vrHcYFO8UyxzR6oIao2E4Ed3VWHqhTzPXkMPH4hKCKlzFVBFwQ==
4064
+
"@expo/config@~12.0.8", "@expo/config@~12.0.9":
4065
+
version "12.0.9"
4066
+
resolved "https://registry.yarnpkg.com/@expo/config/-/config-12.0.9.tgz#07e1ddb3c9227031e9e9322e41797ad36197a1c3"
4067
+
integrity sha512-HiDVVaXYKY57+L1MxSF3TaYjX6zZlGBnuWnOKZG+7mtsLD+aNTtW4bZM0pZqZfoRumyOU0SfTCwT10BWtUUiJQ==
3956
4068
dependencies:
3957
4069
"@babel/code-frame" "~7.10.4"
3958
-
"@expo/config-plugins" "~9.0.10"
3959
-
"@expo/config-types" "^52.0.0"
3960
-
"@expo/json-file" "^9.0.0"
4070
+
"@expo/config-plugins" "~54.0.1"
4071
+
"@expo/config-types" "^54.0.8"
4072
+
"@expo/json-file" "^10.0.7"
3961
4073
deepmerge "^4.3.1"
3962
-
getenv "^1.0.0"
3963
-
glob "^10.4.2"
3964
-
require-from-string "^2.0.2"
3965
-
resolve-from "^5.0.0"
3966
-
resolve-workspace-root "^2.0.0"
3967
-
semver "^7.6.0"
3968
-
slugify "^1.3.4"
3969
-
sucrase "3.35.0"
3970
-
3971
-
"@expo/config@~11.0.10", "@expo/config@~11.0.9":
3972
-
version "11.0.10"
3973
-
resolved "https://registry.yarnpkg.com/@expo/config/-/config-11.0.10.tgz#559d9425a4e0de4fab96ccac01ff40f5cebbc04b"
3974
-
integrity sha512-8S8Krr/c5lnl0eF03tA2UGY9rGBhZcbWKz2UWw5dpL/+zstwUmog8oyuuC8aRcn7GiTQLlbBkxcMeT8sOGlhbA==
3975
-
dependencies:
3976
-
"@babel/code-frame" "~7.10.4"
3977
-
"@expo/config-plugins" "~10.0.2"
3978
-
"@expo/config-types" "^53.0.4"
3979
-
"@expo/json-file" "^9.1.4"
3980
-
deepmerge "^4.3.1"
3981
-
getenv "^1.0.0"
4074
+
getenv "^2.0.0"
3982
4075
glob "^10.4.2"
3983
4076
require-from-string "^2.0.2"
3984
4077
resolve-from "^5.0.0"
···
4006
4099
tmp "^0.0.33"
4007
4100
tslib "^2.4.0"
4008
4101
4009
-
"@expo/env@~0.4.0":
4010
-
version "0.4.0"
4011
-
resolved "https://registry.yarnpkg.com/@expo/env/-/env-0.4.0.tgz#1ff3a15084566d12ca92cb67e5b0a9796a9f0aa7"
4012
-
integrity sha512-g2JYFqck3xKIwJyK+8LxZ2ENZPWtRgjFWpeht9abnKgzXVXBeSNECFBkg+WQjQocSIdxXhEWM6hz4ZAe7Tc4ng==
4102
+
"@expo/devtools@0.1.7":
4103
+
version "0.1.7"
4104
+
resolved "https://registry.yarnpkg.com/@expo/devtools/-/devtools-0.1.7.tgz#bf4f552168ebd44c9fe63941bc4806fe2d222899"
4105
+
integrity sha512-dfIa9qMyXN+0RfU6SN4rKeXZyzKWsnz6xBSDccjL4IRiE+fQ0t84zg0yxgN4t/WK2JU5v6v4fby7W7Crv9gJvA==
4013
4106
dependencies:
4014
-
chalk "^4.0.0"
4015
-
debug "^4.3.4"
4016
-
dotenv "~16.4.5"
4017
-
dotenv-expand "~11.0.6"
4018
-
getenv "^1.0.0"
4107
+
chalk "^4.1.2"
4019
4108
4020
-
"@expo/env@~1.0.5":
4021
-
version "1.0.5"
4022
-
resolved "https://registry.yarnpkg.com/@expo/env/-/env-1.0.5.tgz#b3b1aa18ab9838d8f40468e0321affc4c54377a2"
4023
-
integrity sha512-dtEZ4CAMaVrFu2+tezhU3FoGWtbzQl50xV+rNJE5lYVRjUflWiZkVHlHkWUlPAwDPifLy4TuissVfScGGPWR5g==
4109
+
"@expo/env@~2.0.7":
4110
+
version "2.0.7"
4111
+
resolved "https://registry.yarnpkg.com/@expo/env/-/env-2.0.7.tgz#7b30d3ef9f262c131ac01d8e539e37dd04b8f4bd"
4112
+
integrity sha512-BNETbLEohk3HQ2LxwwezpG8pq+h7Fs7/vAMP3eAtFT1BCpprLYoBBFZH7gW4aqGfqOcVP4Lc91j014verrYNGg==
4024
4113
dependencies:
4025
4114
chalk "^4.0.0"
4026
4115
debug "^4.3.4"
4027
4116
dotenv "~16.4.5"
4028
4117
dotenv-expand "~11.0.6"
4029
-
getenv "^1.0.0"
4118
+
getenv "^2.0.0"
4030
4119
4031
-
"@expo/fingerprint@0.13.0":
4032
-
version "0.13.0"
4033
-
resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.13.0.tgz#5f5600122940ac381ed697743c10bdbddf6c55c1"
4034
-
integrity sha512-3IwpH0p3uO8jrJSLOUNDzJVh7VEBod0emnCBq0hD72sy6ICmzauM6Xf4he+2Tip7fzImCJRd63GaehV+CCtpvA==
4120
+
"@expo/fingerprint@0.15.1":
4121
+
version "0.15.1"
4122
+
resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.15.1.tgz#1feb1c761b6787d56c6d70a834c495157fbe050a"
4123
+
integrity sha512-U1S9DwiapCHQjHdHDDyO/oXsl/1oEHSHZRRkWDDrHgXRUDiAVIySw9Unvvcr118Ee6/x4NmKSZY1X0VagrqmFg==
4035
4124
dependencies:
4036
4125
"@expo/spawn-async" "^1.7.2"
4037
4126
arg "^5.0.2"
4038
4127
chalk "^4.1.2"
4039
4128
debug "^4.3.4"
4040
-
find-up "^5.0.0"
4041
4129
getenv "^2.0.0"
4130
+
glob "^10.4.2"
4042
4131
ignore "^5.3.1"
4043
4132
minimatch "^9.0.0"
4044
4133
p-limit "^3.1.0"
···
4050
4139
resolved "https://registry.yarnpkg.com/@expo/html-elements/-/html-elements-0.12.5.tgz#be7e7af9f2be6d3f1aa3ec2e7ae1c121c91a9aa1"
4051
4140
integrity sha512-28KWO88YKykKU7ke5sEQs5TivFRMs1Aktz13xxgqAf5rTgb+lka0VKVt3W2fG7ksbUQ407rtUqz7SEAq298NvQ==
4052
4141
4053
-
"@expo/image-utils@0.3.23", "@expo/image-utils@0.6.3", "@expo/image-utils@^0.6.3", "@expo/image-utils@^0.7.4":
4054
-
version "0.6.3"
4055
-
resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.6.3.tgz#89c744460beefc686989b969121357bbd5520c8a"
4056
-
integrity sha512-v/JbCKBrHeudxn1gN1TgfPE/pWJSlLPrl29uXJBgrJFQVkViQvUHQNDhaS+UEa9wYI5HHh7XYmtzAehyG4L+GA==
4142
+
"@expo/image-utils@0.3.23", "@expo/image-utils@0.8.7", "@expo/image-utils@^0.8.7":
4143
+
version "0.8.7"
4144
+
resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.8.7.tgz#3e765005def8a4e5533155b0042e053ebfafc9d2"
4145
+
integrity sha512-SXOww4Wq3RVXLyOaXiCCuQFguCDh8mmaHBv54h/R29wGl4jRY8GEyQEx8SypV/iHt1FbzsU/X3Qbcd9afm2W2w==
4057
4146
dependencies:
4058
4147
"@expo/spawn-async" "^1.7.2"
4059
4148
chalk "^4.0.0"
4060
-
fs-extra "9.0.0"
4061
-
getenv "^1.0.0"
4149
+
getenv "^2.0.0"
4062
4150
jimp-compact "0.16.1"
4063
4151
parse-png "^2.1.0"
4064
4152
resolve-from "^5.0.0"
4153
+
resolve-global "^1.0.0"
4065
4154
semver "^7.6.0"
4066
4155
temp-dir "~2.0.0"
4067
4156
unique-string "~2.0.0"
4068
4157
4069
-
"@expo/json-file@^9.0.0", "@expo/json-file@~9.0.0":
4070
-
version "9.0.0"
4071
-
resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-9.0.0.tgz#e3688c9b108cfd7e819f1354a9458ba6e93fc943"
4072
-
integrity sha512-M+55xFVrFzDcgMDf+52lPDLjKB5xwRfStWlv/b/Vu2OLgxGZLWpxoPYjlRoHqxjPbCQIi2ZCbobK+0KuNhsELg==
4073
-
dependencies:
4074
-
"@babel/code-frame" "~7.10.4"
4075
-
json5 "^2.2.3"
4076
-
write-file-atomic "^2.3.0"
4077
-
4078
-
"@expo/json-file@^9.1.4", "@expo/json-file@~9.1.4":
4079
-
version "9.1.4"
4080
-
resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-9.1.4.tgz#e719d092c08afb3234643f9285e57c6a24989327"
4081
-
integrity sha512-7Bv86X27fPERGhw8aJEZvRcH9sk+9BenDnEmrI3ZpywKodYSBgc8lX9Y32faNVQ/p0YbDK9zdJ0BfAKNAOyi0A==
4158
+
"@expo/json-file@^10.0.7", "@expo/json-file@~10.0.7":
4159
+
version "10.0.7"
4160
+
resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-10.0.7.tgz#e4f58fdc03fc62f13610eeafe086d84e6e44fe01"
4161
+
integrity sha512-z2OTC0XNO6riZu98EjdNHC05l51ySeTto6GP7oSQrCvQgG9ARBwD1YvMQaVZ9wU7p/4LzSf1O7tckL3B45fPpw==
4082
4162
dependencies:
4083
4163
"@babel/code-frame" "~7.10.4"
4084
4164
json5 "^2.2.3"
···
4092
4172
json5 "^2.2.3"
4093
4173
write-file-atomic "^2.3.0"
4094
4174
4095
-
"@expo/metro-config@0.20.14", "@expo/metro-config@~0.20.14":
4096
-
version "0.20.14"
4097
-
resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.20.14.tgz#5abf8cd6454fe7f75c1f8529cf79619da32af82d"
4098
-
integrity sha512-tYDDubuZycK+NX00XN7BMu73kBur/evOPcKfxc+UBeFfgN2EifOITtdwSUDdRsbtJ2OnXwMY1HfRUG3Lq3l4cw==
4175
+
"@expo/mcp-tunnel@~0.0.7":
4176
+
version "0.0.8"
4177
+
resolved "https://registry.yarnpkg.com/@expo/mcp-tunnel/-/mcp-tunnel-0.0.8.tgz#8c4fabec4e25e119998b22bd846e9d12435da4da"
4178
+
integrity sha512-6261obzt6h9TQb6clET7Fw4Ig4AY2hfTNKI3gBt0gcTNxZipwMg8wER7ssDYieA9feD/FfPTuCPYFcR280aaWA==
4099
4179
dependencies:
4180
+
ws "^8.18.3"
4181
+
zod "^3.25.76"
4182
+
zod-to-json-schema "^3.24.6"
4183
+
4184
+
"@expo/metro-config@54.0.4", "@expo/metro-config@~54.0.4":
4185
+
version "54.0.4"
4186
+
resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-54.0.4.tgz#b6e1087a66d6d9dedd4fb86a01f81121d345079b"
4187
+
integrity sha512-syzvZGFGrOSQOWjpo+lHHwMV8XOLK5Ev/E+e0Or3fJvsAi4o7h62qbbPuAicrfFUPxlAm7XBvkWmAwPr2jIAYA==
4188
+
dependencies:
4189
+
"@babel/code-frame" "^7.20.0"
4100
4190
"@babel/core" "^7.20.0"
4101
4191
"@babel/generator" "^7.20.5"
4102
-
"@babel/parser" "^7.20.0"
4103
-
"@babel/types" "^7.20.0"
4104
-
"@expo/config" "~11.0.9"
4105
-
"@expo/env" "~1.0.5"
4106
-
"@expo/json-file" "~9.1.4"
4192
+
"@expo/config" "~12.0.9"
4193
+
"@expo/env" "~2.0.7"
4194
+
"@expo/json-file" "~10.0.7"
4195
+
"@expo/metro" "~54.0.0"
4107
4196
"@expo/spawn-async" "^1.7.2"
4197
+
browserslist "^4.25.0"
4108
4198
chalk "^4.1.0"
4109
4199
debug "^4.3.2"
4110
4200
dotenv "~16.4.5"
4111
4201
dotenv-expand "~11.0.6"
4112
-
getenv "^1.0.0"
4202
+
getenv "^2.0.0"
4113
4203
glob "^10.4.2"
4204
+
hermes-parser "^0.29.1"
4114
4205
jsc-safe-url "^0.2.4"
4115
-
lightningcss "~1.27.0"
4206
+
lightningcss "^1.30.1"
4116
4207
minimatch "^9.0.0"
4117
4208
postcss "~8.4.32"
4118
4209
resolve-from "^5.0.0"
4119
4210
4120
-
"@expo/osascript@^2.2.4":
4121
-
version "2.2.4"
4122
-
resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.2.4.tgz#4414d97f91e29260a9b361529d20875430dc0af5"
4123
-
integrity sha512-Q+Oyj+1pdRiHHpev9YjqfMZzByFH8UhKvSszxa0acTveijjDhQgWrq4e9T/cchBHi0GWZpGczWyiyJkk1wM1dg==
4211
+
"@expo/metro@~54.0.0":
4212
+
version "54.0.0"
4213
+
resolved "https://registry.yarnpkg.com/@expo/metro/-/metro-54.0.0.tgz#ebb3846ee2fee688147fc08f7fed5b75fabde17f"
4214
+
integrity sha512-x2HlliepLJVLSe0Fl/LuPT83Mn2EXpPlb1ngVtcawlz4IfbkYJo16/Zfsfrn1t9d8LpN5dD44Dc55Q1/fO05Nw==
4215
+
dependencies:
4216
+
metro "0.83.1"
4217
+
metro-babel-transformer "0.83.1"
4218
+
metro-cache "0.83.1"
4219
+
metro-cache-key "0.83.1"
4220
+
metro-config "0.83.1"
4221
+
metro-core "0.83.1"
4222
+
metro-file-map "0.83.1"
4223
+
metro-resolver "0.83.1"
4224
+
metro-runtime "0.83.1"
4225
+
metro-source-map "0.83.1"
4226
+
metro-transform-plugins "0.83.1"
4227
+
metro-transform-worker "0.83.1"
4228
+
4229
+
"@expo/osascript@^2.3.7":
4230
+
version "2.3.7"
4231
+
resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.3.7.tgz#2d53ef06733593405c83767de7420510736e0fa9"
4232
+
integrity sha512-IClSOXxR0YUFxIriUJVqyYki7lLMIHrrzOaP01yxAL1G8pj2DWV5eW1y5jSzIcIfSCNhtGsshGd1tU/AYup5iQ==
4124
4233
dependencies:
4125
4234
"@expo/spawn-async" "^1.7.2"
4126
4235
exec-async "^2.2.0"
4127
4236
4128
-
"@expo/package-manager@^1.8.4":
4129
-
version "1.8.4"
4130
-
resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.8.4.tgz#6126d93b25bbfec515436833e6f6ca5677b7e8bd"
4131
-
integrity sha512-8H8tLga/NS3iS7QaX/NneRPqbObnHvVCfMCo0ShudreOFmvmgqhYjRlkZTRstSyFqefai8ONaT4VmnLHneRYYg==
4237
+
"@expo/package-manager@^1.9.8":
4238
+
version "1.9.8"
4239
+
resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.9.8.tgz#8f6b46a2f5f4bf4f2c78507b1a7a368e0c2e2126"
4240
+
integrity sha512-4/I6OWquKXYnzo38pkISHCOCOXxfeEmu4uDoERq1Ei/9Ur/s9y3kLbAamEkitUkDC7gHk1INxRWEfFNzGbmOrA==
4132
4241
dependencies:
4133
-
"@expo/json-file" "^9.1.4"
4242
+
"@expo/json-file" "^10.0.7"
4134
4243
"@expo/spawn-async" "^1.7.2"
4135
4244
chalk "^4.0.0"
4136
4245
npm-package-arg "^11.0.0"
4137
4246
ora "^3.4.0"
4138
4247
resolve-workspace-root "^2.0.0"
4139
-
4140
-
"@expo/plist@^0.2.0":
4141
-
version "0.2.0"
4142
-
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.2.0.tgz#beb014c0bfd56a993086c0972ec1ca3ef3f9d36c"
4143
-
integrity sha512-F/IZJQaf8OIVnVA6XWUeMPC3OH6MV00Wxf0WC0JhTQht2QgjyHUa3U5Gs3vRtDq8tXNsZneOQRDVwpaOnd4zTQ==
4144
-
dependencies:
4145
-
"@xmldom/xmldom" "~0.7.7"
4146
-
base64-js "^1.2.3"
4147
-
xmlbuilder "^14.0.0"
4148
4248
4149
4249
"@expo/plist@^0.2.1":
4150
4250
version "0.2.1"
···
4155
4255
base64-js "^1.2.3"
4156
4256
xmlbuilder "^14.0.0"
4157
4257
4158
-
"@expo/plist@^0.3.4":
4159
-
version "0.3.4"
4160
-
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.3.4.tgz#0c48eeff2158cf26c5c9ed4f681d24997ccfbeca"
4161
-
integrity sha512-MhBLaUJNe9FQDDU2xhSNS4SAolr6K2wuyi4+A79vYuXLkAoICsbTwcGEQJN5jPY6D9izO/jsXh5k0h+mIWQMdw==
4258
+
"@expo/plist@^0.4.7":
4259
+
version "0.4.7"
4260
+
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.4.7.tgz#40fa796e93d5be0452ce72e5110e69c8ac915403"
4261
+
integrity sha512-dGxqHPvCZKeRKDU1sJZMmuyVtcASuSYh1LPFVaM1DuffqPL36n6FMEL0iUqq2Tx3xhWk8wCnWl34IKplUjJDdA==
4162
4262
dependencies:
4163
4263
"@xmldom/xmldom" "^0.8.8"
4164
4264
base64-js "^1.2.3"
4165
4265
xmlbuilder "^15.1.1"
4166
4266
4167
-
"@expo/prebuild-config@^9.0.6":
4168
-
version "9.0.6"
4169
-
resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-9.0.6.tgz#f634e7b8f9ebebeaf2e7d2f2be46926c23834d2b"
4170
-
integrity sha512-HDTdlMkTQZ95rd6EpvuLM+xkZV03yGLc38FqI37qKFLJtUN1WnYVaWsuXKoljd1OrVEVsHe6CfqKwaPZ52D56Q==
4267
+
"@expo/prebuild-config@^54.0.3":
4268
+
version "54.0.3"
4269
+
resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-54.0.3.tgz#e3ac24bb1ec2ec348dfa98dc2ec5605b1fa49bf3"
4270
+
integrity sha512-okf6Umaz1VniKmm+pA37QHBzB9XlRHvO1Qh3VbUezy07LTkz87kXUW7uLMmrA319WLavWSVORTXeR0jBRihObA==
4171
4271
dependencies:
4172
-
"@expo/config" "~11.0.9"
4173
-
"@expo/config-plugins" "~10.0.2"
4174
-
"@expo/config-types" "^53.0.4"
4175
-
"@expo/image-utils" "^0.7.4"
4176
-
"@expo/json-file" "^9.1.4"
4177
-
"@react-native/normalize-colors" "0.79.2"
4272
+
"@expo/config" "~12.0.9"
4273
+
"@expo/config-plugins" "~54.0.1"
4274
+
"@expo/config-types" "^54.0.8"
4275
+
"@expo/image-utils" "^0.8.7"
4276
+
"@expo/json-file" "^10.0.7"
4277
+
"@react-native/normalize-colors" "0.81.4"
4178
4278
debug "^4.3.1"
4179
4279
resolve-from "^5.0.0"
4180
4280
semver "^7.6.0"
4181
4281
xml2js "0.6.0"
4182
4282
4283
+
"@expo/schema-utils@^0.1.7":
4284
+
version "0.1.7"
4285
+
resolved "https://registry.yarnpkg.com/@expo/schema-utils/-/schema-utils-0.1.7.tgz#38baa0effa0823cd4eca3f05e5eee3bde311da12"
4286
+
integrity sha512-jWHoSuwRb5ZczjahrychMJ3GWZu54jK9ulNdh1d4OzAEq672K9E5yOlnlBsfIHWHGzUAT+0CL7Yt1INiXTz68g==
4287
+
4183
4288
"@expo/sdk-runtime-versions@^1.0.0":
4184
4289
version "1.0.0"
4185
4290
resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c"
4186
4291
integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==
4187
4292
4293
+
"@expo/server@^0.7.4":
4294
+
version "0.7.4"
4295
+
resolved "https://registry.yarnpkg.com/@expo/server/-/server-0.7.4.tgz#37966ad39cb649a646d35778794c7e8cb1da1fb9"
4296
+
integrity sha512-8bfRzL7h1Qgrmf3auR71sPAcAuxnmNkRJs+8enL8vZi2+hihevLhrayDu7P0A/XGEq7wySAGvBBFfIB00Et/AA==
4297
+
dependencies:
4298
+
abort-controller "^3.0.0"
4299
+
debug "^4.3.4"
4300
+
4188
4301
"@expo/spawn-async@^1.7.2":
4189
4302
version "1.7.2"
4190
4303
resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.7.2.tgz#fcfe66c3e387245e72154b1a7eae8cada6a47f58"
···
4192
4305
dependencies:
4193
4306
cross-spawn "^7.0.3"
4194
4307
4195
-
"@expo/vector-icons@^14.0.0":
4196
-
version "14.0.0"
4197
-
resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-14.0.0.tgz#48ce0aa5c05873b07c0c78bfe16c870388f4de9a"
4198
-
integrity sha512-5orm59pdnBQlovhU9k4DbjMUZBHNlku7IRgFY56f7pcaaCnXq9yaLJoOQl9sMwNdFzf4gnkTyHmR5uN10mI9rA==
4308
+
"@expo/vector-icons@^15.0.2":
4309
+
version "15.0.2"
4310
+
resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-15.0.2.tgz#64d380f04cf2bdeb1dac502c3a0d880b6c2a9e37"
4311
+
integrity sha512-IiBjg7ZikueuHNf40wSGCf0zS73a3guJLdZzKnDUxsauB8VWPLMeWnRIupc+7cFhLUkqyvyo0jLNlcxG5xPOuQ==
4199
4312
4200
4313
"@expo/webpack-config@^19.0.1":
4201
4314
version "19.0.1"
···
4969
5082
"@jridgewell/sourcemap-codec" "^1.4.10"
4970
5083
"@jridgewell/trace-mapping" "^0.3.9"
4971
5084
5085
+
"@jridgewell/gen-mapping@^0.3.12":
5086
+
version "0.3.13"
5087
+
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
5088
+
integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
5089
+
dependencies:
5090
+
"@jridgewell/sourcemap-codec" "^1.5.0"
5091
+
"@jridgewell/trace-mapping" "^0.3.24"
5092
+
4972
5093
"@jridgewell/gen-mapping@^0.3.5":
4973
5094
version "0.3.5"
4974
5095
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
···
5011
5132
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
5012
5133
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
5013
5134
5135
+
"@jridgewell/sourcemap-codec@^1.5.0":
5136
+
version "1.5.5"
5137
+
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
5138
+
integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
5139
+
5014
5140
"@jridgewell/trace-mapping@0.3.9":
5015
5141
version "0.3.9"
5016
5142
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
···
5031
5157
version "0.3.25"
5032
5158
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
5033
5159
integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
5160
+
dependencies:
5161
+
"@jridgewell/resolve-uri" "^3.1.0"
5162
+
"@jridgewell/sourcemap-codec" "^1.4.14"
5163
+
5164
+
"@jridgewell/trace-mapping@^0.3.28":
5165
+
version "0.3.31"
5166
+
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0"
5167
+
integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
5034
5168
dependencies:
5035
5169
"@jridgewell/resolve-uri" "^3.1.0"
5036
5170
"@jridgewell/sourcemap-codec" "^1.4.14"
···
5161
5295
resolved "https://registry.yarnpkg.com/@miblanchard/react-native-slider/-/react-native-slider-2.6.0.tgz#9f78c805d637ffaff0e3e7429932d2995a67edc9"
5162
5296
integrity sha512-o7hk/f/8vkqh6QNR5L52m+ws846fQeD/qNCC9CCSRdBqjq66KiCgbxzlhRzKM/gbtxcvMYMIEEJ1yes5cr6I3A==
5163
5297
5164
-
"@mozzius/expo-dynamic-app-icon@^1.7.1":
5165
-
version "1.7.1"
5166
-
resolved "https://registry.yarnpkg.com/@mozzius/expo-dynamic-app-icon/-/expo-dynamic-app-icon-1.7.1.tgz#20a6475af256ab93112bbaac1c2f3dd052562d16"
5167
-
integrity sha512-zDcY11B3tsQ9WsPTcszUCa6SpygfYz1e4p8PGn/4XhwYbOHJ53sEnGVQ1YlwzQ87SeWPlqrfzY6SUr9GpNq2Kg==
5298
+
"@mozzius/expo-dynamic-app-icon@^1.8.0":
5299
+
version "1.8.0"
5300
+
resolved "https://registry.yarnpkg.com/@mozzius/expo-dynamic-app-icon/-/expo-dynamic-app-icon-1.8.0.tgz#3e98b6dc6d2a90a4274f8d975231f71e1f765142"
5301
+
integrity sha512-b8/OGbTWrEhNKi8fro9MEpS2aqfP/3uIjgMTlSmEPggwKSVho61sf86t8k1g2BsVt6T+pMbS3FTMsPAVeROiJQ==
5168
5302
dependencies:
5169
-
"@expo/image-utils" "^0.6.3"
5303
+
"@expo/image-utils" "^0.8.7"
5170
5304
xcode "^3.0.1"
5171
5305
5172
5306
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
···
5300
5434
resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.1.1.tgz#7b2c9225fbf1b126539551f5985769d0048d9090"
5301
5435
integrity sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==
5302
5436
5303
-
"@radix-ui/primitive@1.1.0":
5304
-
version "1.1.0"
5305
-
resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.0.tgz#42ef83b3b56dccad5d703ae8c42919a68798bbe2"
5306
-
integrity sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==
5437
+
"@radix-ui/primitive@1.1.3":
5438
+
version "1.1.3"
5439
+
resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.3.tgz#e2dbc13bdc5e4168f4334f75832d7bdd3e2de5ba"
5440
+
integrity sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==
5307
5441
5308
-
"@radix-ui/primitive@1.1.2":
5309
-
version "1.1.2"
5310
-
resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.2.tgz#83f415c4425f21e3d27914c12b3272a32e3dae65"
5311
-
integrity sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==
5312
-
5313
-
"@radix-ui/react-accessible-icon@1.1.3":
5314
-
version "1.1.3"
5315
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.1.3.tgz#d31766a08fa506770fe2b11ef16c276398bc5a55"
5316
-
integrity sha512-givBUIlhucV212j05wJCzXtcUtQnAwoUF9eAyUyOB2YwKHnWyme817trCtAzLjo0OndPr09kbkFe2onKRxLWdg==
5442
+
"@radix-ui/react-accessible-icon@1.1.7":
5443
+
version "1.1.7"
5444
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.1.7.tgz#3b1629ce0c5ce0f791a21e28cfa6a1ffb82e2029"
5445
+
integrity sha512-XM+E4WXl0OqUJFovy6GjmxxFyx9opfCAIUku4dlKRd5YEPqt4kALOkQOp0Of6reHuUkJuiPBEc5k0o4z4lTC8A==
5317
5446
dependencies:
5318
-
"@radix-ui/react-visually-hidden" "1.1.3"
5447
+
"@radix-ui/react-visually-hidden" "1.2.3"
5319
5448
5320
-
"@radix-ui/react-accordion@1.2.4":
5321
-
version "1.2.4"
5322
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-accordion/-/react-accordion-1.2.4.tgz#7ccfceb959bbb3bac2f92e5e75b2654a488a2ff0"
5323
-
integrity sha512-SGCxlSBaMvEzDROzyZjsVNzu9XY5E28B3k8jOENyrz6csOv/pG1eHyYfLJai1n9tRjwG61coXDhfpgtxKxUv5g==
5449
+
"@radix-ui/react-accordion@1.2.12":
5450
+
version "1.2.12"
5451
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-accordion/-/react-accordion-1.2.12.tgz#1fd70d4ef36018012b9e03324ff186de7a29c13f"
5452
+
integrity sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==
5324
5453
dependencies:
5325
-
"@radix-ui/primitive" "1.1.2"
5326
-
"@radix-ui/react-collapsible" "1.1.4"
5327
-
"@radix-ui/react-collection" "1.1.3"
5454
+
"@radix-ui/primitive" "1.1.3"
5455
+
"@radix-ui/react-collapsible" "1.1.12"
5456
+
"@radix-ui/react-collection" "1.1.7"
5328
5457
"@radix-ui/react-compose-refs" "1.1.2"
5329
5458
"@radix-ui/react-context" "1.1.2"
5330
5459
"@radix-ui/react-direction" "1.1.1"
5331
5460
"@radix-ui/react-id" "1.1.1"
5332
-
"@radix-ui/react-primitive" "2.0.3"
5333
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5461
+
"@radix-ui/react-primitive" "2.1.3"
5462
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5334
5463
5335
-
"@radix-ui/react-alert-dialog@1.1.7":
5336
-
version "1.1.7"
5337
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.7.tgz#d4e07dcf9a3c67c45225c20c2800577773469454"
5338
-
integrity sha512-7Gx1gcoltd0VxKoR8mc+TAVbzvChJyZryZsTam0UhoL92z0L+W8ovxvcgvd+nkz24y7Qc51JQKBAGe4+825tYw==
5464
+
"@radix-ui/react-alert-dialog@1.1.15":
5465
+
version "1.1.15"
5466
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.15.tgz#fa751d0fdd9aa2a90961c9901dba18e638dd4b41"
5467
+
integrity sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==
5339
5468
dependencies:
5340
-
"@radix-ui/primitive" "1.1.2"
5469
+
"@radix-ui/primitive" "1.1.3"
5341
5470
"@radix-ui/react-compose-refs" "1.1.2"
5342
5471
"@radix-ui/react-context" "1.1.2"
5343
-
"@radix-ui/react-dialog" "1.1.7"
5344
-
"@radix-ui/react-primitive" "2.0.3"
5345
-
"@radix-ui/react-slot" "1.2.0"
5472
+
"@radix-ui/react-dialog" "1.1.15"
5473
+
"@radix-ui/react-primitive" "2.1.3"
5474
+
"@radix-ui/react-slot" "1.2.3"
5346
5475
5347
-
"@radix-ui/react-arrow@1.1.0":
5348
-
version "1.1.0"
5349
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz#744f388182d360b86285217e43b6c63633f39e7a"
5350
-
integrity sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==
5476
+
"@radix-ui/react-arrow@1.1.7":
5477
+
version "1.1.7"
5478
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz#e14a2657c81d961598c5e72b73dd6098acc04f09"
5479
+
integrity sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==
5351
5480
dependencies:
5352
-
"@radix-ui/react-primitive" "2.0.0"
5481
+
"@radix-ui/react-primitive" "2.1.3"
5353
5482
5354
-
"@radix-ui/react-arrow@1.1.3":
5355
-
version "1.1.3"
5356
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.3.tgz#8926eb1d87f73c2e047eac96703949f168c85861"
5357
-
integrity sha512-2dvVU4jva0qkNZH6HHWuSz5FN5GeU5tymvCgutF8WaXz9WnD1NgUhy73cqzkjkN4Zkn8lfTPv5JIfrC221W+Nw==
5483
+
"@radix-ui/react-aspect-ratio@1.1.7":
5484
+
version "1.1.7"
5485
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.7.tgz#95d0adcdddd0d40c5dd2ae07c8608b4f0b983f53"
5486
+
integrity sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==
5358
5487
dependencies:
5359
-
"@radix-ui/react-primitive" "2.0.3"
5488
+
"@radix-ui/react-primitive" "2.1.3"
5360
5489
5361
-
"@radix-ui/react-aspect-ratio@1.1.3":
5362
-
version "1.1.3"
5363
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.3.tgz#8a1fa699e2eb3dfea614383b0f4b2cef2fa2bb43"
5364
-
integrity sha512-yIrYZUc2e/JtRkDpuJCmaR6kj/jzekDfQLcPFdEWzSOygCPy8poR4YcszaHP5A7mh25ncofHEpeTwfhxEuBv8Q==
5365
-
dependencies:
5366
-
"@radix-ui/react-primitive" "2.0.3"
5367
-
5368
-
"@radix-ui/react-avatar@1.1.4":
5369
-
version "1.1.4"
5370
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-avatar/-/react-avatar-1.1.4.tgz#55dd879cd57b08265cf313b92ba1021f7f4d5abe"
5371
-
integrity sha512-+kBesLBzwqyDiYCtYFK+6Ktf+N7+Y6QOTUueLGLIbLZ/YeyFW6bsBGDsN+5HxHpM55C90u5fxsg0ErxzXTcwKA==
5490
+
"@radix-ui/react-avatar@1.1.10":
5491
+
version "1.1.10"
5492
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-avatar/-/react-avatar-1.1.10.tgz#c58a8800ef3d3ee783b3168fee7c76f6534bfd93"
5493
+
integrity sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==
5372
5494
dependencies:
5373
5495
"@radix-ui/react-context" "1.1.2"
5374
-
"@radix-ui/react-primitive" "2.0.3"
5496
+
"@radix-ui/react-primitive" "2.1.3"
5375
5497
"@radix-ui/react-use-callback-ref" "1.1.1"
5498
+
"@radix-ui/react-use-is-hydrated" "0.1.0"
5376
5499
"@radix-ui/react-use-layout-effect" "1.1.1"
5377
5500
5378
-
"@radix-ui/react-checkbox@1.1.5":
5379
-
version "1.1.5"
5380
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.1.5.tgz#b27080678d751e33ac66066269453be9bdaa429b"
5381
-
integrity sha512-B0gYIVxl77KYDR25AY9EGe/G//ef85RVBIxQvK+m5pxAC7XihAc/8leMHhDvjvhDu02SBSb6BuytlWr/G7F3+g==
5501
+
"@radix-ui/react-checkbox@1.3.3":
5502
+
version "1.3.3"
5503
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz#db45ca8a6d5c056a92f74edbb564acee05318b79"
5504
+
integrity sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==
5382
5505
dependencies:
5383
-
"@radix-ui/primitive" "1.1.2"
5506
+
"@radix-ui/primitive" "1.1.3"
5384
5507
"@radix-ui/react-compose-refs" "1.1.2"
5385
5508
"@radix-ui/react-context" "1.1.2"
5386
-
"@radix-ui/react-presence" "1.1.3"
5387
-
"@radix-ui/react-primitive" "2.0.3"
5388
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5509
+
"@radix-ui/react-presence" "1.1.5"
5510
+
"@radix-ui/react-primitive" "2.1.3"
5511
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5389
5512
"@radix-ui/react-use-previous" "1.1.1"
5390
5513
"@radix-ui/react-use-size" "1.1.1"
5391
5514
5392
-
"@radix-ui/react-collapsible@1.1.4":
5393
-
version "1.1.4"
5394
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-collapsible/-/react-collapsible-1.1.4.tgz#59729939c0c5db978934c688aa5f8229876d8f3f"
5395
-
integrity sha512-u7LCw1EYInQtBNLGjm9nZ89S/4GcvX1UR5XbekEgnQae2Hkpq39ycJ1OhdeN1/JDfVNG91kWaWoest127TaEKQ==
5515
+
"@radix-ui/react-collapsible@1.1.12":
5516
+
version "1.1.12"
5517
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz#e2cc69a4490a2920f97c3c3150b0bf21281e3c49"
5518
+
integrity sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==
5396
5519
dependencies:
5397
-
"@radix-ui/primitive" "1.1.2"
5520
+
"@radix-ui/primitive" "1.1.3"
5398
5521
"@radix-ui/react-compose-refs" "1.1.2"
5399
5522
"@radix-ui/react-context" "1.1.2"
5400
5523
"@radix-ui/react-id" "1.1.1"
5401
-
"@radix-ui/react-presence" "1.1.3"
5402
-
"@radix-ui/react-primitive" "2.0.3"
5403
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5524
+
"@radix-ui/react-presence" "1.1.5"
5525
+
"@radix-ui/react-primitive" "2.1.3"
5526
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5404
5527
"@radix-ui/react-use-layout-effect" "1.1.1"
5405
5528
5406
-
"@radix-ui/react-collection@1.1.0":
5407
-
version "1.1.0"
5408
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.0.tgz#f18af78e46454a2360d103c2251773028b7724ed"
5409
-
integrity sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==
5410
-
dependencies:
5411
-
"@radix-ui/react-compose-refs" "1.1.0"
5412
-
"@radix-ui/react-context" "1.1.0"
5413
-
"@radix-ui/react-primitive" "2.0.0"
5414
-
"@radix-ui/react-slot" "1.1.0"
5415
-
5416
-
"@radix-ui/react-collection@1.1.3":
5417
-
version "1.1.3"
5418
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.3.tgz#cfd46dcea5a8ab064d91798feeb46faba4032930"
5419
-
integrity sha512-mM2pxoQw5HJ49rkzwOs7Y6J4oYH22wS8BfK2/bBxROlI4xuR0c4jEenQP63LlTlDkO6Buj2Vt+QYAYcOgqtrXA==
5529
+
"@radix-ui/react-collection@1.1.7":
5530
+
version "1.1.7"
5531
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.7.tgz#d05c25ca9ac4695cc19ba91f42f686e3ea2d9aec"
5532
+
integrity sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==
5420
5533
dependencies:
5421
5534
"@radix-ui/react-compose-refs" "1.1.2"
5422
5535
"@radix-ui/react-context" "1.1.2"
5423
-
"@radix-ui/react-primitive" "2.0.3"
5424
-
"@radix-ui/react-slot" "1.2.0"
5425
-
5426
-
"@radix-ui/react-compose-refs@1.1.0":
5427
-
version "1.1.0"
5428
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz#656432461fc8283d7b591dcf0d79152fae9ecc74"
5429
-
integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==
5536
+
"@radix-ui/react-primitive" "2.1.3"
5537
+
"@radix-ui/react-slot" "1.2.3"
5430
5538
5431
5539
"@radix-ui/react-compose-refs@1.1.2":
5432
5540
version "1.1.2"
5433
5541
resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz#a2c4c47af6337048ee78ff6dc0d090b390d2bb30"
5434
5542
integrity sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==
5435
5543
5436
-
"@radix-ui/react-context-menu@2.2.7":
5437
-
version "2.2.7"
5438
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.2.7.tgz#6d05eb191f3b45a040b1892fb91eaed1504b25f8"
5439
-
integrity sha512-EwO3tyyqwGaLPg0P64jmIKJnBywD0yjiL1eRuMPyhUXPkWWpa5JPDS+oyeIWHy2JbhF+NUlfUPVq6vE7OqgZww==
5544
+
"@radix-ui/react-context-menu@2.2.16":
5545
+
version "2.2.16"
5546
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.2.16.tgz#e7bf94a457b68af08f24ad696949144530faab50"
5547
+
integrity sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==
5440
5548
dependencies:
5441
-
"@radix-ui/primitive" "1.1.2"
5549
+
"@radix-ui/primitive" "1.1.3"
5442
5550
"@radix-ui/react-context" "1.1.2"
5443
-
"@radix-ui/react-menu" "2.1.7"
5444
-
"@radix-ui/react-primitive" "2.0.3"
5551
+
"@radix-ui/react-menu" "2.1.16"
5552
+
"@radix-ui/react-primitive" "2.1.3"
5445
5553
"@radix-ui/react-use-callback-ref" "1.1.1"
5446
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5447
-
5448
-
"@radix-ui/react-context-menu@^2.0.1":
5449
-
version "2.2.2"
5450
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.2.2.tgz#efcddc559fc3011721b65148f062d04027f76c7a"
5451
-
integrity sha512-99EatSTpW+hRYHt7m8wdDlLtkmTovEe8Z/hnxUPV+SKuuNL5HWNhQI4QSdjZqNSgXHay2z4M3Dym73j9p2Gx5Q==
5452
-
dependencies:
5453
-
"@radix-ui/primitive" "1.1.0"
5454
-
"@radix-ui/react-context" "1.1.1"
5455
-
"@radix-ui/react-menu" "2.1.2"
5456
-
"@radix-ui/react-primitive" "2.0.0"
5457
-
"@radix-ui/react-use-callback-ref" "1.1.0"
5458
-
"@radix-ui/react-use-controllable-state" "1.1.0"
5459
-
5460
-
"@radix-ui/react-context@1.1.0":
5461
-
version "1.1.0"
5462
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.0.tgz#6df8d983546cfd1999c8512f3a8ad85a6e7fcee8"
5463
-
integrity sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==
5464
-
5465
-
"@radix-ui/react-context@1.1.1":
5466
-
version "1.1.1"
5467
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.1.tgz#82074aa83a472353bb22e86f11bcbd1c61c4c71a"
5468
-
integrity sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==
5554
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5469
5555
5470
5556
"@radix-ui/react-context@1.1.2":
5471
5557
version "1.1.2"
5472
5558
resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.2.tgz#61628ef269a433382c364f6f1e3788a6dc213a36"
5473
5559
integrity sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==
5474
5560
5475
-
"@radix-ui/react-dialog@1.1.7":
5476
-
version "1.1.7"
5477
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.1.7.tgz#c826d997d9e512bd2a2adb3245bb9dffe56e02aa"
5478
-
integrity sha512-EIdma8C0C/I6kL6sO02avaCRqi3fmWJpxH6mqbVScorW6nNktzKJT/le7VPho3o/7wCsyRg3z0+Q+Obr0Gy/VQ==
5561
+
"@radix-ui/react-dialog@1.1.15":
5562
+
version "1.1.15"
5563
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz#1de3d7a7e9a17a9874d29c07f5940a18a119b632"
5564
+
integrity sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==
5479
5565
dependencies:
5480
-
"@radix-ui/primitive" "1.1.2"
5566
+
"@radix-ui/primitive" "1.1.3"
5481
5567
"@radix-ui/react-compose-refs" "1.1.2"
5482
5568
"@radix-ui/react-context" "1.1.2"
5483
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5484
-
"@radix-ui/react-focus-guards" "1.1.2"
5485
-
"@radix-ui/react-focus-scope" "1.1.3"
5569
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5570
+
"@radix-ui/react-focus-guards" "1.1.3"
5571
+
"@radix-ui/react-focus-scope" "1.1.7"
5486
5572
"@radix-ui/react-id" "1.1.1"
5487
-
"@radix-ui/react-portal" "1.1.5"
5488
-
"@radix-ui/react-presence" "1.1.3"
5489
-
"@radix-ui/react-primitive" "2.0.3"
5490
-
"@radix-ui/react-slot" "1.2.0"
5491
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5573
+
"@radix-ui/react-portal" "1.1.9"
5574
+
"@radix-ui/react-presence" "1.1.5"
5575
+
"@radix-ui/react-primitive" "2.1.3"
5576
+
"@radix-ui/react-slot" "1.2.3"
5577
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5492
5578
aria-hidden "^1.2.4"
5493
5579
react-remove-scroll "^2.6.3"
5494
-
5495
-
"@radix-ui/react-direction@1.1.0":
5496
-
version "1.1.0"
5497
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.0.tgz#a7d39855f4d077adc2a1922f9c353c5977a09cdc"
5498
-
integrity sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==
5499
5580
5500
5581
"@radix-ui/react-direction@1.1.1":
5501
5582
version "1.1.1"
5502
5583
resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.1.tgz#39e5a5769e676c753204b792fbe6cf508e550a14"
5503
5584
integrity sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==
5504
5585
5505
-
"@radix-ui/react-dismissable-layer@1.1.1":
5506
-
version "1.1.1"
5507
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz#cbdcb739c5403382bdde5f9243042ba643883396"
5508
-
integrity sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==
5586
+
"@radix-ui/react-dismissable-layer@1.1.11":
5587
+
version "1.1.11"
5588
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz#e33ab6f6bdaa00f8f7327c408d9f631376b88b37"
5589
+
integrity sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==
5509
5590
dependencies:
5510
-
"@radix-ui/primitive" "1.1.0"
5511
-
"@radix-ui/react-compose-refs" "1.1.0"
5512
-
"@radix-ui/react-primitive" "2.0.0"
5513
-
"@radix-ui/react-use-callback-ref" "1.1.0"
5514
-
"@radix-ui/react-use-escape-keydown" "1.1.0"
5515
-
5516
-
"@radix-ui/react-dismissable-layer@1.1.6":
5517
-
version "1.1.6"
5518
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.6.tgz#e72c156cac7b07614fe8e3a039ab7081ce413686"
5519
-
integrity sha512-7gpgMT2gyKym9Jz2ZhlRXSg2y6cNQIK8d/cqBZ0RBCaps8pFryCWXiUKI+uHGFrhMrbGUP7U6PWgiXzIxoyF3Q==
5520
-
dependencies:
5521
-
"@radix-ui/primitive" "1.1.2"
5591
+
"@radix-ui/primitive" "1.1.3"
5522
5592
"@radix-ui/react-compose-refs" "1.1.2"
5523
-
"@radix-ui/react-primitive" "2.0.3"
5593
+
"@radix-ui/react-primitive" "2.1.3"
5524
5594
"@radix-ui/react-use-callback-ref" "1.1.1"
5525
5595
"@radix-ui/react-use-escape-keydown" "1.1.1"
5526
5596
5527
-
"@radix-ui/react-dropdown-menu@2.1.7":
5528
-
version "2.1.7"
5529
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.7.tgz#a18860ff69bdf061b7f8ace51db01db2eb225161"
5530
-
integrity sha512-7/1LiuNZuCQE3IzdicGoHdQOHkS2Q08+7p8w6TXZ6ZjgAULaCI85ZY15yPl4o4FVgoKLRT43/rsfNVN8osClQQ==
5597
+
"@radix-ui/react-dropdown-menu@2.1.16":
5598
+
version "2.1.16"
5599
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz#5ee045c62bad8122347981c479d92b1ff24c7254"
5600
+
integrity sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==
5531
5601
dependencies:
5532
-
"@radix-ui/primitive" "1.1.2"
5602
+
"@radix-ui/primitive" "1.1.3"
5533
5603
"@radix-ui/react-compose-refs" "1.1.2"
5534
5604
"@radix-ui/react-context" "1.1.2"
5535
5605
"@radix-ui/react-id" "1.1.1"
5536
-
"@radix-ui/react-menu" "2.1.7"
5537
-
"@radix-ui/react-primitive" "2.0.3"
5538
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5539
-
5540
-
"@radix-ui/react-dropdown-menu@^2.0.1":
5541
-
version "2.1.2"
5542
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.2.tgz#acc49577130e3c875ef0133bd1e271ea3392d924"
5543
-
integrity sha512-GVZMR+eqK8/Kes0a36Qrv+i20bAPXSn8rCBTHx30w+3ECnR5o3xixAlqcVaYvLeyKUsm0aqyhWfmUcqufM8nYA==
5544
-
dependencies:
5545
-
"@radix-ui/primitive" "1.1.0"
5546
-
"@radix-ui/react-compose-refs" "1.1.0"
5547
-
"@radix-ui/react-context" "1.1.1"
5548
-
"@radix-ui/react-id" "1.1.0"
5549
-
"@radix-ui/react-menu" "2.1.2"
5550
-
"@radix-ui/react-primitive" "2.0.0"
5551
-
"@radix-ui/react-use-controllable-state" "1.1.0"
5552
-
5553
-
"@radix-ui/react-focus-guards@1.1.1":
5554
-
version "1.1.1"
5555
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz#8635edd346304f8b42cae86b05912b61aef27afe"
5556
-
integrity sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==
5557
-
5558
-
"@radix-ui/react-focus-guards@1.1.2":
5559
-
version "1.1.2"
5560
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.2.tgz#4ec9a7e50925f7fb661394460045b46212a33bed"
5561
-
integrity sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==
5562
-
5563
-
"@radix-ui/react-focus-scope@1.1.0":
5564
-
version "1.1.0"
5565
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz#ebe2891a298e0a33ad34daab2aad8dea31caf0b2"
5566
-
integrity sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==
5567
-
dependencies:
5568
-
"@radix-ui/react-compose-refs" "1.1.0"
5569
-
"@radix-ui/react-primitive" "2.0.0"
5570
-
"@radix-ui/react-use-callback-ref" "1.1.0"
5606
+
"@radix-ui/react-menu" "2.1.16"
5607
+
"@radix-ui/react-primitive" "2.1.3"
5608
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5571
5609
5572
-
"@radix-ui/react-focus-scope@1.1.3":
5610
+
"@radix-ui/react-focus-guards@1.1.3":
5573
5611
version "1.1.3"
5574
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.3.tgz#eac83a3aac700db17650b41b30724deffac5b28a"
5575
-
integrity sha512-4XaDlq0bPt7oJwR+0k0clCiCO/7lO7NKZTAaJBYxDNQT/vj4ig0/UvctrRscZaFREpRvUTkpKR96ov1e6jptQg==
5612
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz#2a5669e464ad5fde9f86d22f7fdc17781a4dfa7f"
5613
+
integrity sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==
5614
+
5615
+
"@radix-ui/react-focus-scope@1.1.7":
5616
+
version "1.1.7"
5617
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz#dfe76fc103537d80bf42723a183773fd07bfb58d"
5618
+
integrity sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==
5576
5619
dependencies:
5577
5620
"@radix-ui/react-compose-refs" "1.1.2"
5578
-
"@radix-ui/react-primitive" "2.0.3"
5621
+
"@radix-ui/react-primitive" "2.1.3"
5579
5622
"@radix-ui/react-use-callback-ref" "1.1.1"
5580
5623
5581
-
"@radix-ui/react-form@0.1.3":
5582
-
version "0.1.3"
5583
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-form/-/react-form-0.1.3.tgz#f3dd9a985eade574d043dabb50960946ee8dee5b"
5584
-
integrity sha512-fVxaewKm9+oKL5q+E1+tIKNEkAeh8waJ+MsFNhLFAmpF8VG6nrNXYd2FFU8J7P3gIGNr023Sp+dD0xflqI84mA==
5624
+
"@radix-ui/react-form@0.1.8":
5625
+
version "0.1.8"
5626
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-form/-/react-form-0.1.8.tgz#daec0fde305a70edf1a97b932b5e02a4cbf5b68e"
5627
+
integrity sha512-QM70k4Zwjttifr5a4sZFts9fn8FzHYvQ5PiB19O2HsYibaHSVt9fH9rzB0XZo/YcM+b7t/p7lYCT/F5eOeF5yQ==
5585
5628
dependencies:
5586
-
"@radix-ui/primitive" "1.1.2"
5629
+
"@radix-ui/primitive" "1.1.3"
5587
5630
"@radix-ui/react-compose-refs" "1.1.2"
5588
5631
"@radix-ui/react-context" "1.1.2"
5589
5632
"@radix-ui/react-id" "1.1.1"
5590
-
"@radix-ui/react-label" "2.1.3"
5591
-
"@radix-ui/react-primitive" "2.0.3"
5633
+
"@radix-ui/react-label" "2.1.7"
5634
+
"@radix-ui/react-primitive" "2.1.3"
5592
5635
5593
-
"@radix-ui/react-hover-card@1.1.7":
5594
-
version "1.1.7"
5595
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-hover-card/-/react-hover-card-1.1.7.tgz#01b2f956daeb8a1193ccdb36c9c00943120bf2d4"
5596
-
integrity sha512-HwM03kP8psrv21J1+9T/hhxi0f5rARVbqIZl9+IAq13l4j4fX+oGIuxisukZZmebO7J35w9gpoILvtG8bbph0w==
5636
+
"@radix-ui/react-hover-card@1.1.15":
5637
+
version "1.1.15"
5638
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-hover-card/-/react-hover-card-1.1.15.tgz#9bc7ed55c37a9032acdfcc7cfa5c73b117cffe5e"
5639
+
integrity sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==
5597
5640
dependencies:
5598
-
"@radix-ui/primitive" "1.1.2"
5641
+
"@radix-ui/primitive" "1.1.3"
5599
5642
"@radix-ui/react-compose-refs" "1.1.2"
5600
5643
"@radix-ui/react-context" "1.1.2"
5601
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5602
-
"@radix-ui/react-popper" "1.2.3"
5603
-
"@radix-ui/react-portal" "1.1.5"
5604
-
"@radix-ui/react-presence" "1.1.3"
5605
-
"@radix-ui/react-primitive" "2.0.3"
5606
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5607
-
5608
-
"@radix-ui/react-id@1.1.0":
5609
-
version "1.1.0"
5610
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.1.0.tgz#de47339656594ad722eb87f94a6b25f9cffae0ed"
5611
-
integrity sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==
5612
-
dependencies:
5613
-
"@radix-ui/react-use-layout-effect" "1.1.0"
5644
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5645
+
"@radix-ui/react-popper" "1.2.8"
5646
+
"@radix-ui/react-portal" "1.1.9"
5647
+
"@radix-ui/react-presence" "1.1.5"
5648
+
"@radix-ui/react-primitive" "2.1.3"
5649
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5614
5650
5615
5651
"@radix-ui/react-id@1.1.1":
5616
5652
version "1.1.1"
···
5619
5655
dependencies:
5620
5656
"@radix-ui/react-use-layout-effect" "1.1.1"
5621
5657
5622
-
"@radix-ui/react-label@2.1.3":
5623
-
version "2.1.3"
5624
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.1.3.tgz#de83641c90c57e58f0d1e1943d450dbc3936a23f"
5625
-
integrity sha512-zwSQ1NzSKG95yA0tvBMgv6XPHoqapJCcg9nsUBaQQ66iRBhZNhlpaQG2ERYYX4O4stkYFK5rxj5NsWfO9CS+Hg==
5658
+
"@radix-ui/react-label@2.1.7":
5659
+
version "2.1.7"
5660
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.1.7.tgz#ad959ff9c6e4968d533329eb95696e1ba8ad72ab"
5661
+
integrity sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==
5626
5662
dependencies:
5627
-
"@radix-ui/react-primitive" "2.0.3"
5663
+
"@radix-ui/react-primitive" "2.1.3"
5628
5664
5629
-
"@radix-ui/react-menu@2.1.2":
5630
-
version "2.1.2"
5631
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.1.2.tgz#91f6815845a4298dde775563ed2d80b7ad667899"
5632
-
integrity sha512-lZ0R4qR2Al6fZ4yCCZzu/ReTFrylHFxIqy7OezIpWF4bL0o9biKo0pFIvkaew3TyZ9Fy5gYVrR5zCGZBVbO1zg==
5665
+
"@radix-ui/react-menu@2.1.16":
5666
+
version "2.1.16"
5667
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.1.16.tgz#528a5a973c3a7413d3d49eb9ccd229aa52402911"
5668
+
integrity sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==
5633
5669
dependencies:
5634
-
"@radix-ui/primitive" "1.1.0"
5635
-
"@radix-ui/react-collection" "1.1.0"
5636
-
"@radix-ui/react-compose-refs" "1.1.0"
5637
-
"@radix-ui/react-context" "1.1.1"
5638
-
"@radix-ui/react-direction" "1.1.0"
5639
-
"@radix-ui/react-dismissable-layer" "1.1.1"
5640
-
"@radix-ui/react-focus-guards" "1.1.1"
5641
-
"@radix-ui/react-focus-scope" "1.1.0"
5642
-
"@radix-ui/react-id" "1.1.0"
5643
-
"@radix-ui/react-popper" "1.2.0"
5644
-
"@radix-ui/react-portal" "1.1.2"
5645
-
"@radix-ui/react-presence" "1.1.1"
5646
-
"@radix-ui/react-primitive" "2.0.0"
5647
-
"@radix-ui/react-roving-focus" "1.1.0"
5648
-
"@radix-ui/react-slot" "1.1.0"
5649
-
"@radix-ui/react-use-callback-ref" "1.1.0"
5650
-
aria-hidden "^1.1.1"
5651
-
react-remove-scroll "2.6.0"
5652
-
5653
-
"@radix-ui/react-menu@2.1.7":
5654
-
version "2.1.7"
5655
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.1.7.tgz#e85f47e3762245d88d7a3bad3f2268c21f835111"
5656
-
integrity sha512-tBODsrk68rOi1/iQzbM54toFF+gSw/y+eQgttFflqlGekuSebNqvFNHjJgjqPhiMb4Fw9A0zNFly1QT6ZFdQ+Q==
5657
-
dependencies:
5658
-
"@radix-ui/primitive" "1.1.2"
5659
-
"@radix-ui/react-collection" "1.1.3"
5670
+
"@radix-ui/primitive" "1.1.3"
5671
+
"@radix-ui/react-collection" "1.1.7"
5660
5672
"@radix-ui/react-compose-refs" "1.1.2"
5661
5673
"@radix-ui/react-context" "1.1.2"
5662
5674
"@radix-ui/react-direction" "1.1.1"
5663
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5664
-
"@radix-ui/react-focus-guards" "1.1.2"
5665
-
"@radix-ui/react-focus-scope" "1.1.3"
5675
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5676
+
"@radix-ui/react-focus-guards" "1.1.3"
5677
+
"@radix-ui/react-focus-scope" "1.1.7"
5666
5678
"@radix-ui/react-id" "1.1.1"
5667
-
"@radix-ui/react-popper" "1.2.3"
5668
-
"@radix-ui/react-portal" "1.1.5"
5669
-
"@radix-ui/react-presence" "1.1.3"
5670
-
"@radix-ui/react-primitive" "2.0.3"
5671
-
"@radix-ui/react-roving-focus" "1.1.3"
5672
-
"@radix-ui/react-slot" "1.2.0"
5679
+
"@radix-ui/react-popper" "1.2.8"
5680
+
"@radix-ui/react-portal" "1.1.9"
5681
+
"@radix-ui/react-presence" "1.1.5"
5682
+
"@radix-ui/react-primitive" "2.1.3"
5683
+
"@radix-ui/react-roving-focus" "1.1.11"
5684
+
"@radix-ui/react-slot" "1.2.3"
5673
5685
"@radix-ui/react-use-callback-ref" "1.1.1"
5674
5686
aria-hidden "^1.2.4"
5675
5687
react-remove-scroll "^2.6.3"
5676
5688
5677
-
"@radix-ui/react-menubar@1.1.7":
5678
-
version "1.1.7"
5679
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-menubar/-/react-menubar-1.1.7.tgz#d6980295858134729d22fd3b6f9ca63fbebd5574"
5680
-
integrity sha512-YB2zFhGdZ5SWEgRS+PgrF7EkwpsjEHntIFB/LRbT49LJdnIeK/xQQyuwLiRcOCgTDN+ALlPXQ08f0P0+TfR41g==
5689
+
"@radix-ui/react-menubar@1.1.16":
5690
+
version "1.1.16"
5691
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-menubar/-/react-menubar-1.1.16.tgz#5edf7ea2ff7aa7e3ba896b35cf577f122160121c"
5692
+
integrity sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==
5681
5693
dependencies:
5682
-
"@radix-ui/primitive" "1.1.2"
5683
-
"@radix-ui/react-collection" "1.1.3"
5694
+
"@radix-ui/primitive" "1.1.3"
5695
+
"@radix-ui/react-collection" "1.1.7"
5684
5696
"@radix-ui/react-compose-refs" "1.1.2"
5685
5697
"@radix-ui/react-context" "1.1.2"
5686
5698
"@radix-ui/react-direction" "1.1.1"
5687
5699
"@radix-ui/react-id" "1.1.1"
5688
-
"@radix-ui/react-menu" "2.1.7"
5689
-
"@radix-ui/react-primitive" "2.0.3"
5690
-
"@radix-ui/react-roving-focus" "1.1.3"
5691
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5700
+
"@radix-ui/react-menu" "2.1.16"
5701
+
"@radix-ui/react-primitive" "2.1.3"
5702
+
"@radix-ui/react-roving-focus" "1.1.11"
5703
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5692
5704
5693
-
"@radix-ui/react-navigation-menu@1.2.6":
5694
-
version "1.2.6"
5695
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.6.tgz#4a333d4a7800fa1111343609460c713eb68d6bb5"
5696
-
integrity sha512-HJqyzqG74Lj7KV58rk73i/B1nnopVyCfUmKgeGWWrZZiCuMNcY0KKugTrmqMbIeMliUnkBUDKCy9J6Mzl6xeWw==
5705
+
"@radix-ui/react-navigation-menu@1.2.14":
5706
+
version "1.2.14"
5707
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz#4e6d1172be3c89752e564f8721706f78574ad7dd"
5708
+
integrity sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==
5697
5709
dependencies:
5698
-
"@radix-ui/primitive" "1.1.2"
5699
-
"@radix-ui/react-collection" "1.1.3"
5710
+
"@radix-ui/primitive" "1.1.3"
5711
+
"@radix-ui/react-collection" "1.1.7"
5700
5712
"@radix-ui/react-compose-refs" "1.1.2"
5701
5713
"@radix-ui/react-context" "1.1.2"
5702
5714
"@radix-ui/react-direction" "1.1.1"
5703
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5715
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5704
5716
"@radix-ui/react-id" "1.1.1"
5705
-
"@radix-ui/react-presence" "1.1.3"
5706
-
"@radix-ui/react-primitive" "2.0.3"
5717
+
"@radix-ui/react-presence" "1.1.5"
5718
+
"@radix-ui/react-primitive" "2.1.3"
5707
5719
"@radix-ui/react-use-callback-ref" "1.1.1"
5708
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5720
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5709
5721
"@radix-ui/react-use-layout-effect" "1.1.1"
5710
5722
"@radix-ui/react-use-previous" "1.1.1"
5711
-
"@radix-ui/react-visually-hidden" "1.1.3"
5723
+
"@radix-ui/react-visually-hidden" "1.2.3"
5712
5724
5713
-
"@radix-ui/react-popover@1.1.7":
5714
-
version "1.1.7"
5715
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.1.7.tgz#4397a5c1a4b2c03efe350cf467a8ddd720115c39"
5716
-
integrity sha512-I38OYWDmJF2kbO74LX8UsFydSHWOJuQ7LxPnTefjxxvdvPLempvAnmsyX9UsBlywcbSGpRH7oMLfkUf+ij4nrw==
5725
+
"@radix-ui/react-one-time-password-field@0.1.8":
5726
+
version "0.1.8"
5727
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-one-time-password-field/-/react-one-time-password-field-0.1.8.tgz#edb7476d29478477ffc837f7deacec3a1ae08a24"
5728
+
integrity sha512-ycS4rbwURavDPVjCb5iS3aG4lURFDILi6sKI/WITUMZ13gMmn/xGjpLoqBAalhJaDk8I3UbCM5GzKHrnzwHbvg==
5717
5729
dependencies:
5718
-
"@radix-ui/primitive" "1.1.2"
5730
+
"@radix-ui/number" "1.1.1"
5731
+
"@radix-ui/primitive" "1.1.3"
5732
+
"@radix-ui/react-collection" "1.1.7"
5719
5733
"@radix-ui/react-compose-refs" "1.1.2"
5720
5734
"@radix-ui/react-context" "1.1.2"
5721
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5722
-
"@radix-ui/react-focus-guards" "1.1.2"
5723
-
"@radix-ui/react-focus-scope" "1.1.3"
5735
+
"@radix-ui/react-direction" "1.1.1"
5736
+
"@radix-ui/react-primitive" "2.1.3"
5737
+
"@radix-ui/react-roving-focus" "1.1.11"
5738
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5739
+
"@radix-ui/react-use-effect-event" "0.0.2"
5740
+
"@radix-ui/react-use-is-hydrated" "0.1.0"
5741
+
"@radix-ui/react-use-layout-effect" "1.1.1"
5742
+
5743
+
"@radix-ui/react-password-toggle-field@0.1.3":
5744
+
version "0.1.3"
5745
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-password-toggle-field/-/react-password-toggle-field-0.1.3.tgz#3d47de91c0f8e79d697cefde2ef8146816712031"
5746
+
integrity sha512-/UuCrDBWravcaMix4TdT+qlNdVwOM1Nck9kWx/vafXsdfj1ChfhOdfi3cy9SGBpWgTXwYCuboT/oYpJy3clqfw==
5747
+
dependencies:
5748
+
"@radix-ui/primitive" "1.1.3"
5749
+
"@radix-ui/react-compose-refs" "1.1.2"
5750
+
"@radix-ui/react-context" "1.1.2"
5724
5751
"@radix-ui/react-id" "1.1.1"
5725
-
"@radix-ui/react-popper" "1.2.3"
5726
-
"@radix-ui/react-portal" "1.1.5"
5727
-
"@radix-ui/react-presence" "1.1.3"
5728
-
"@radix-ui/react-primitive" "2.0.3"
5729
-
"@radix-ui/react-slot" "1.2.0"
5730
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5731
-
aria-hidden "^1.2.4"
5732
-
react-remove-scroll "^2.6.3"
5752
+
"@radix-ui/react-primitive" "2.1.3"
5753
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5754
+
"@radix-ui/react-use-effect-event" "0.0.2"
5755
+
"@radix-ui/react-use-is-hydrated" "0.1.0"
5733
5756
5734
-
"@radix-ui/react-popper@1.2.0":
5735
-
version "1.2.0"
5736
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.0.tgz#a3e500193d144fe2d8f5d5e60e393d64111f2a7a"
5737
-
integrity sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==
5757
+
"@radix-ui/react-popover@1.1.15":
5758
+
version "1.1.15"
5759
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.1.15.tgz#9c852f93990a687ebdc949b2c3de1f37cdc4c5d5"
5760
+
integrity sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==
5738
5761
dependencies:
5739
-
"@floating-ui/react-dom" "^2.0.0"
5740
-
"@radix-ui/react-arrow" "1.1.0"
5741
-
"@radix-ui/react-compose-refs" "1.1.0"
5742
-
"@radix-ui/react-context" "1.1.0"
5743
-
"@radix-ui/react-primitive" "2.0.0"
5744
-
"@radix-ui/react-use-callback-ref" "1.1.0"
5745
-
"@radix-ui/react-use-layout-effect" "1.1.0"
5746
-
"@radix-ui/react-use-rect" "1.1.0"
5747
-
"@radix-ui/react-use-size" "1.1.0"
5748
-
"@radix-ui/rect" "1.1.0"
5762
+
"@radix-ui/primitive" "1.1.3"
5763
+
"@radix-ui/react-compose-refs" "1.1.2"
5764
+
"@radix-ui/react-context" "1.1.2"
5765
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5766
+
"@radix-ui/react-focus-guards" "1.1.3"
5767
+
"@radix-ui/react-focus-scope" "1.1.7"
5768
+
"@radix-ui/react-id" "1.1.1"
5769
+
"@radix-ui/react-popper" "1.2.8"
5770
+
"@radix-ui/react-portal" "1.1.9"
5771
+
"@radix-ui/react-presence" "1.1.5"
5772
+
"@radix-ui/react-primitive" "2.1.3"
5773
+
"@radix-ui/react-slot" "1.2.3"
5774
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5775
+
aria-hidden "^1.2.4"
5776
+
react-remove-scroll "^2.6.3"
5749
5777
5750
-
"@radix-ui/react-popper@1.2.3":
5751
-
version "1.2.3"
5752
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.3.tgz#3b6ef3388fd209bb46341e1e40125b75f07f1304"
5753
-
integrity sha512-iNb9LYUMkne9zIahukgQmHlSBp9XWGeQQ7FvUGNk45ywzOb6kQa+Ca38OphXlWDiKvyneo9S+KSJsLfLt8812A==
5778
+
"@radix-ui/react-popper@1.2.8":
5779
+
version "1.2.8"
5780
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.8.tgz#a79f39cdd2b09ab9fb50bf95250918422c4d9602"
5781
+
integrity sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==
5754
5782
dependencies:
5755
5783
"@floating-ui/react-dom" "^2.0.0"
5756
-
"@radix-ui/react-arrow" "1.1.3"
5784
+
"@radix-ui/react-arrow" "1.1.7"
5757
5785
"@radix-ui/react-compose-refs" "1.1.2"
5758
5786
"@radix-ui/react-context" "1.1.2"
5759
-
"@radix-ui/react-primitive" "2.0.3"
5787
+
"@radix-ui/react-primitive" "2.1.3"
5760
5788
"@radix-ui/react-use-callback-ref" "1.1.1"
5761
5789
"@radix-ui/react-use-layout-effect" "1.1.1"
5762
5790
"@radix-ui/react-use-rect" "1.1.1"
5763
5791
"@radix-ui/react-use-size" "1.1.1"
5764
5792
"@radix-ui/rect" "1.1.1"
5765
5793
5766
-
"@radix-ui/react-portal@1.1.2":
5767
-
version "1.1.2"
5768
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.2.tgz#51eb46dae7505074b306ebcb985bf65cc547d74e"
5769
-
integrity sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==
5794
+
"@radix-ui/react-portal@1.1.9":
5795
+
version "1.1.9"
5796
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.9.tgz#14c3649fe48ec474ac51ed9f2b9f5da4d91c4472"
5797
+
integrity sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==
5770
5798
dependencies:
5771
-
"@radix-ui/react-primitive" "2.0.0"
5772
-
"@radix-ui/react-use-layout-effect" "1.1.0"
5799
+
"@radix-ui/react-primitive" "2.1.3"
5800
+
"@radix-ui/react-use-layout-effect" "1.1.1"
5773
5801
5774
-
"@radix-ui/react-portal@1.1.5":
5802
+
"@radix-ui/react-presence@1.1.5":
5775
5803
version "1.1.5"
5776
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.5.tgz#50ed6bee2d895c9a9dfc28625f24b8483b74d431"
5777
-
integrity sha512-ps/67ZqsFm+Mb6lSPJpfhRLrVL2i2fntgCmGMqqth4eaGUf+knAuuRtWVJrNjUhExgmdRqftSgzpf0DF0n6yXA==
5778
-
dependencies:
5779
-
"@radix-ui/react-primitive" "2.0.3"
5780
-
"@radix-ui/react-use-layout-effect" "1.1.1"
5781
-
5782
-
"@radix-ui/react-presence@1.1.1":
5783
-
version "1.1.1"
5784
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.1.tgz#98aba423dba5e0c687a782c0669dcd99de17f9b1"
5785
-
integrity sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==
5786
-
dependencies:
5787
-
"@radix-ui/react-compose-refs" "1.1.0"
5788
-
"@radix-ui/react-use-layout-effect" "1.1.0"
5789
-
5790
-
"@radix-ui/react-presence@1.1.3":
5791
-
version "1.1.3"
5792
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.3.tgz#ce3400caec9892ceb862f96ddaa2add080c09b90"
5793
-
integrity sha512-IrVLIhskYhH3nLvtcBLQFZr61tBG7wx7O3kEmdzcYwRGAEBmBicGGL7ATzNgruYJ3xBTbuzEEq9OXJM3PAX3tA==
5804
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.5.tgz#5d8f28ac316c32f078afce2996839250c10693db"
5805
+
integrity sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==
5794
5806
dependencies:
5795
5807
"@radix-ui/react-compose-refs" "1.1.2"
5796
5808
"@radix-ui/react-use-layout-effect" "1.1.1"
5797
5809
5798
-
"@radix-ui/react-primitive@2.0.0":
5799
-
version "2.0.0"
5800
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz#fe05715faa9203a223ccc0be15dc44b9f9822884"
5801
-
integrity sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==
5810
+
"@radix-ui/react-primitive@2.1.3":
5811
+
version "2.1.3"
5812
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz#db9b8bcff49e01be510ad79893fb0e4cda50f1bc"
5813
+
integrity sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==
5802
5814
dependencies:
5803
-
"@radix-ui/react-slot" "1.1.0"
5815
+
"@radix-ui/react-slot" "1.2.3"
5804
5816
5805
-
"@radix-ui/react-primitive@2.0.3":
5806
-
version "2.0.3"
5807
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.3.tgz#13c654dc4754558870a9c769f6febe5980a1bad8"
5808
-
integrity sha512-Pf/t/GkndH7CQ8wE2hbkXA+WyZ83fhQQn5DDmwDiDo6AwN/fhaH8oqZ0jRjMrO2iaMhDi6P1HRx6AZwyMinY1g==
5809
-
dependencies:
5810
-
"@radix-ui/react-slot" "1.2.0"
5811
-
5812
-
"@radix-ui/react-progress@1.1.3":
5813
-
version "1.1.3"
5814
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-progress/-/react-progress-1.1.3.tgz#78df084607432792368070ca4b060597ebc9190a"
5815
-
integrity sha512-F56aZPGTPb4qJQ/vDjnAq63oTu/DRoIG/Asb5XKOWj8rpefNLtUllR969j5QDN2sRrTk9VXIqQDRj5VvAuquaw==
5817
+
"@radix-ui/react-progress@1.1.7":
5818
+
version "1.1.7"
5819
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-progress/-/react-progress-1.1.7.tgz#a2b76398b3f24b6bd5e37f112b1e30fbedd4f38e"
5820
+
integrity sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==
5816
5821
dependencies:
5817
5822
"@radix-ui/react-context" "1.1.2"
5818
-
"@radix-ui/react-primitive" "2.0.3"
5823
+
"@radix-ui/react-primitive" "2.1.3"
5819
5824
5820
-
"@radix-ui/react-radio-group@1.2.4":
5821
-
version "1.2.4"
5822
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-radio-group/-/react-radio-group-1.2.4.tgz#f170fc55bd02298e5782c96c69136a78d5bb91c2"
5823
-
integrity sha512-oLz7ATfKgVTUbpr5OBu6Q7hQcnV22uPT306bmG0QwgnKqBStR98RfWfJGCfW/MmhL4ISmrmmBPBW+c77SDwV9g==
5825
+
"@radix-ui/react-radio-group@1.3.8":
5826
+
version "1.3.8"
5827
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-radio-group/-/react-radio-group-1.3.8.tgz#93f102b5b948d602c2f2adb1bc5c347cbaf64bd9"
5828
+
integrity sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==
5824
5829
dependencies:
5825
-
"@radix-ui/primitive" "1.1.2"
5830
+
"@radix-ui/primitive" "1.1.3"
5826
5831
"@radix-ui/react-compose-refs" "1.1.2"
5827
5832
"@radix-ui/react-context" "1.1.2"
5828
5833
"@radix-ui/react-direction" "1.1.1"
5829
-
"@radix-ui/react-presence" "1.1.3"
5830
-
"@radix-ui/react-primitive" "2.0.3"
5831
-
"@radix-ui/react-roving-focus" "1.1.3"
5832
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5834
+
"@radix-ui/react-presence" "1.1.5"
5835
+
"@radix-ui/react-primitive" "2.1.3"
5836
+
"@radix-ui/react-roving-focus" "1.1.11"
5837
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5833
5838
"@radix-ui/react-use-previous" "1.1.1"
5834
5839
"@radix-ui/react-use-size" "1.1.1"
5835
5840
5836
-
"@radix-ui/react-roving-focus@1.1.0":
5837
-
version "1.1.0"
5838
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz#b30c59daf7e714c748805bfe11c76f96caaac35e"
5839
-
integrity sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==
5840
-
dependencies:
5841
-
"@radix-ui/primitive" "1.1.0"
5842
-
"@radix-ui/react-collection" "1.1.0"
5843
-
"@radix-ui/react-compose-refs" "1.1.0"
5844
-
"@radix-ui/react-context" "1.1.0"
5845
-
"@radix-ui/react-direction" "1.1.0"
5846
-
"@radix-ui/react-id" "1.1.0"
5847
-
"@radix-ui/react-primitive" "2.0.0"
5848
-
"@radix-ui/react-use-callback-ref" "1.1.0"
5849
-
"@radix-ui/react-use-controllable-state" "1.1.0"
5850
-
5851
-
"@radix-ui/react-roving-focus@1.1.3":
5852
-
version "1.1.3"
5853
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.3.tgz#c992b9d30c795f5f5a668853db8f4a6e07b7284d"
5854
-
integrity sha512-ufbpLUjZiOg4iYgb2hQrWXEPYX6jOLBbR27bDyAff5GYMRrCzcze8lukjuXVUQvJ6HZe8+oL+hhswDcjmcgVyg==
5841
+
"@radix-ui/react-roving-focus@1.1.11":
5842
+
version "1.1.11"
5843
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz#ef54384b7361afc6480dcf9907ef2fedb5080fd9"
5844
+
integrity sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==
5855
5845
dependencies:
5856
-
"@radix-ui/primitive" "1.1.2"
5857
-
"@radix-ui/react-collection" "1.1.3"
5846
+
"@radix-ui/primitive" "1.1.3"
5847
+
"@radix-ui/react-collection" "1.1.7"
5858
5848
"@radix-ui/react-compose-refs" "1.1.2"
5859
5849
"@radix-ui/react-context" "1.1.2"
5860
5850
"@radix-ui/react-direction" "1.1.1"
5861
5851
"@radix-ui/react-id" "1.1.1"
5862
-
"@radix-ui/react-primitive" "2.0.3"
5852
+
"@radix-ui/react-primitive" "2.1.3"
5863
5853
"@radix-ui/react-use-callback-ref" "1.1.1"
5864
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5854
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5865
5855
5866
-
"@radix-ui/react-scroll-area@1.2.4":
5867
-
version "1.2.4"
5868
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.4.tgz#4b6fd6fccaae26dbe73700fe8c5be5313984d8f4"
5869
-
integrity sha512-G9rdWTQjOR4sk76HwSdROhPU0jZWpfozn9skU1v4N0/g9k7TmswrJn8W8WMU+aYktnLLpk5LX6fofj2bGe5NFQ==
5856
+
"@radix-ui/react-scroll-area@1.2.10":
5857
+
version "1.2.10"
5858
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.10.tgz#e4fd3b4a79bb77bec1a52f0c8f26d8f3f1ca4b22"
5859
+
integrity sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==
5870
5860
dependencies:
5871
5861
"@radix-ui/number" "1.1.1"
5872
-
"@radix-ui/primitive" "1.1.2"
5862
+
"@radix-ui/primitive" "1.1.3"
5873
5863
"@radix-ui/react-compose-refs" "1.1.2"
5874
5864
"@radix-ui/react-context" "1.1.2"
5875
5865
"@radix-ui/react-direction" "1.1.1"
5876
-
"@radix-ui/react-presence" "1.1.3"
5877
-
"@radix-ui/react-primitive" "2.0.3"
5866
+
"@radix-ui/react-presence" "1.1.5"
5867
+
"@radix-ui/react-primitive" "2.1.3"
5878
5868
"@radix-ui/react-use-callback-ref" "1.1.1"
5879
5869
"@radix-ui/react-use-layout-effect" "1.1.1"
5880
5870
5881
-
"@radix-ui/react-select@2.1.7":
5882
-
version "2.1.7"
5883
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.1.7.tgz#68561488ca54cad07352b3f2c2d29e0da28bbaa0"
5884
-
integrity sha512-exzGIRtc7S8EIM2KjFg+7lJZsH7O7tpaBaJbBNVDnOZNhtoQ2iV+iSNfi2Wth0m6h3trJkMVvzAehB3c6xj/3Q==
5871
+
"@radix-ui/react-select@2.2.6":
5872
+
version "2.2.6"
5873
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.2.6.tgz#022cf8dab16bf05d0d1b4df9e53e4bea1b744fd9"
5874
+
integrity sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==
5885
5875
dependencies:
5886
5876
"@radix-ui/number" "1.1.1"
5887
-
"@radix-ui/primitive" "1.1.2"
5888
-
"@radix-ui/react-collection" "1.1.3"
5877
+
"@radix-ui/primitive" "1.1.3"
5878
+
"@radix-ui/react-collection" "1.1.7"
5889
5879
"@radix-ui/react-compose-refs" "1.1.2"
5890
5880
"@radix-ui/react-context" "1.1.2"
5891
5881
"@radix-ui/react-direction" "1.1.1"
5892
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5893
-
"@radix-ui/react-focus-guards" "1.1.2"
5894
-
"@radix-ui/react-focus-scope" "1.1.3"
5882
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5883
+
"@radix-ui/react-focus-guards" "1.1.3"
5884
+
"@radix-ui/react-focus-scope" "1.1.7"
5895
5885
"@radix-ui/react-id" "1.1.1"
5896
-
"@radix-ui/react-popper" "1.2.3"
5897
-
"@radix-ui/react-portal" "1.1.5"
5898
-
"@radix-ui/react-primitive" "2.0.3"
5899
-
"@radix-ui/react-slot" "1.2.0"
5886
+
"@radix-ui/react-popper" "1.2.8"
5887
+
"@radix-ui/react-portal" "1.1.9"
5888
+
"@radix-ui/react-primitive" "2.1.3"
5889
+
"@radix-ui/react-slot" "1.2.3"
5900
5890
"@radix-ui/react-use-callback-ref" "1.1.1"
5901
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5891
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5902
5892
"@radix-ui/react-use-layout-effect" "1.1.1"
5903
5893
"@radix-ui/react-use-previous" "1.1.1"
5904
-
"@radix-ui/react-visually-hidden" "1.1.3"
5894
+
"@radix-ui/react-visually-hidden" "1.2.3"
5905
5895
aria-hidden "^1.2.4"
5906
5896
react-remove-scroll "^2.6.3"
5907
5897
5908
-
"@radix-ui/react-separator@1.1.3":
5909
-
version "1.1.3"
5910
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.1.3.tgz#767ea659592efaafda3c738833ff325e54d83de5"
5911
-
integrity sha512-2omrWKJvxR0U/tkIXezcc1nFMwtLU0+b/rDK40gnzJqTLWQ/TD/D5IYVefp9sC3QWfeQbpSbEA6op9MQKyaALQ==
5898
+
"@radix-ui/react-separator@1.1.7":
5899
+
version "1.1.7"
5900
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.1.7.tgz#a18bd7fd07c10fda1bba14f2a3032e7b1a2b3470"
5901
+
integrity sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==
5912
5902
dependencies:
5913
-
"@radix-ui/react-primitive" "2.0.3"
5903
+
"@radix-ui/react-primitive" "2.1.3"
5914
5904
5915
-
"@radix-ui/react-slider@1.2.4":
5916
-
version "1.2.4"
5917
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-slider/-/react-slider-1.2.4.tgz#29cd5e53806d828f81f32af8ff88489a25c1072d"
5918
-
integrity sha512-Vr/OgNejNJPAghIhjS7Mf/2F/EXGDT0qgtiHf2BHz71+KqgN+jndFLKq5xAB9JOGejGzejfJLIvT04Do+yzhcg==
5905
+
"@radix-ui/react-slider@1.3.6":
5906
+
version "1.3.6"
5907
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-slider/-/react-slider-1.3.6.tgz#409453110b8f34ca00972750b80cd792f0b23a8c"
5908
+
integrity sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==
5919
5909
dependencies:
5920
5910
"@radix-ui/number" "1.1.1"
5921
-
"@radix-ui/primitive" "1.1.2"
5922
-
"@radix-ui/react-collection" "1.1.3"
5911
+
"@radix-ui/primitive" "1.1.3"
5912
+
"@radix-ui/react-collection" "1.1.7"
5923
5913
"@radix-ui/react-compose-refs" "1.1.2"
5924
5914
"@radix-ui/react-context" "1.1.2"
5925
5915
"@radix-ui/react-direction" "1.1.1"
5926
-
"@radix-ui/react-primitive" "2.0.3"
5927
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5916
+
"@radix-ui/react-primitive" "2.1.3"
5917
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5928
5918
"@radix-ui/react-use-layout-effect" "1.1.1"
5929
5919
"@radix-ui/react-use-previous" "1.1.1"
5930
5920
"@radix-ui/react-use-size" "1.1.1"
5931
5921
5932
-
"@radix-ui/react-slot@1.1.0":
5933
-
version "1.1.0"
5934
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.1.0.tgz#7c5e48c36ef5496d97b08f1357bb26ed7c714b84"
5935
-
integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==
5936
-
dependencies:
5937
-
"@radix-ui/react-compose-refs" "1.1.0"
5938
-
5939
-
"@radix-ui/react-slot@1.2.0":
5940
-
version "1.2.0"
5941
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.2.0.tgz#57727fc186ddb40724ccfbe294e1a351d92462ba"
5942
-
integrity sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==
5922
+
"@radix-ui/react-slot@1.2.3":
5923
+
version "1.2.3"
5924
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.2.3.tgz#502d6e354fc847d4169c3bc5f189de777f68cfe1"
5925
+
integrity sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==
5943
5926
dependencies:
5944
5927
"@radix-ui/react-compose-refs" "1.1.2"
5945
5928
5946
-
"@radix-ui/react-switch@1.1.4":
5947
-
version "1.1.4"
5948
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.1.4.tgz#a0672f67974ad11cd8e2304b04aad8ce684eb037"
5949
-
integrity sha512-zGP6W8plLeogoeGMiTHJ/uvf+TE1C2chVsEwfP8YlvpQKJHktG+iCkUtCLGPAuDV8/qDSmIRPm4NggaTxFMVBQ==
5929
+
"@radix-ui/react-switch@1.2.6":
5930
+
version "1.2.6"
5931
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.2.6.tgz#ff79acb831f0d5ea9216cfcc5b939912571358e3"
5932
+
integrity sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==
5950
5933
dependencies:
5951
-
"@radix-ui/primitive" "1.1.2"
5934
+
"@radix-ui/primitive" "1.1.3"
5952
5935
"@radix-ui/react-compose-refs" "1.1.2"
5953
5936
"@radix-ui/react-context" "1.1.2"
5954
-
"@radix-ui/react-primitive" "2.0.3"
5955
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5937
+
"@radix-ui/react-primitive" "2.1.3"
5938
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5956
5939
"@radix-ui/react-use-previous" "1.1.1"
5957
5940
"@radix-ui/react-use-size" "1.1.1"
5958
5941
5959
-
"@radix-ui/react-tabs@1.1.4":
5960
-
version "1.1.4"
5961
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-tabs/-/react-tabs-1.1.4.tgz#2e43f3ef3450143281e7c1491da1e5d7941b9826"
5962
-
integrity sha512-fuHMHWSf5SRhXke+DbHXj2wVMo+ghVH30vhX3XVacdXqDl+J4XWafMIGOOER861QpBx1jxgwKXL2dQnfrsd8MQ==
5942
+
"@radix-ui/react-tabs@1.1.13":
5943
+
version "1.1.13"
5944
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz#3537ce379d7e7ff4eeb6b67a0973e139c2ac1f15"
5945
+
integrity sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==
5963
5946
dependencies:
5964
-
"@radix-ui/primitive" "1.1.2"
5947
+
"@radix-ui/primitive" "1.1.3"
5965
5948
"@radix-ui/react-context" "1.1.2"
5966
5949
"@radix-ui/react-direction" "1.1.1"
5967
5950
"@radix-ui/react-id" "1.1.1"
5968
-
"@radix-ui/react-presence" "1.1.3"
5969
-
"@radix-ui/react-primitive" "2.0.3"
5970
-
"@radix-ui/react-roving-focus" "1.1.3"
5971
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5951
+
"@radix-ui/react-presence" "1.1.5"
5952
+
"@radix-ui/react-primitive" "2.1.3"
5953
+
"@radix-ui/react-roving-focus" "1.1.11"
5954
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5972
5955
5973
-
"@radix-ui/react-toast@1.2.7":
5974
-
version "1.2.7"
5975
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.2.7.tgz#57954e88061c20f12a9c6ac7cbd532d2c3ca1186"
5976
-
integrity sha512-0IWTbAUKvzdpOaWDMZisXZvScXzF0phaQjWspK8RUMEUxjLbli+886mB/kXTIC3F+t5vQ0n0vYn+dsX8s+WdfA==
5956
+
"@radix-ui/react-toast@1.2.15":
5957
+
version "1.2.15"
5958
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.2.15.tgz#746cf9a81297ddbfba214e5c81245ea3f706f876"
5959
+
integrity sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==
5977
5960
dependencies:
5978
-
"@radix-ui/primitive" "1.1.2"
5979
-
"@radix-ui/react-collection" "1.1.3"
5961
+
"@radix-ui/primitive" "1.1.3"
5962
+
"@radix-ui/react-collection" "1.1.7"
5980
5963
"@radix-ui/react-compose-refs" "1.1.2"
5981
5964
"@radix-ui/react-context" "1.1.2"
5982
-
"@radix-ui/react-dismissable-layer" "1.1.6"
5983
-
"@radix-ui/react-portal" "1.1.5"
5984
-
"@radix-ui/react-presence" "1.1.3"
5985
-
"@radix-ui/react-primitive" "2.0.3"
5965
+
"@radix-ui/react-dismissable-layer" "1.1.11"
5966
+
"@radix-ui/react-portal" "1.1.9"
5967
+
"@radix-ui/react-presence" "1.1.5"
5968
+
"@radix-ui/react-primitive" "2.1.3"
5986
5969
"@radix-ui/react-use-callback-ref" "1.1.1"
5987
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5970
+
"@radix-ui/react-use-controllable-state" "1.2.2"
5988
5971
"@radix-ui/react-use-layout-effect" "1.1.1"
5989
-
"@radix-ui/react-visually-hidden" "1.1.3"
5972
+
"@radix-ui/react-visually-hidden" "1.2.3"
5990
5973
5991
-
"@radix-ui/react-toggle-group@1.1.3":
5992
-
version "1.1.3"
5993
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.3.tgz#39ec34b5c67416bf285eac19ef6898532a0c56c6"
5994
-
integrity sha512-khTzdGIxy8WurYUEUrapvj5aOev/tUA8TDEFi1D0Dn3yX+KR5AqjX0b7E5sL9ngRRpxDN2RRJdn5siasu5jtcg==
5974
+
"@radix-ui/react-toggle-group@1.1.11":
5975
+
version "1.1.11"
5976
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.11.tgz#e513d6ffdb07509b400ab5b26f2523747c0d51c1"
5977
+
integrity sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==
5995
5978
dependencies:
5996
-
"@radix-ui/primitive" "1.1.2"
5979
+
"@radix-ui/primitive" "1.1.3"
5997
5980
"@radix-ui/react-context" "1.1.2"
5998
5981
"@radix-ui/react-direction" "1.1.1"
5999
-
"@radix-ui/react-primitive" "2.0.3"
6000
-
"@radix-ui/react-roving-focus" "1.1.3"
6001
-
"@radix-ui/react-toggle" "1.1.3"
6002
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5982
+
"@radix-ui/react-primitive" "2.1.3"
5983
+
"@radix-ui/react-roving-focus" "1.1.11"
5984
+
"@radix-ui/react-toggle" "1.1.10"
5985
+
"@radix-ui/react-use-controllable-state" "1.2.2"
6003
5986
6004
-
"@radix-ui/react-toggle@1.1.3":
6005
-
version "1.1.3"
6006
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.1.3.tgz#5e0275c3788a38f77521a47c1446d2efa840641d"
6007
-
integrity sha512-Za5HHd9nvsiZ2t3EI/dVd4Bm/JydK+D22uHKk46fPtvuPxVCJBUo5mQybN+g5sZe35y7I6GDTTfdkVv5SnxlFg==
5987
+
"@radix-ui/react-toggle@1.1.10":
5988
+
version "1.1.10"
5989
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz#b04ba0f9609599df666fce5b2f38109a197f08cf"
5990
+
integrity sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==
6008
5991
dependencies:
6009
-
"@radix-ui/primitive" "1.1.2"
6010
-
"@radix-ui/react-primitive" "2.0.3"
6011
-
"@radix-ui/react-use-controllable-state" "1.1.1"
5992
+
"@radix-ui/primitive" "1.1.3"
5993
+
"@radix-ui/react-primitive" "2.1.3"
5994
+
"@radix-ui/react-use-controllable-state" "1.2.2"
6012
5995
6013
-
"@radix-ui/react-toolbar@1.1.3":
6014
-
version "1.1.3"
6015
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-toolbar/-/react-toolbar-1.1.3.tgz#7937b5a6890b35bda23cbf3b2de279779dd5162e"
6016
-
integrity sha512-yTZ8ooxlBqljSiruO6y6azKXSXYBpnzd23yohjyFesun4nm8yh+D91J1yCqhtnRtSjRWuAmr9vFgGxmGwLjTfg==
5996
+
"@radix-ui/react-toolbar@1.1.11":
5997
+
version "1.1.11"
5998
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-toolbar/-/react-toolbar-1.1.11.tgz#2a71f1d91535788f88145d542159e2faaa561db7"
5999
+
integrity sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==
6017
6000
dependencies:
6018
-
"@radix-ui/primitive" "1.1.2"
6001
+
"@radix-ui/primitive" "1.1.3"
6019
6002
"@radix-ui/react-context" "1.1.2"
6020
6003
"@radix-ui/react-direction" "1.1.1"
6021
-
"@radix-ui/react-primitive" "2.0.3"
6022
-
"@radix-ui/react-roving-focus" "1.1.3"
6023
-
"@radix-ui/react-separator" "1.1.3"
6024
-
"@radix-ui/react-toggle-group" "1.1.3"
6004
+
"@radix-ui/react-primitive" "2.1.3"
6005
+
"@radix-ui/react-roving-focus" "1.1.11"
6006
+
"@radix-ui/react-separator" "1.1.7"
6007
+
"@radix-ui/react-toggle-group" "1.1.11"
6025
6008
6026
-
"@radix-ui/react-tooltip@1.2.0":
6027
-
version "1.2.0"
6028
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.2.0.tgz#aee9fed9db53e4c84f525aada3436b651464a532"
6029
-
integrity sha512-b1Sdc75s7zN9B8ONQTGBSHL3XS8+IcjcOIY51fhM4R1Hx8s0YbgqgyNZiri4qcYMVZK8hfCZVBiyCm7N9rs0rw==
6009
+
"@radix-ui/react-tooltip@1.2.8":
6010
+
version "1.2.8"
6011
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz#3f50267e25bccfc9e20bb3036bfd9ab4c2c30c2c"
6012
+
integrity sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==
6030
6013
dependencies:
6031
-
"@radix-ui/primitive" "1.1.2"
6014
+
"@radix-ui/primitive" "1.1.3"
6032
6015
"@radix-ui/react-compose-refs" "1.1.2"
6033
6016
"@radix-ui/react-context" "1.1.2"
6034
-
"@radix-ui/react-dismissable-layer" "1.1.6"
6017
+
"@radix-ui/react-dismissable-layer" "1.1.11"
6035
6018
"@radix-ui/react-id" "1.1.1"
6036
-
"@radix-ui/react-popper" "1.2.3"
6037
-
"@radix-ui/react-portal" "1.1.5"
6038
-
"@radix-ui/react-presence" "1.1.3"
6039
-
"@radix-ui/react-primitive" "2.0.3"
6040
-
"@radix-ui/react-slot" "1.2.0"
6041
-
"@radix-ui/react-use-controllable-state" "1.1.1"
6042
-
"@radix-ui/react-visually-hidden" "1.1.3"
6043
-
6044
-
"@radix-ui/react-use-callback-ref@1.1.0":
6045
-
version "1.1.0"
6046
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz#bce938ca413675bc937944b0d01ef6f4a6dc5bf1"
6047
-
integrity sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==
6019
+
"@radix-ui/react-popper" "1.2.8"
6020
+
"@radix-ui/react-portal" "1.1.9"
6021
+
"@radix-ui/react-presence" "1.1.5"
6022
+
"@radix-ui/react-primitive" "2.1.3"
6023
+
"@radix-ui/react-slot" "1.2.3"
6024
+
"@radix-ui/react-use-controllable-state" "1.2.2"
6025
+
"@radix-ui/react-visually-hidden" "1.2.3"
6048
6026
6049
6027
"@radix-ui/react-use-callback-ref@1.1.1":
6050
6028
version "1.1.1"
6051
6029
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz#62a4dba8b3255fdc5cc7787faeac1c6e4cc58d40"
6052
6030
integrity sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==
6053
6031
6054
-
"@radix-ui/react-use-controllable-state@1.1.0":
6055
-
version "1.1.0"
6056
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz#1321446857bb786917df54c0d4d084877aab04b0"
6057
-
integrity sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==
6058
-
dependencies:
6059
-
"@radix-ui/react-use-callback-ref" "1.1.0"
6060
-
6061
-
"@radix-ui/react-use-controllable-state@1.1.1":
6062
-
version "1.1.1"
6063
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.1.tgz#ec9c572072a6f269df7435c1652fbeebabe0f0c1"
6064
-
integrity sha512-YnEXIy8/ga01Y1PN0VfaNH//MhA91JlEGVBDxDzROqwrAtG5Yr2QGEPz8A/rJA3C7ZAHryOYGaUv8fLSW2H/mg==
6032
+
"@radix-ui/react-use-controllable-state@1.2.2":
6033
+
version "1.2.2"
6034
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz#905793405de57d61a439f4afebbb17d0645f3190"
6035
+
integrity sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==
6065
6036
dependencies:
6066
-
"@radix-ui/react-use-callback-ref" "1.1.1"
6037
+
"@radix-ui/react-use-effect-event" "0.0.2"
6038
+
"@radix-ui/react-use-layout-effect" "1.1.1"
6067
6039
6068
-
"@radix-ui/react-use-escape-keydown@1.1.0":
6069
-
version "1.1.0"
6070
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz#31a5b87c3b726504b74e05dac1edce7437b98754"
6071
-
integrity sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==
6040
+
"@radix-ui/react-use-effect-event@0.0.2":
6041
+
version "0.0.2"
6042
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz#090cf30d00a4c7632a15548512e9152217593907"
6043
+
integrity sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==
6072
6044
dependencies:
6073
-
"@radix-ui/react-use-callback-ref" "1.1.0"
6045
+
"@radix-ui/react-use-layout-effect" "1.1.1"
6074
6046
6075
6047
"@radix-ui/react-use-escape-keydown@1.1.1":
6076
6048
version "1.1.1"
···
6079
6051
dependencies:
6080
6052
"@radix-ui/react-use-callback-ref" "1.1.1"
6081
6053
6082
-
"@radix-ui/react-use-layout-effect@1.1.0":
6083
-
version "1.1.0"
6084
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz#3c2c8ce04827b26a39e442ff4888d9212268bd27"
6085
-
integrity sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==
6054
+
"@radix-ui/react-use-is-hydrated@0.1.0":
6055
+
version "0.1.0"
6056
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz#544da73369517036c77659d7cdd019dc0f5ff9a0"
6057
+
integrity sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==
6058
+
dependencies:
6059
+
use-sync-external-store "^1.5.0"
6086
6060
6087
6061
"@radix-ui/react-use-layout-effect@1.1.1":
6088
6062
version "1.1.1"
···
6094
6068
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz#1a1ad5568973d24051ed0af687766f6c7cb9b5b5"
6095
6069
integrity sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==
6096
6070
6097
-
"@radix-ui/react-use-rect@1.1.0":
6098
-
version "1.1.0"
6099
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz#13b25b913bd3e3987cc9b073a1a164bb1cf47b88"
6100
-
integrity sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==
6101
-
dependencies:
6102
-
"@radix-ui/rect" "1.1.0"
6103
-
6104
6071
"@radix-ui/react-use-rect@1.1.1":
6105
6072
version "1.1.1"
6106
6073
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz#01443ca8ed071d33023c1113e5173b5ed8769152"
···
6108
6075
dependencies:
6109
6076
"@radix-ui/rect" "1.1.1"
6110
6077
6111
-
"@radix-ui/react-use-size@1.1.0":
6112
-
version "1.1.0"
6113
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz#b4dba7fbd3882ee09e8d2a44a3eed3a7e555246b"
6114
-
integrity sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==
6115
-
dependencies:
6116
-
"@radix-ui/react-use-layout-effect" "1.1.0"
6117
-
6118
6078
"@radix-ui/react-use-size@1.1.1":
6119
6079
version "1.1.1"
6120
6080
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz#6de276ffbc389a537ffe4316f5b0f24129405b37"
···
6122
6082
dependencies:
6123
6083
"@radix-ui/react-use-layout-effect" "1.1.1"
6124
6084
6125
-
"@radix-ui/react-visually-hidden@1.1.3":
6126
-
version "1.1.3"
6127
-
resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.3.tgz#f704c49121859941a8bb50ff1e4f156058cacd0b"
6128
-
integrity sha512-oXSF3ZQRd5fvomd9hmUCb2EHSZbPp3ZSHAHJJU/DlF9XoFkJBBW8RHU/E8WEH+RbSfJd/QFA0sl8ClJXknBwHQ==
6085
+
"@radix-ui/react-visually-hidden@1.2.3":
6086
+
version "1.2.3"
6087
+
resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz#a8c38c8607735dc9f05c32f87ab0f9c2b109efbf"
6088
+
integrity sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==
6129
6089
dependencies:
6130
-
"@radix-ui/react-primitive" "2.0.3"
6131
-
6132
-
"@radix-ui/rect@1.1.0":
6133
-
version "1.1.0"
6134
-
resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.0.tgz#f817d1d3265ac5415dadc67edab30ae196696438"
6135
-
integrity sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==
6090
+
"@radix-ui/react-primitive" "2.1.3"
6136
6091
6137
6092
"@radix-ui/rect@1.1.1":
6138
6093
version "1.1.1"
6139
6094
resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.1.tgz#78244efe12930c56fd255d7923865857c41ac8cb"
6140
6095
integrity sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==
6141
6096
6142
-
"@react-native-async-storage/async-storage@2.1.2":
6143
-
version "2.1.2"
6144
-
resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-2.1.2.tgz#8aae432adfc20800308e2ef3ce380864f0f9def8"
6145
-
integrity sha512-dvlNq4AlGWC+ehtH12p65+17V0Dx7IecOWl6WanF2ja38O1Dcjjvn7jVzkUHJ5oWkQBlyASurTPlTHgKXyYiow==
6097
+
"@react-native-async-storage/async-storage@2.2.0":
6098
+
version "2.2.0"
6099
+
resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz#a3aa565253e46286655560172f4e366e8969f5ad"
6100
+
integrity sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw==
6146
6101
dependencies:
6147
6102
merge-options "^3.0.4"
6148
6103
···
6153
6108
dependencies:
6154
6109
merge-options "^3.0.4"
6155
6110
6156
-
"@react-native-menu/menu@^1.2.3":
6157
-
version "1.2.3"
6158
-
resolved "https://registry.yarnpkg.com/@react-native-menu/menu/-/menu-1.2.3.tgz#7a6a6748d610ab0d14aa65e1414520a5254aeff6"
6159
-
integrity sha512-sEfiVIivsa0lSelFm9Wbm/RAi+XoEHc75GGhjwvSrj9KSCVvNNXwr9F8l42e1t/lzYvVYzmkYxLG6VKxrDYJiw==
6111
+
"@react-native/assets-registry@0.81.4":
6112
+
version "0.81.4"
6113
+
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.81.4.tgz#bfa477c8e9d54d6ef4ab6e81b886d5be13c09fbd"
6114
+
integrity sha512-AMcDadefBIjD10BRqkWw+W/VdvXEomR6aEZ0fhQRAv7igrBzb4PTn4vHKYg+sUK0e3wa74kcMy2DLc/HtnGcMA==
6160
6115
6161
-
"@react-native-picker/picker@2.11.0":
6162
-
version "2.11.0"
6163
-
resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.11.0.tgz#4587fbce6a382adedad74311e96ee10bb2b2d63a"
6164
-
integrity sha512-QuZU6gbxmOID5zZgd/H90NgBnbJ3VV6qVzp6c7/dDrmWdX8S0X5YFYgDcQFjE3dRen9wB9FWnj2VVdPU64adSg==
6165
-
6166
-
"@react-native/assets-registry@0.79.3":
6167
-
version "0.79.3"
6168
-
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.79.3.tgz#022218d55a5d9d221a6d176987ab0b35c10d388b"
6169
-
integrity sha512-Vy8DQXCJ21YSAiHxrNBz35VqVlZPpRYm50xRTWRf660JwHuJkFQG8cUkrLzm7AUriqUXxwpkQHcY+b0ibw9ejQ==
6170
-
6171
-
"@react-native/babel-plugin-codegen@0.79.3":
6172
-
version "0.79.3"
6173
-
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.79.3.tgz#acad4acaead398a8c8bcdecbe44040aa0c2dc2d7"
6174
-
integrity sha512-Zb8F4bSEKKZfms5n1MQ0o5mudDcpAINkKiFuFTU0PErYGjY3kZ+JeIP+gS6KCXsckxCfMEKQwqKicP/4DWgsZQ==
6116
+
"@react-native/babel-plugin-codegen@0.81.4":
6117
+
version "0.81.4"
6118
+
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.4.tgz#0e513ac2108ff509eab1470982db472faab9ae46"
6119
+
integrity sha512-6ztXf2Tl2iWznyI/Da/N2Eqymt0Mnn69GCLnEFxFbNdk0HxHPZBNWU9shTXhsLWOL7HATSqwg/bB1+3kY1q+mA==
6175
6120
dependencies:
6176
6121
"@babel/traverse" "^7.25.3"
6177
-
"@react-native/codegen" "0.79.3"
6122
+
"@react-native/codegen" "0.81.4"
6178
6123
6179
-
"@react-native/babel-preset@0.79.2", "@react-native/babel-preset@0.79.3":
6180
-
version "0.79.3"
6181
-
resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.79.3.tgz#8ad6c149cd488fbc18d62983119bdcbfc15ff651"
6182
-
integrity sha512-VHGNP02bDD2Ul1my0pLVwe/0dsEBHxR343ySpgnkCNEEm9C1ANQIL2wvnJrHZPcqfAkWfFQ8Ln3t+6fdm4A/Dg==
6124
+
"@react-native/babel-preset@0.81.4":
6125
+
version "0.81.4"
6126
+
resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.81.4.tgz#a9be20fb625014a65a51784b540992031bc12085"
6127
+
integrity sha512-VYj0c/cTjQJn/RJ5G6P0L9wuYSbU9yGbPYDHCKstlQZQWkk+L9V8ZDbxdJBTIei9Xl3KPQ1odQ4QaeW+4v+AZg==
6183
6128
dependencies:
6184
6129
"@babel/core" "^7.25.2"
6185
6130
"@babel/plugin-proposal-export-default-from" "^7.24.7"
···
6222
6167
"@babel/plugin-transform-typescript" "^7.25.2"
6223
6168
"@babel/plugin-transform-unicode-regex" "^7.24.7"
6224
6169
"@babel/template" "^7.25.0"
6225
-
"@react-native/babel-plugin-codegen" "0.79.3"
6226
-
babel-plugin-syntax-hermes-parser "0.25.1"
6170
+
"@react-native/babel-plugin-codegen" "0.81.4"
6171
+
babel-plugin-syntax-hermes-parser "0.29.1"
6227
6172
babel-plugin-transform-flow-enums "^0.0.2"
6228
6173
react-refresh "^0.14.0"
6229
6174
6230
-
"@react-native/codegen@0.79.3":
6231
-
version "0.79.3"
6232
-
resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.79.3.tgz#49689132718c81a3b25426769bc6fd8fd2a0469f"
6233
-
integrity sha512-CZejXqKch/a5/s/MO5T8mkAgvzCXgsTkQtpCF15kWR9HN8T+16k0CsN7TXAxXycltoxiE3XRglOrZNEa/TiZUQ==
6175
+
"@react-native/codegen@0.81.4":
6176
+
version "0.81.4"
6177
+
resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.81.4.tgz#eb884e2c3c6a46ccddbdfa6198705658e4a30c6c"
6178
+
integrity sha512-LWTGUTzFu+qOQnvkzBP52B90Ym3stZT8IFCzzUrppz8Iwglg83FCtDZAR4yLHI29VY/x/+pkcWAMCl3739XHdw==
6234
6179
dependencies:
6180
+
"@babel/core" "^7.25.2"
6181
+
"@babel/parser" "^7.25.3"
6235
6182
glob "^7.1.1"
6236
-
hermes-parser "0.25.1"
6183
+
hermes-parser "0.29.1"
6237
6184
invariant "^2.2.4"
6238
6185
nullthrows "^1.1.1"
6239
6186
yargs "^17.6.2"
6240
6187
6241
-
"@react-native/community-cli-plugin@0.79.3":
6242
-
version "0.79.3"
6243
-
resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.79.3.tgz#84821d3401074e036ba05b8b6ca1ee122cb43e29"
6244
-
integrity sha512-N/+p4HQqN4yK6IRzn7OgMvUIcrmEWkecglk1q5nj+AzNpfIOzB+mqR20SYmnPfeXF+mZzYCzRANb3KiM+WsSDA==
6188
+
"@react-native/community-cli-plugin@0.81.4":
6189
+
version "0.81.4"
6190
+
resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.4.tgz#7bed570cec5277baa22a6eae0843abbd1345a290"
6191
+
integrity sha512-8mpnvfcLcnVh+t1ok6V9eozWo8Ut+TZhz8ylJ6gF9d6q9EGDQX6s8jenan5Yv/pzN4vQEKI4ib2pTf/FELw+SA==
6245
6192
dependencies:
6246
-
"@react-native/dev-middleware" "0.79.3"
6247
-
chalk "^4.0.0"
6248
-
debug "^2.2.0"
6193
+
"@react-native/dev-middleware" "0.81.4"
6194
+
debug "^4.4.0"
6249
6195
invariant "^2.2.4"
6250
-
metro "^0.82.0"
6251
-
metro-config "^0.82.0"
6252
-
metro-core "^0.82.0"
6196
+
metro "^0.83.1"
6197
+
metro-config "^0.83.1"
6198
+
metro-core "^0.83.1"
6253
6199
semver "^7.1.3"
6254
6200
6255
-
"@react-native/debugger-frontend@0.79.3":
6256
-
version "0.79.3"
6257
-
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.79.3.tgz#9cb57d8e88c22552194ab5f6f257605b151bc5b3"
6258
-
integrity sha512-ImNDuEeKH6lEsLXms3ZsgIrNF94jymfuhPcVY5L0trzaYNo9ZFE9Ni2/18E1IbfXxdeIHrCSBJlWD6CTm7wu5A==
6201
+
"@react-native/debugger-frontend@0.81.4":
6202
+
version "0.81.4"
6203
+
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.81.4.tgz#da05018377a6d24ed694057c3445907ba81413ae"
6204
+
integrity sha512-SU05w1wD0nKdQFcuNC9D6De0ITnINCi8MEnx9RsTD2e4wN83ukoC7FpXaPCYyP6+VjFt5tUKDPgP1O7iaNXCqg==
6259
6205
6260
-
"@react-native/dev-middleware@0.79.3":
6261
-
version "0.79.3"
6262
-
resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.79.3.tgz#3e315ef7516ebad60a4202b4094d84fedecb4064"
6263
-
integrity sha512-x88+RGOyG71+idQefnQg7wLhzjn/Scs+re1O5vqCkTVzRAc/f7SdHMlbmECUxJPd08FqMcOJr7/X3nsJBrNuuw==
6206
+
"@react-native/dev-middleware@0.81.4":
6207
+
version "0.81.4"
6208
+
resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.81.4.tgz#61271dbbd4ff92d7f53462f19f3273bc28bb8bf0"
6209
+
integrity sha512-hu1Wu5R28FT7nHXs2wWXvQ++7W7zq5GPY83llajgPlYKznyPLAY/7bArc5rAzNB7b0kwnlaoPQKlvD/VP9LZug==
6264
6210
dependencies:
6265
6211
"@isaacs/ttlcache" "^1.4.1"
6266
-
"@react-native/debugger-frontend" "0.79.3"
6212
+
"@react-native/debugger-frontend" "0.81.4"
6267
6213
chrome-launcher "^0.15.2"
6268
6214
chromium-edge-launcher "^0.2.0"
6269
6215
connect "^3.6.5"
6270
-
debug "^2.2.0"
6216
+
debug "^4.4.0"
6271
6217
invariant "^2.2.4"
6272
6218
nullthrows "^1.1.1"
6273
6219
open "^7.0.3"
6274
6220
serve-static "^1.16.2"
6275
6221
ws "^6.2.3"
6276
6222
6277
-
"@react-native/eslint-config@^0.79.3":
6278
-
version "0.79.3"
6279
-
resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.79.3.tgz#a72352ce98a7d05b5686dc446ba933fee3b944a9"
6280
-
integrity sha512-pvPXfXFoVfwqGEItIl7emv6bRTpi0NWv4jmb0ZBwSJ7+zM8bRRw7JwxLA+iwrevh0QAqrF66Nu5xl39ysWcavg==
6223
+
"@react-native/eslint-config@^0.81.4":
6224
+
version "0.81.4"
6225
+
resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.81.4.tgz#a6b2785287c77ade73b4772f2c98fed29622b546"
6226
+
integrity sha512-U3YhRctTy7oVEjP5+6viSLon2nlbvA/+nTQccFdxE01jULl8n6iLvBlVUN1OWicKGlMfJxSdX76QidbOf4Zm6A==
6281
6227
dependencies:
6282
6228
"@babel/core" "^7.25.2"
6283
6229
"@babel/eslint-parser" "^7.25.1"
6284
-
"@react-native/eslint-plugin" "0.79.3"
6230
+
"@react-native/eslint-plugin" "0.81.4"
6285
6231
"@typescript-eslint/eslint-plugin" "^7.1.1"
6286
6232
"@typescript-eslint/parser" "^7.1.1"
6287
6233
eslint-config-prettier "^8.5.0"
···
6289
6235
eslint-plugin-ft-flow "^2.0.1"
6290
6236
eslint-plugin-jest "^27.9.0"
6291
6237
eslint-plugin-react "^7.30.1"
6292
-
eslint-plugin-react-hooks "^4.6.0"
6238
+
eslint-plugin-react-hooks "^5.2.0"
6293
6239
eslint-plugin-react-native "^4.0.0"
6294
6240
6295
-
"@react-native/eslint-plugin@0.79.3":
6296
-
version "0.79.3"
6297
-
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.79.3.tgz#c1ac34d45b92f963b9af66e860c45cd891235741"
6298
-
integrity sha512-6QZzCsV+Wc+HdOAMMoMqDea3SSzsvBBktGc/cqaLubKGiztTb22d+vtzZGWqCqUEVkhQKdK7qhWAs0kJPEbiXw==
6241
+
"@react-native/eslint-plugin@0.81.4":
6242
+
version "0.81.4"
6243
+
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.81.4.tgz#2a2080c7c55ca6498a3fa5d575b1f97c5a025b2c"
6244
+
integrity sha512-hL+v7ntZwWta4iaBXQ79dzA8FdkLJ4xdHso8OMSDDmUJZgiNDcviYs7inyIE5DB/DavwYIhl99teaDIFMyUb5A==
6299
6245
6300
-
"@react-native/gradle-plugin@0.79.3":
6301
-
version "0.79.3"
6302
-
resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.79.3.tgz#69ba47ac406ccdb3b3829f311bd7c27e6fad7ebc"
6303
-
integrity sha512-imfpZLhNBc9UFSzb/MOy2tNcIBHqVmexh/qdzw83F75BmUtLb/Gs1L2V5gw+WI1r7RqDILbWk7gXB8zUllwd+g==
6246
+
"@react-native/gradle-plugin@0.81.4":
6247
+
version "0.81.4"
6248
+
resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.81.4.tgz#249b7876df47a3ddefddffa71b1fd0193f7da376"
6249
+
integrity sha512-T7fPcQvDDCSusZFVSg6H1oVDKb/NnVYLnsqkcHsAF2C2KGXyo3J7slH/tJAwNfj/7EOA2OgcWxfC1frgn9TQvw==
6304
6250
6305
-
"@react-native/js-polyfills@0.79.3":
6306
-
version "0.79.3"
6307
-
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.79.3.tgz#bf5614363f118c6bdf2f773c578e603c88d0425c"
6308
-
integrity sha512-PEBtg6Kox6KahjCAch0UrqCAmHiNLEbp2SblUEoFAQnov4DSxBN9safh+QSVaCiMAwLjvNfXrJyygZz60Dqz3Q==
6251
+
"@react-native/js-polyfills@0.81.4":
6252
+
version "0.81.4"
6253
+
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.81.4.tgz#cbc3924cfb994ed00ef841a796f54be21520d3b0"
6254
+
integrity sha512-sr42FaypKXJHMVHhgSbu2f/ZJfrLzgaoQ+HdpRvKEiEh2mhFf6XzZwecyLBvWqf2pMPZa+CpPfNPiejXjKEy8w==
6309
6255
6310
-
"@react-native/normalize-colors@0.79.2", "@react-native/normalize-colors@0.79.3", "@react-native/normalize-colors@^0.73.0", "@react-native/normalize-colors@^0.74.1":
6311
-
version "0.79.3"
6312
-
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.79.3.tgz#e491937436a2c287707e24263308c818a66eb447"
6313
-
integrity sha512-T75NIQPRFCj6DFMxtcVMJTZR+3vHXaUMSd15t+CkJpc5LnyX91GVaPxpRSAdjFh7m3Yppl5MpdjV/fntImheYQ==
6256
+
"@react-native/normalize-colors@0.81.4", "@react-native/normalize-colors@^0.74.1":
6257
+
version "0.81.4"
6258
+
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.81.4.tgz#a0384d5aaac825aeefa5e391947189f6cee4a641"
6259
+
integrity sha512-9nRRHO1H+tcFqjb9gAM105Urtgcanbta2tuqCVY0NATHeFPDEAB7gPyiLxCHKMi1NbhP6TH0kxgSWXKZl1cyRg==
6314
6260
6315
-
"@react-native/typescript-config@^0.79.3":
6316
-
version "0.79.3"
6317
-
resolved "https://registry.yarnpkg.com/@react-native/typescript-config/-/typescript-config-0.79.3.tgz#21101b591c67ecef6ae5189f96a448b3bcaf1e9e"
6318
-
integrity sha512-dqKAU8D3NkExthnpBOPZjZ/NGU5qqBaqZ12v9IlMqP9sVTWSuY1iswfzomp0AYeJBxo4ZpBNmrdlnQZYQSVWiw==
6261
+
"@react-native/typescript-config@^0.81.4":
6262
+
version "0.81.4"
6263
+
resolved "https://registry.yarnpkg.com/@react-native/typescript-config/-/typescript-config-0.81.4.tgz#484541e8ab6614e6bcd18d2370953bb37f418ef7"
6264
+
integrity sha512-1HSrwtfAmtbKHNK2HAMCL5ArbGhxxJjOmTViDQ4nEhLJCAllZjQJyR/Hs1GmwHJokLmgXCcg3VH/13spwQBdxw==
6319
6265
6320
-
"@react-native/virtualized-lists@0.79.3":
6321
-
version "0.79.3"
6322
-
resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.79.3.tgz#4a2799017cd3795f519422f48b3c0bbc4739a245"
6323
-
integrity sha512-/0rRozkn+iIHya2vnnvprDgT7QkfI54FLrACAN3BLP7MRlfOIGOrZsXpRLndnLBVnjNzkcre84i1RecjoXnwIA==
6266
+
"@react-native/virtualized-lists@0.81.4":
6267
+
version "0.81.4"
6268
+
resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.81.4.tgz#3c9c162fc96777c87ca07e8686f227343dbc8f13"
6269
+
integrity sha512-hBM+rMyL6Wm1Q4f/WpqGsaCojKSNUBqAXLABNGoWm1vabZ7cSnARMxBvA/2vo3hLcoR4v7zDK8tkKm9+O0LjVA==
6324
6270
dependencies:
6325
6271
invariant "^2.2.4"
6326
6272
nullthrows "^1.1.1"
···
6399
6345
resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8"
6400
6346
integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==
6401
6347
6402
-
"@sentry-internal/browser-utils@8.54.0":
6403
-
version "8.54.0"
6404
-
resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.54.0.tgz#2d68c7fa843db867ed98059faf1a750be3eca95a"
6405
-
integrity sha512-DKWCqb4YQosKn6aD45fhKyzhkdG7N6goGFDeyTaJFREJDFVDXiNDsYZu30nJ6BxMM7uQIaARhPAC5BXfoED3pQ==
6348
+
"@sentry-internal/browser-utils@8.55.0":
6349
+
version "8.55.0"
6350
+
resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.55.0.tgz#d89bae423edd29c39f01285c8e2d59ce9289d9a6"
6351
+
integrity sha512-ROgqtQfpH/82AQIpESPqPQe0UyWywKJsmVIqi3c5Fh+zkds5LUxnssTj3yNd1x+kxaPDVB023jAP+3ibNgeNDw==
6406
6352
dependencies:
6407
-
"@sentry/core" "8.54.0"
6353
+
"@sentry/core" "8.55.0"
6408
6354
6409
-
"@sentry-internal/feedback@8.54.0":
6410
-
version "8.54.0"
6411
-
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.54.0.tgz#52c3a63aa5b520eca7acfa1376621e8441984126"
6412
-
integrity sha512-nQqRacOXoElpE0L0ADxUUII0I3A94niqG9Z4Fmsw6057QvyrV/LvTiMQBop6r5qLjwMqK+T33iR4/NQI5RhsXQ==
6355
+
"@sentry-internal/feedback@8.55.0":
6356
+
version "8.55.0"
6357
+
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.55.0.tgz#170b8e96a36ce6f71f53daad680f1a0c98381314"
6358
+
integrity sha512-cP3BD/Q6pquVQ+YL+rwCnorKuTXiS9KXW8HNKu4nmmBAyf7urjs+F6Hr1k9MXP5yQ8W3yK7jRWd09Yu6DHWOiw==
6413
6359
dependencies:
6414
-
"@sentry/core" "8.54.0"
6360
+
"@sentry/core" "8.55.0"
6415
6361
6416
-
"@sentry-internal/replay-canvas@8.54.0":
6417
-
version "8.54.0"
6418
-
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.54.0.tgz#e57a3893db2bb0ea7ad9dc2a804bb035142fe3ba"
6419
-
integrity sha512-K/On3OAUBeq/TV2n+1EvObKC+WMV9npVXpVyJqCCyn8HYMm8FUGzuxeajzm0mlW4wDTPCQor6mK9/IgOquUzCw==
6362
+
"@sentry-internal/replay-canvas@8.55.0":
6363
+
version "8.55.0"
6364
+
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.55.0.tgz#e65430207a2f18e4a07c25c669ec758d11282aaf"
6365
+
integrity sha512-nIkfgRWk1091zHdu4NbocQsxZF1rv1f7bbp3tTIlZYbrH62XVZosx5iHAuZG0Zc48AETLE7K4AX9VGjvQj8i9w==
6420
6366
dependencies:
6421
-
"@sentry-internal/replay" "8.54.0"
6422
-
"@sentry/core" "8.54.0"
6367
+
"@sentry-internal/replay" "8.55.0"
6368
+
"@sentry/core" "8.55.0"
6423
6369
6424
-
"@sentry-internal/replay@8.54.0":
6425
-
version "8.54.0"
6426
-
resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.54.0.tgz#b92990a51ffbe8d92998ff8188db9e3a6f9d1e18"
6427
-
integrity sha512-8xuBe06IaYIGJec53wUC12tY2q4z2Z0RPS2s1sLtbA00EvK1YDGuXp96IDD+HB9mnDMrQ/jW5f97g9TvPsPQUg==
6370
+
"@sentry-internal/replay@8.55.0":
6371
+
version "8.55.0"
6372
+
resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.55.0.tgz#4c00b22cdf58cac5b3e537f8d4f675f2b021f475"
6373
+
integrity sha512-roCDEGkORwolxBn8xAKedybY+Jlefq3xYmgN2fr3BTnsXjSYOPC7D1/mYqINBat99nDtvgFvNfRcZPiwwZ1hSw==
6428
6374
dependencies:
6429
-
"@sentry-internal/browser-utils" "8.54.0"
6430
-
"@sentry/core" "8.54.0"
6375
+
"@sentry-internal/browser-utils" "8.55.0"
6376
+
"@sentry/core" "8.55.0"
6431
6377
6432
6378
"@sentry/babel-plugin-component-annotate@3.2.2":
6433
6379
version "3.2.2"
6434
6380
resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.2.2.tgz#0c5f26e417b8f524924fa4531b82ad5603216e90"
6435
6381
integrity sha512-D+SKQ266ra/wo87s9+UI/rKQi3qhGPCR8eSCDe0VJudhjHsqyNU+JJ5lnIGCgmZaWFTXgdBP/gdr1Iz1zqGs4Q==
6436
6382
6437
-
"@sentry/babel-plugin-component-annotate@3.4.0":
6438
-
version "3.4.0"
6439
-
resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.4.0.tgz#f47a7652e16f84556df82cbc38f0004bca1335d1"
6440
-
integrity sha512-tSzfc3aE7m0PM0Aj7HBDet5llH9AB9oc+tBQ8AvOqUSnWodLrNCuWeQszJ7mIBovD3figgCU3h0cvI6U5cDtsg==
6383
+
"@sentry/babel-plugin-component-annotate@4.1.1":
6384
+
version "4.1.1"
6385
+
resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.1.1.tgz#371415afc602f6b2ba0987b51123bd34d1603193"
6386
+
integrity sha512-HUpqrCK7zDVojTV6KL6BO9ZZiYrEYQqvYQrscyMsq04z+WCupXaH6YEliiNRvreR8DBJgdsG3lBRpebhUGmvfA==
6441
6387
6442
-
"@sentry/browser@8.54.0":
6443
-
version "8.54.0"
6444
-
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.54.0.tgz#5487075908aac564892e689e1b6d233fdb314f5b"
6445
-
integrity sha512-BgUtvxFHin0fS0CmJVKTLXXZcke0Av729IVfi+2fJ4COX8HO7/HAP02RKaSQGmL2HmvWYTfNZ7529AnUtrM4Rg==
6388
+
"@sentry/browser@8.55.0":
6389
+
version "8.55.0"
6390
+
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.55.0.tgz#9a489e2a54d29c65e6271b4ee594b43679cab7bd"
6391
+
integrity sha512-1A31mCEWCjaMxJt6qGUK+aDnLDcK6AwLAZnqpSchNysGni1pSn1RWSmk9TBF8qyTds5FH8B31H480uxMPUJ7Cw==
6446
6392
dependencies:
6447
-
"@sentry-internal/browser-utils" "8.54.0"
6448
-
"@sentry-internal/feedback" "8.54.0"
6449
-
"@sentry-internal/replay" "8.54.0"
6450
-
"@sentry-internal/replay-canvas" "8.54.0"
6451
-
"@sentry/core" "8.54.0"
6393
+
"@sentry-internal/browser-utils" "8.55.0"
6394
+
"@sentry-internal/feedback" "8.55.0"
6395
+
"@sentry-internal/replay" "8.55.0"
6396
+
"@sentry-internal/replay-canvas" "8.55.0"
6397
+
"@sentry/core" "8.55.0"
6452
6398
6453
6399
"@sentry/bundler-plugin-core@3.2.2":
6454
6400
version "3.2.2"
···
6469
6415
resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.42.2.tgz#a32a4f226e717122b37d9969e8d4d0e14779f720"
6470
6416
integrity sha512-GtJSuxER7Vrp1IpxdUyRZzcckzMnb4N5KTW7sbTwUiwqARRo+wxS+gczYrS8tdgtmXs5XYhzhs+t4d52ITHMIg==
6471
6417
6472
-
"@sentry/cli-darwin@2.45.0":
6473
-
version "2.45.0"
6474
-
resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.45.0.tgz#e3d6feae4fadcfdf91db9c7b9c4689a66d3d8d19"
6475
-
integrity sha512-p4Uxfv/L2fQdP3/wYnKVVz9gzZJf/1Xp9D+6raax/3Bu5y87yHYUqcdt98y/VAXQD4ofp2QgmhGUVPofvQNZmg==
6418
+
"@sentry/cli-darwin@2.51.1":
6419
+
version "2.51.1"
6420
+
resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.51.1.tgz#3a1db065651893f72dad3a502b2d7c2f5e6a7dd8"
6421
+
integrity sha512-R1u8IQdn/7Rr8sf6bVVr0vJT4OqwCFdYsS44Y3OoWGVJW2aAQTWRJOTlV4ueclVLAyUQzmgBjfR8AtiUhd/M5w==
6476
6422
6477
6423
"@sentry/cli-linux-arm64@2.42.2":
6478
6424
version "2.42.2"
6479
6425
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.42.2.tgz#1c06c83ff21f51ec23acf5be3b1f8c7553bf86b1"
6480
6426
integrity sha512-BOxzI7sgEU5Dhq3o4SblFXdE9zScpz6EXc5Zwr1UDZvzgXZGosUtKVc7d1LmkrHP8Q2o18HcDWtF3WvJRb5Zpw==
6481
6427
6482
-
"@sentry/cli-linux-arm64@2.45.0":
6483
-
version "2.45.0"
6484
-
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.45.0.tgz#384c8e17f7e7dc007d164033d0e7c75aa83a2e9b"
6485
-
integrity sha512-gUcLoEjzg7AIc4QQGEZwRHri+EHf3Gcms9zAR1VHiNF3/C/jL4WeDPJF2YiWAQt6EtH84tHiyhw1Ab/R8XFClg==
6428
+
"@sentry/cli-linux-arm64@2.51.1":
6429
+
version "2.51.1"
6430
+
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.51.1.tgz#b4c957a06bafc13623c48971eadb0cff7d3662a3"
6431
+
integrity sha512-nvA/hdhsw4bKLhslgbBqqvETjXwN1FVmwHLOrRvRcejDO6zeIKUElDiL5UOjGG0NC+62AxyNw5ri8Wzp/7rg9Q==
6486
6432
6487
6433
"@sentry/cli-linux-arm@2.42.2":
6488
6434
version "2.42.2"
6489
6435
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.42.2.tgz#00cadc359ae3c051efb3e63873c033c61dbd1ca1"
6490
6436
integrity sha512-7udCw+YL9lwq+9eL3WLspvnuG+k5Icg92YE7zsteTzWLwgPVzaxeZD2f8hwhsu+wmL+jNqbpCRmktPteh3i2mg==
6491
6437
6492
-
"@sentry/cli-linux-arm@2.45.0":
6493
-
version "2.45.0"
6494
-
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.45.0.tgz#b9d6f86f3934b4d9ced5b45a8158ff2ac2bdd25d"
6495
-
integrity sha512-6sEskFLlFKJ+e0MOYgIclBTUX5jYMyYhHIxXahEkI/4vx6JO0uvpyRAkUJRpJkRh/lPog0FM+tbP3so+VxB2qQ==
6438
+
"@sentry/cli-linux-arm@2.51.1":
6439
+
version "2.51.1"
6440
+
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.51.1.tgz#f761d0c58d27be503471cee4ffc41875a7d9430b"
6441
+
integrity sha512-Klro17OmSSKOOSaxVKBBNPXet2+HrIDZUTSp8NRl4LQsIubdc1S/aQ79cH/g52Muwzpl3aFwPxyXw+46isfEgA==
6496
6442
6497
6443
"@sentry/cli-linux-i686@2.42.2":
6498
6444
version "2.42.2"
6499
6445
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.42.2.tgz#3b817b715dd806c20dfbffd539725ad8089c310a"
6500
6446
integrity sha512-Sw/dQp5ZPvKnq3/y7wIJyxTUJYPGoTX/YeMbDs8BzDlu9to2LWV3K3r7hE7W1Lpbaw4tSquUHiQjP5QHCOS7aQ==
6501
6447
6502
-
"@sentry/cli-linux-i686@2.45.0":
6503
-
version "2.45.0"
6504
-
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.45.0.tgz#39e22beb84cfa26e11bdc198364315fdfb4da4d5"
6505
-
integrity sha512-VmmOaEAzSW23YdGNdy/+oQjCNAMY+HmOGA77A25/ep/9AV7PQB6FI7xO5Y1PVvlkxZFJ23e373njSsEeg4uDZw==
6448
+
"@sentry/cli-linux-i686@2.51.1":
6449
+
version "2.51.1"
6450
+
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.51.1.tgz#62baaf83c5995e478186289a45315d0acd5bd3bf"
6451
+
integrity sha512-jp4TmR8VXBdT9dLo6mHniQHN0xKnmJoPGVz9h9VDvO2Vp/8o96rBc555D4Am5wJOXmfuPlyjGcmwHlB3+kQRWw==
6506
6452
6507
6453
"@sentry/cli-linux-x64@2.42.2":
6508
6454
version "2.42.2"
6509
6455
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.42.2.tgz#ddf906bc3071cc79ce6e633eddcb76bb9068e688"
6510
6456
integrity sha512-mU4zUspAal6TIwlNLBV5oq6yYqiENnCWSxtSQVzWs0Jyq97wtqGNG9U+QrnwjJZ+ta/hvye9fvL2X25D/RxHQw==
6511
6457
6512
-
"@sentry/cli-linux-x64@2.45.0":
6513
-
version "2.45.0"
6514
-
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.45.0.tgz#25cd3699297f9433835fb5edd42dad722c11f041"
6515
-
integrity sha512-a0Oj68mrb25a0WjX/ShZ6AAd4PPiuLcgyzQr7bl2+DvYxIOajwkGbR+CZFEhOVZcfhTnixKy/qIXEzApEPHPQg==
6458
+
"@sentry/cli-linux-x64@2.51.1":
6459
+
version "2.51.1"
6460
+
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.51.1.tgz#0010fe24ad8ef492a917c12feb351ba768e72603"
6461
+
integrity sha512-JuLt0MXM2KHNFmjqXjv23sly56mJmUQzGBWktkpY3r+jE08f5NLKPd5wQ6W/SoLXGIOKnwLz0WoUg7aBVyQdeQ==
6516
6462
6517
-
"@sentry/cli-win32-arm64@2.45.0":
6518
-
version "2.45.0"
6519
-
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.45.0.tgz#50c7d29ea2169bdb4d98bbde81c5f7dac0dd3955"
6520
-
integrity sha512-vn+CwS4p+52pQSLNPoi20ZOrQmv01ZgAmuMnjkh1oUZfTyBAwWLrAh6Cy4cztcN8DfL5dOWKQBo8DBKURE4ttg==
6463
+
"@sentry/cli-win32-arm64@2.51.1":
6464
+
version "2.51.1"
6465
+
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.51.1.tgz#0894f9a91e6ecb3021ca09fe644f995ff4ff826d"
6466
+
integrity sha512-PiwjTdIFDazTQCTyDCutiSkt4omggYSKnO3HE1+LDjElsFrWY9pJs4fU3D40WAyE2oKu0MarjNH/WxYGdqEAlg==
6521
6467
6522
6468
"@sentry/cli-win32-i686@2.42.2":
6523
6469
version "2.42.2"
6524
6470
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.42.2.tgz#9036085c7c6ce455ad45fda411c55ff39c06eb95"
6525
6471
integrity sha512-iHvFHPGqgJMNqXJoQpqttfsv2GI3cGodeTq4aoVLU/BT3+hXzbV0x1VpvvEhncJkDgDicJpFLM8sEPHb3b8abw==
6526
6472
6527
-
"@sentry/cli-win32-i686@2.45.0":
6528
-
version "2.45.0"
6529
-
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.45.0.tgz#201075c4aec37a3e797160e0b468641245437f0c"
6530
-
integrity sha512-8mMoDdlwxtcdNIMtteMK7dbi7054jak8wKSHJ5yzMw8UmWxC5thc/gXBc1uPduiaI56VjoJV+phWHBKCD+6I4w==
6473
+
"@sentry/cli-win32-i686@2.51.1":
6474
+
version "2.51.1"
6475
+
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.51.1.tgz#6a6c6402cdce4fd038716b2c1e0bfa788b54f3e9"
6476
+
integrity sha512-TMvZZpeiI2HmrDFNVQ0uOiTuYKvjEGOZdmUxe3WlhZW82A/2Oka7sQ24ljcOovbmBOj5+fjCHRUMYvLMCWiysA==
6531
6477
6532
6478
"@sentry/cli-win32-x64@2.42.2":
6533
6479
version "2.42.2"
6534
6480
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.42.2.tgz#7d6464b63f32c9f97fff428f246b1f039b402233"
6535
6481
integrity sha512-vPPGHjYoaGmfrU7xhfFxG7qlTBacroz5NdT+0FmDn6692D8IvpNXl1K+eV3Kag44ipJBBeR8g1HRJyx/F/9ACw==
6536
6482
6537
-
"@sentry/cli-win32-x64@2.45.0":
6538
-
version "2.45.0"
6539
-
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.45.0.tgz#2075e9e1ea3c3609e0fa1a758ca033e94e1c600f"
6540
-
integrity sha512-ZvK9cIqFaq7vZ0jkHJ/xh5au6902Dr+AUxSk6L6vCL7JCe2p93KGL/4d8VFB5PD/P7Y9b+105G/e0QIFKzpeOw==
6483
+
"@sentry/cli-win32-x64@2.51.1":
6484
+
version "2.51.1"
6485
+
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.51.1.tgz#d361e37146c9269d40c37459271a6c2cfa1fa8a6"
6486
+
integrity sha512-v2hreYUPPTNK1/N7+DeX7XBN/zb7p539k+2Osf0HFyVBaoUC3Y3+KBwSf4ASsnmgTAK7HCGR+X0NH1vP+icw4w==
6541
6487
6542
6488
"@sentry/cli@2.42.2":
6543
6489
version "2.42.2"
···
6558
6504
"@sentry/cli-win32-i686" "2.42.2"
6559
6505
"@sentry/cli-win32-x64" "2.42.2"
6560
6506
6561
-
"@sentry/cli@2.45.0":
6562
-
version "2.45.0"
6563
-
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.45.0.tgz#35feed7a2fee54faf25daed73001a2a2a3143396"
6564
-
integrity sha512-4sWu7zgzgHAjIxIjXUA/66qgeEf5ZOlloO+/JaGD5qXNSW0G7KMTR6iYjReNKMgdBCTH6bUUt9qiuA+Ex9Masw==
6507
+
"@sentry/cli@2.51.1":
6508
+
version "2.51.1"
6509
+
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.51.1.tgz#c6bdc6025e8f600e44fc76f8274c369aeb5d4df4"
6510
+
integrity sha512-FU+54kNcKJABU0+ekvtnoXHM9zVrDe1zXVFbQT7mS0On0m1P0zFRGdzbnWe2XzpzuEAJXtK6aog/W+esRU9AIA==
6565
6511
dependencies:
6566
6512
https-proxy-agent "^5.0.0"
6567
6513
node-fetch "^2.6.7"
···
6569
6515
proxy-from-env "^1.1.0"
6570
6516
which "^2.0.2"
6571
6517
optionalDependencies:
6572
-
"@sentry/cli-darwin" "2.45.0"
6573
-
"@sentry/cli-linux-arm" "2.45.0"
6574
-
"@sentry/cli-linux-arm64" "2.45.0"
6575
-
"@sentry/cli-linux-i686" "2.45.0"
6576
-
"@sentry/cli-linux-x64" "2.45.0"
6577
-
"@sentry/cli-win32-arm64" "2.45.0"
6578
-
"@sentry/cli-win32-i686" "2.45.0"
6579
-
"@sentry/cli-win32-x64" "2.45.0"
6518
+
"@sentry/cli-darwin" "2.51.1"
6519
+
"@sentry/cli-linux-arm" "2.51.1"
6520
+
"@sentry/cli-linux-arm64" "2.51.1"
6521
+
"@sentry/cli-linux-i686" "2.51.1"
6522
+
"@sentry/cli-linux-x64" "2.51.1"
6523
+
"@sentry/cli-win32-arm64" "2.51.1"
6524
+
"@sentry/cli-win32-i686" "2.51.1"
6525
+
"@sentry/cli-win32-x64" "2.51.1"
6580
6526
6581
-
"@sentry/core@8.54.0":
6582
-
version "8.54.0"
6583
-
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.54.0.tgz#a2ebec965cadcb6de89e116689feeef79d5862a6"
6584
-
integrity sha512-03bWf+D1j28unOocY/5FDB6bUHtYlm6m6ollVejhg45ZmK9iPjdtxNWbrLsjT1WRym0Tjzowu+A3p+eebYEv0Q==
6527
+
"@sentry/core@8.55.0":
6528
+
version "8.55.0"
6529
+
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.55.0.tgz#4964920229fcf649237ef13b1533dfc4b9f6b22e"
6530
+
integrity sha512-6g7jpbefjHYs821Z+EBJ8r4Z7LT5h80YSWRJaylGS4nW5W5Z2KXzpdnyFarv37O7QjauzVC2E+PABmpkw5/JGA==
6585
6531
6586
-
"@sentry/react-native@~6.14.0":
6587
-
version "6.14.0"
6588
-
resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-6.14.0.tgz#bc6bdaf03860bb8946f8c30570a9abd82ed6cfc0"
6589
-
integrity sha512-BBqixN6oV6tCNp1ABXfzvD531zxj1fUAH0HDPvOR/jX0h9f9pYfxCyI64B+DoQbVZKFsg8nte0QIHkZDhRAW9A==
6532
+
"@sentry/react-native@~6.20.0":
6533
+
version "6.20.0"
6534
+
resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-6.20.0.tgz#6325f7393f24f1286bd9d1f3c68562cf99028864"
6535
+
integrity sha512-YngSba14Hsb5t/ZNMOyxb/HInmYRL5pQ74BkoMBQ/UBBM5kWHgSILxoO2XkKYtaaJXrkSJj+kBalELHblz9h5g==
6590
6536
dependencies:
6591
-
"@sentry/babel-plugin-component-annotate" "3.4.0"
6592
-
"@sentry/browser" "8.54.0"
6593
-
"@sentry/cli" "2.45.0"
6594
-
"@sentry/core" "8.54.0"
6595
-
"@sentry/react" "8.54.0"
6596
-
"@sentry/types" "8.54.0"
6597
-
"@sentry/utils" "8.54.0"
6537
+
"@sentry/babel-plugin-component-annotate" "4.1.1"
6538
+
"@sentry/browser" "8.55.0"
6539
+
"@sentry/cli" "2.51.1"
6540
+
"@sentry/core" "8.55.0"
6541
+
"@sentry/react" "8.55.0"
6542
+
"@sentry/types" "8.55.0"
6543
+
"@sentry/utils" "8.55.0"
6598
6544
6599
-
"@sentry/react@8.54.0":
6600
-
version "8.54.0"
6601
-
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.54.0.tgz#16cec103b5d5697bdfebacf6e2d35f19699b3ab3"
6602
-
integrity sha512-42T/fp8snYN19Fy/2P0Mwotu4gcdy+1Lx+uYCNcYP1o7wNGigJ7qb27sW7W34GyCCHjoCCfQgeOqDQsyY8LC9w==
6545
+
"@sentry/react@8.55.0":
6546
+
version "8.55.0"
6547
+
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.55.0.tgz#309f005837956a98e79275ef8c2c2b5952c8be93"
6548
+
integrity sha512-/qNBvFLpvSa/Rmia0jpKfJdy16d4YZaAnH/TuKLAtm0BWlsPQzbXCU4h8C5Hsst0Do0zG613MEtEmWpWrVOqWA==
6603
6549
dependencies:
6604
-
"@sentry/browser" "8.54.0"
6605
-
"@sentry/core" "8.54.0"
6550
+
"@sentry/browser" "8.55.0"
6551
+
"@sentry/core" "8.55.0"
6606
6552
hoist-non-react-statics "^3.3.2"
6607
6553
6608
-
"@sentry/types@8.54.0":
6609
-
version "8.54.0"
6610
-
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.54.0.tgz#1d57bb094443081de4e0d8b638e6ebc40f5ddd36"
6611
-
integrity sha512-wztdtr7dOXQKi0iRvKc8XJhJ7HaAfOv8lGu0yqFOFwBZucO/SHnu87GOPi8mvrTiy1bentQO5l+zXWAaMvG4uw==
6554
+
"@sentry/types@8.55.0":
6555
+
version "8.55.0"
6556
+
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.55.0.tgz#af157791277c09debaca278c02522bd5bd548c32"
6557
+
integrity sha512-6LRT0+r6NWQ+RtllrUW2yQfodST0cJnkOmdpHA75vONgBUhpKwiJ4H7AmgfoTET8w29pU6AnntaGOe0LJbOmog==
6612
6558
dependencies:
6613
-
"@sentry/core" "8.54.0"
6559
+
"@sentry/core" "8.55.0"
6614
6560
6615
-
"@sentry/utils@8.54.0":
6616
-
version "8.54.0"
6617
-
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.54.0.tgz#5e28e03a249451b4a55200a0787f4e2c59bab2c5"
6618
-
integrity sha512-JL8UDjrsKxKclTdLXfuHfE7B3KbrAPEYP7tMyN/xiO2vsF6D84fjwYyalO0ZMtuFZE6vpSze8ZOLEh6hLnPYsw==
6561
+
"@sentry/utils@8.55.0":
6562
+
version "8.55.0"
6563
+
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.55.0.tgz#6d575a68f4c37a7b45aa808a842693c12108c190"
6564
+
integrity sha512-cYcl39+xcOivBpN9d8ZKbALl+DxZKo/8H0nueJZ0PO4JA+MJGhSm6oHakXxLPaiMoNLTX7yor8ndnQIuFg+vmQ==
6619
6565
dependencies:
6620
-
"@sentry/core" "8.54.0"
6566
+
"@sentry/core" "8.55.0"
6621
6567
6622
6568
"@sentry/webpack-plugin@^3.2.2":
6623
6569
version "3.2.2"
···
7604
7550
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
7605
7551
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
7606
7552
7607
-
"@types/react-dom@^19.1.8":
7553
+
"@types/react-dom@^19.1.9":
7608
7554
version "19.1.9"
7609
7555
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.9.tgz#5ab695fce1e804184767932365ae6569c11b4b4b"
7610
7556
integrity sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==
···
7819
7765
dependencies:
7820
7766
"@typescript-eslint/types" "7.18.0"
7821
7767
eslint-visitor-keys "^3.4.3"
7768
+
7769
+
"@ungap/structured-clone@^1.3.0":
7770
+
version "1.3.0"
7771
+
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8"
7772
+
integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
7822
7773
7823
7774
"@urql/core@^5.0.0", "@urql/core@^5.0.6":
7824
7775
version "5.0.8"
···
8103
8054
dependencies:
8104
8055
fast-deep-equal "^3.1.3"
8105
8056
8106
-
ajv@8.11.0:
8107
-
version "8.11.0"
8108
-
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f"
8109
-
integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==
8110
-
dependencies:
8111
-
fast-deep-equal "^3.1.1"
8112
-
json-schema-traverse "^1.0.0"
8113
-
require-from-string "^2.0.2"
8114
-
uri-js "^4.2.2"
8115
-
8116
8057
ajv@^6.12.4, ajv@^6.12.5:
8117
8058
version "6.12.6"
8118
8059
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
···
8262
8203
version "2.0.1"
8263
8204
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
8264
8205
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
8265
-
8266
-
aria-hidden@^1.1.1:
8267
-
version "1.2.3"
8268
-
resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954"
8269
-
integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==
8270
-
dependencies:
8271
-
tslib "^2.0.0"
8272
8206
8273
8207
aria-hidden@^1.2.4:
8274
8208
version "1.2.4"
···
8676
8610
dependencies:
8677
8611
"@babel/types" "^7.26.0"
8678
8612
8679
-
babel-plugin-react-native-web@~0.19.13:
8680
-
version "0.19.13"
8681
-
resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.13.tgz#bf919bd6f18c4689dd1a528a82bda507363b953d"
8682
-
integrity sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ==
8613
+
babel-plugin-react-compiler@^19.1.0-rc.2:
8614
+
version "19.1.0-rc.3"
8615
+
resolved "https://registry.yarnpkg.com/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.1.0-rc.3.tgz#45e5a282a2460b3701971e5eb8310a90a7919022"
8616
+
integrity sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==
8617
+
dependencies:
8618
+
"@babel/types" "^7.26.0"
8619
+
8620
+
babel-plugin-react-native-web@~0.21.0:
8621
+
version "0.21.1"
8622
+
resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.1.tgz#0147f1c716119025047475ae3f542ffdacea7d82"
8623
+
integrity sha512-7XywfJ5QIRMwjOL+pwJt2w47Jmi5fFLvK7/So4fV4jIN6PcRbylCp9/l3cJY4VJbSz3lnWTeHDTD1LKIc1C09Q==
8683
8624
8684
-
babel-plugin-syntax-hermes-parser@0.25.1, babel-plugin-syntax-hermes-parser@^0.25.1:
8685
-
version "0.25.1"
8686
-
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz#58b539df973427fcfbb5176a3aec7e5dee793cb0"
8687
-
integrity sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==
8625
+
babel-plugin-syntax-hermes-parser@0.29.1, babel-plugin-syntax-hermes-parser@^0.29.1:
8626
+
version "0.29.1"
8627
+
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz#09ca9ecb0330eba1ef939b6d3f1f55bb06a9dc33"
8628
+
integrity sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==
8688
8629
dependencies:
8689
-
hermes-parser "0.25.1"
8630
+
hermes-parser "0.29.1"
8690
8631
8691
8632
babel-plugin-transform-flow-enums@^0.0.2:
8692
8633
version "0.0.2"
···
8718
8659
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
8719
8660
"@babel/plugin-syntax-top-level-await" "^7.8.3"
8720
8661
8721
-
babel-preset-expo@~13.1.11:
8722
-
version "13.1.11"
8723
-
resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-13.1.11.tgz#de81e6a621c9f40dcb1e0bf5f1fe111f82c10496"
8724
-
integrity sha512-jigWjvhRVdm9UTPJ1wjLYJ0OJvD5vLZ8YYkEknEl6+9S1JWORO/y3xtHr/hNj5n34nOilZqdXrmNFcqKc8YTsg==
8725
-
dependencies:
8726
-
"@babel/helper-module-imports" "^7.25.9"
8727
-
"@babel/plugin-proposal-decorators" "^7.12.9"
8728
-
"@babel/plugin-proposal-export-default-from" "^7.24.7"
8729
-
"@babel/plugin-syntax-export-default-from" "^7.24.7"
8730
-
"@babel/plugin-transform-export-namespace-from" "^7.25.9"
8731
-
"@babel/plugin-transform-flow-strip-types" "^7.25.2"
8732
-
"@babel/plugin-transform-modules-commonjs" "^7.24.8"
8733
-
"@babel/plugin-transform-object-rest-spread" "^7.24.7"
8734
-
"@babel/plugin-transform-parameters" "^7.24.7"
8735
-
"@babel/plugin-transform-private-methods" "^7.24.7"
8736
-
"@babel/plugin-transform-private-property-in-object" "^7.24.7"
8737
-
"@babel/plugin-transform-runtime" "^7.24.7"
8738
-
"@babel/preset-react" "^7.22.15"
8739
-
"@babel/preset-typescript" "^7.23.0"
8740
-
"@react-native/babel-preset" "0.79.2"
8741
-
babel-plugin-react-native-web "~0.19.13"
8742
-
babel-plugin-syntax-hermes-parser "^0.25.1"
8743
-
babel-plugin-transform-flow-enums "^0.0.2"
8744
-
debug "^4.3.4"
8745
-
react-refresh "^0.14.2"
8746
-
resolve-from "^5.0.0"
8747
-
8748
-
babel-preset-expo@~13.2.0:
8749
-
version "13.2.0"
8750
-
resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-13.2.0.tgz#d4540009d07242e3c3d63184b7a34efda95e8e64"
8751
-
integrity sha512-oNUeUZPMNRPmx/2jaKJLSQFP/MFI1M91vP+Gp+j8/FPl9p/ps603DNwCaRdcT/Vj3FfREdlIwRio1qDCjY0oAA==
8662
+
babel-preset-expo@~54.0.0, babel-preset-expo@~54.0.2:
8663
+
version "54.0.2"
8664
+
resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-54.0.2.tgz#b717cdd884982311825226e2e4c48c126fbb00fc"
8665
+
integrity sha512-wIlweUhun2+soWQf8slGrURU8ZZYrIqPGuvsvTpm03YE8aCZF9YZe1WvsMJCAlywIhQQ+970wSKzLncfPqK2hQ==
8752
8666
dependencies:
8753
8667
"@babel/helper-module-imports" "^7.25.9"
8754
8668
"@babel/plugin-proposal-decorators" "^7.12.9"
8755
8669
"@babel/plugin-proposal-export-default-from" "^7.24.7"
8756
8670
"@babel/plugin-syntax-export-default-from" "^7.24.7"
8671
+
"@babel/plugin-transform-class-static-block" "^7.27.1"
8757
8672
"@babel/plugin-transform-export-namespace-from" "^7.25.9"
8758
8673
"@babel/plugin-transform-flow-strip-types" "^7.25.2"
8759
8674
"@babel/plugin-transform-modules-commonjs" "^7.24.8"
···
8764
8679
"@babel/plugin-transform-runtime" "^7.24.7"
8765
8680
"@babel/preset-react" "^7.22.15"
8766
8681
"@babel/preset-typescript" "^7.23.0"
8767
-
"@react-native/babel-preset" "0.79.3"
8768
-
babel-plugin-react-native-web "~0.19.13"
8769
-
babel-plugin-syntax-hermes-parser "^0.25.1"
8682
+
"@react-native/babel-preset" "0.81.4"
8683
+
babel-plugin-react-compiler "^19.1.0-rc.2"
8684
+
babel-plugin-react-native-web "~0.21.0"
8685
+
babel-plugin-syntax-hermes-parser "^0.29.1"
8770
8686
babel-plugin-transform-flow-enums "^0.0.2"
8771
8687
debug "^4.3.4"
8772
-
react-refresh "^0.14.2"
8773
8688
resolve-from "^5.0.0"
8774
8689
8775
8690
babel-preset-jest@^29.6.3:
···
8799
8714
version "1.5.1"
8800
8715
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
8801
8716
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
8717
+
8718
+
baseline-browser-mapping@^2.8.3:
8719
+
version "2.8.6"
8720
+
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.6.tgz#c37dea4291ed8d01682f85661dbe87967028642e"
8721
+
integrity sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==
8802
8722
8803
8723
batch@0.6.1:
8804
8724
version "0.6.1"
···
8996
8916
node-releases "^2.0.18"
8997
8917
update-browserslist-db "^1.1.1"
8998
8918
8919
+
browserslist@^4.25.0:
8920
+
version "4.26.2"
8921
+
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.26.2.tgz#7db3b3577ec97f1140a52db4936654911078cef3"
8922
+
integrity sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==
8923
+
dependencies:
8924
+
baseline-browser-mapping "^2.8.3"
8925
+
caniuse-lite "^1.0.30001741"
8926
+
electron-to-chromium "^1.5.218"
8927
+
node-releases "^2.0.21"
8928
+
update-browserslist-db "^1.1.3"
8929
+
8999
8930
bser@2.1.1:
9000
8931
version "2.1.1"
9001
8932
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
···
9138
9069
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001697.tgz"
9139
9070
integrity sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==
9140
9071
9072
+
caniuse-lite@^1.0.30001741:
9073
+
version "1.0.30001743"
9074
+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001743.tgz#50ff91a991220a1ee2df5af00650dd5c308ea7cd"
9075
+
integrity sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==
9076
+
9141
9077
cbor-extract@^2.1.1:
9142
9078
version "2.1.1"
9143
9079
resolved "https://registry.yarnpkg.com/cbor-extract/-/cbor-extract-2.1.1.tgz#f154b31529fdb6b7c70fb3ca448f44eda96a1b42"
···
9972
9908
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
9973
9909
integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
9974
9910
9975
-
debug@2.6.9, debug@^2.2.0, debug@^2.6.9:
9911
+
debug@2.6.9, debug@^2.6.9:
9976
9912
version "2.6.9"
9977
9913
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
9978
9914
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
···
10141
10077
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
10142
10078
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
10143
10079
10144
-
deprecated-react-native-prop-types@^5.0.0:
10145
-
version "5.0.0"
10146
-
resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz#02a12f090da7bd9e8c3ac53c31cf786a1315d302"
10147
-
integrity sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==
10148
-
dependencies:
10149
-
"@react-native/normalize-colors" "^0.73.0"
10150
-
invariant "^2.2.4"
10151
-
prop-types "^15.8.1"
10152
-
10153
10080
dequal@^2.0.3:
10154
10081
version "2.0.3"
10155
10082
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
···
10160
10087
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
10161
10088
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
10162
10089
10163
-
detect-libc@^1.0.3:
10164
-
version "1.0.3"
10165
-
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
10166
-
integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
10167
-
10168
10090
detect-libc@^2.0.0:
10169
10091
version "2.0.2"
10170
10092
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d"
···
10375
10297
version "1.4.777"
10376
10298
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.777.tgz#f846fbba23fd11b3c6f97848cdda94896fdb8baf"
10377
10299
integrity sha512-n02NCwLJ3wexLfK/yQeqfywCblZqLcXphzmid5e8yVPdtEcida7li0A5WQKghHNG0FeOMCzeFOzEbtAh5riXFw==
10300
+
10301
+
electron-to-chromium@^1.5.218:
10302
+
version "1.5.222"
10303
+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.222.tgz#965c93783ad989116b74593ae3068b9466fdb237"
10304
+
integrity sha512-gA7psSwSwQRE60CEoLz6JBCQPIxNeuzB2nL8vE03GK/OHxlvykbLyeiumQy1iH5C2f3YbRAZpGCMT12a/9ih9w==
10378
10305
10379
10306
electron-to-chromium@^1.5.41:
10380
10307
version "1.5.51"
···
10909
10836
zod "^3.22.4"
10910
10837
zod-validation-error "^3.0.3"
10911
10838
10912
-
eslint-plugin-react-hooks@^4.6.0:
10913
-
version "4.6.0"
10914
-
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
10915
-
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
10839
+
eslint-plugin-react-hooks@^5.2.0:
10840
+
version "5.2.0"
10841
+
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz#1be0080901e6ac31ce7971beed3d3ec0a423d9e3"
10842
+
integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==
10916
10843
10917
10844
eslint-plugin-react-native-a11y@^3.3.0:
10918
10845
version "3.3.0"
···
11090
11017
bignumber.js "^9.1.1"
11091
11018
cockatiel "^3.1.1"
11092
11019
11093
-
event-target-shim@^5.0.0, event-target-shim@^5.0.1:
11020
+
event-target-shim@^5.0.0:
11094
11021
version "5.0.1"
11095
11022
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
11096
11023
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
···
11177
11104
jest-message-util "^29.7.0"
11178
11105
jest-util "^29.7.0"
11179
11106
11180
-
expo-application@~6.1.4:
11181
-
version "6.1.4"
11182
-
resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-6.1.4.tgz#34ee2f7a86e3689f15961b296e82934e0f85afd6"
11183
-
integrity sha512-jXVZb3llTQ5j4C/I03GxKjujmhKex9Xo5JDZo/pRjScHSr4NoeMjPKWThyWVlWDM1v5YSEcsRJebVfTvq9SR5Q==
11107
+
expo-application@~7.0.7:
11108
+
version "7.0.7"
11109
+
resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-7.0.7.tgz#8b2802650381042baa3b74297cdeb5f9628b7c6c"
11110
+
integrity sha512-Jt1/qqnoDUbZ+bK91+dHaZ1vrPDtRBOltRa681EeedkisqguuEeUx4UHqwVyDK2oHWsK6lO3ojetoA4h8OmNcg==
11184
11111
11185
-
expo-asset@~11.1.5:
11186
-
version "11.1.5"
11187
-
resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-11.1.5.tgz#5cad3d781c9d0edec31b9b3adbba574eb4d5dd3e"
11188
-
integrity sha512-GEQDCqC25uDBoXHEnXeBuwpeXvI+3fRGvtzwwt0ZKKzWaN+TgeF8H7c76p3Zi4DfBMFDcduM0CmOvJX+yCCLUQ==
11112
+
expo-asset@~12.0.9:
11113
+
version "12.0.9"
11114
+
resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-12.0.9.tgz#e5b06b793bfc45a76b70a2253862351effa42e73"
11115
+
integrity sha512-vrdRoyhGhBmd0nJcssTSk1Ypx3Mbn/eXaaBCQVkL0MJ8IOZpAObAjfD5CTy8+8RofcHEQdh3wwZVCs7crvfOeg==
11189
11116
dependencies:
11190
-
"@expo/image-utils" "^0.7.4"
11191
-
expo-constants "~17.1.5"
11117
+
"@expo/image-utils" "^0.8.7"
11118
+
expo-constants "~18.0.9"
11192
11119
11193
-
expo-blur@~14.1.5:
11194
-
version "14.1.5"
11195
-
resolved "https://registry.yarnpkg.com/expo-blur/-/expo-blur-14.1.5.tgz#910712389e19286ccdc136275bf569f427aa05ef"
11196
-
integrity sha512-CCLJHxN4eoAl06ESKT3CbMasJ98WsjF9ZQEJnuxtDb9ffrYbZ+g9ru84fukjNUOTtc8A8yXE5z8NgY1l0OMrmQ==
11120
+
expo-blur@~15.0.7:
11121
+
version "15.0.7"
11122
+
resolved "https://registry.yarnpkg.com/expo-blur/-/expo-blur-15.0.7.tgz#a11466e697fbf2b272444a38722065e60d0ecbe5"
11123
+
integrity sha512-SugQQbQd+zRPy8z2G5qDD4NqhcD7srBF7fN7O7yq6q7ZFK59VWvpDxtMoUkmSfdxgqONsrBN/rLdk00USADrMg==
11197
11124
11198
-
expo-build-properties@~0.14.6:
11199
-
version "0.14.6"
11200
-
resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.14.6.tgz#bb1db4b53683c6064bea4e8625c5abaf934f6941"
11201
-
integrity sha512-46+gcnFxb2Dz2TFEhFlEJ11qT85THlPtFgkRKQ3a11S3+stgDzDBC2WwbXS5/GMINLIDdBFbbZlajgVND0tMnQ==
11125
+
expo-build-properties@~1.0.9:
11126
+
version "1.0.9"
11127
+
resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-1.0.9.tgz#71f0ce813a8431937a3db25a91f1bb4b1a6214ae"
11128
+
integrity sha512-2icttCy3OPTk/GWIFt+vwA+0hup53jnmYb7JKRbvNvrrOrz+WblzpeoiaOleI2dYG/vjwpNO8to8qVyKhYJtrQ==
11202
11129
dependencies:
11203
11130
ajv "^8.11.0"
11204
11131
semver "^7.6.0"
11205
11132
11206
-
expo-camera@~16.1.8:
11207
-
version "16.1.8"
11208
-
resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-16.1.8.tgz#6c30dfb5c982795351f1053c36f048a11869e21b"
11209
-
integrity sha512-NpBbkUhHG6cs2TNUQBFSEtXb5j1/kTPIhiuqBcHosZG2yb/8MuM/ii4McJaqfe/6pn0YPqkH4k0Uod11DOSLmw==
11133
+
expo-camera@~17.0.8:
11134
+
version "17.0.8"
11135
+
resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-17.0.8.tgz#f00cd97b59fce4db33d121cc0d6bccdc377283ed"
11136
+
integrity sha512-BIGvS+3myaYqMtk2VXWgdcOMrewH+55BttmaYqq9tv9+o5w+RAbH9wlJSt0gdaswikiyzoWT7mOnLDleYClXmw==
11210
11137
dependencies:
11211
11138
invariant "^2.2.4"
11212
11139
11213
-
expo-clipboard@~7.1.4:
11214
-
version "7.1.4"
11215
-
resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-7.1.4.tgz#f2cda0d3cbfd2d307aa85dd7ba6843d6bbaf4227"
11216
-
integrity sha512-NHhfKnrzb4o0PacUKD93ByadU0JmPBoFTFYbbFJZ9OAX6SImpSqG5gfrMUR3vVj4Qx9f1LpMcdAv5lBzv868ow==
11140
+
expo-clipboard@~8.0.7:
11141
+
version "8.0.7"
11142
+
resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-8.0.7.tgz#f81d279036408bbe074ef748623e1ae6f170d391"
11143
+
integrity sha512-zvlfFV+wB2QQrQnHWlo0EKHAkdi2tycLtE+EXFUWTPZYkgu1XcH+aiKfd4ul7Z0SDF+1IuwoiW9AA9eO35aj3Q==
11217
11144
11218
-
expo-constants@17.0.3, expo-constants@^13.0.2, expo-constants@~17.1.5, expo-constants@~17.1.6:
11219
-
version "17.0.3"
11220
-
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-17.0.3.tgz#a05b38e0417d59759ece1642b4d483889e04dbda"
11221
-
integrity sha512-lnbcX2sAu8SucHXEXxSkhiEpqH+jGrf+TF+MO6sHWIESjwOUVVYlT8qYdjR9xbxWmqFtrI4KV44FkeJf2DaFjQ==
11145
+
expo-constants@18.0.8, expo-constants@^13.0.2, expo-constants@~18.0.8, expo-constants@~18.0.9:
11146
+
version "18.0.8"
11147
+
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-18.0.8.tgz#14f8388136de6e83d651bd68b326a675dfb7051c"
11148
+
integrity sha512-Tetphsx6RVImCTZeBAclRQMy0WOODY3y6qrUoc88YGUBVm8fAKkErCSWxLTCc6nFcJxdoOMYi62LgNIUFjZCLA==
11222
11149
dependencies:
11223
-
"@expo/config" "~10.0.4"
11224
-
"@expo/env" "~0.4.0"
11150
+
"@expo/config" "~12.0.8"
11151
+
"@expo/env" "~2.0.7"
11225
11152
11226
-
expo-dev-client@~5.2.0:
11227
-
version "5.2.0"
11228
-
resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-5.2.0.tgz#a3d4f8c79fafe747ea8d0bfc6e3918b02011025c"
11229
-
integrity sha512-7GgO3BGlFM016Zkp3c9bUbi35pubqKh8Z/iHC1arIvckEjDrLER+92zfUTFr49XLk2o64arItRPJyQL49pA/hg==
11153
+
expo-dev-client@~6.0.12:
11154
+
version "6.0.12"
11155
+
resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-6.0.12.tgz#ac801a488dfde5fa2a782fc0c430d8996b128f63"
11156
+
integrity sha512-Knr2abq0r6ALASsZtrX9QD4V0vP4ZL18iDVF5lgr6iFYawbuqQHuJRktIUETimu6qLusJK8Z3kZRabAdNqT+qw==
11230
11157
dependencies:
11231
-
expo-dev-launcher "5.1.12"
11232
-
expo-dev-menu "6.1.11"
11233
-
expo-dev-menu-interface "1.10.0"
11234
-
expo-manifests "~0.16.5"
11235
-
expo-updates-interface "~1.1.0"
11158
+
expo-dev-launcher "6.0.11"
11159
+
expo-dev-menu "7.0.11"
11160
+
expo-dev-menu-interface "2.0.0"
11161
+
expo-manifests "~1.0.8"
11162
+
expo-updates-interface "~2.0.0"
11236
11163
11237
-
expo-dev-launcher@5.1.12:
11238
-
version "5.1.12"
11239
-
resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-5.1.12.tgz#cad239327e258d84c4221a212ecd30a051f9097d"
11240
-
integrity sha512-ALedYerjJtSiPa95l41zMAO/m1m1kgS39i2H0io+6Ix4OksYNhILNzMNB1qDht/oWt2yjLBvXfWULfs5+3vnaA==
11164
+
expo-dev-launcher@6.0.11:
11165
+
version "6.0.11"
11166
+
resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-6.0.11.tgz#223f439f70319e42fcf98a9ccd6af7390588613d"
11167
+
integrity sha512-5wcuevQ8l57uWVqHWpARwZb57doUbzPxorhJXpYLza1tJbkuQBb1lpjeJ1Di47bGMDq0jRw6yMFkF6N9nKX/OQ==
11241
11168
dependencies:
11242
-
ajv "8.11.0"
11243
-
expo-dev-menu "6.1.11"
11244
-
expo-manifests "~0.16.5"
11245
-
resolve-from "^5.0.0"
11169
+
expo-dev-menu "7.0.11"
11170
+
expo-manifests "~1.0.8"
11246
11171
11247
-
expo-dev-menu-interface@1.10.0:
11248
-
version "1.10.0"
11249
-
resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.10.0.tgz#04671bda3c163d1d7b9438ce7095c3913a3f53f9"
11250
-
integrity sha512-NxtM/qot5Rh2cY333iOE87dDg1S8CibW+Wu4WdLua3UMjy81pXYzAGCZGNOeY7k9GpNFqDPNDXWyBSlk9r2pBg==
11172
+
expo-dev-menu-interface@2.0.0:
11173
+
version "2.0.0"
11174
+
resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-2.0.0.tgz#c0d6db65eb4abc44a2701bc2303744619ad05ca6"
11175
+
integrity sha512-BvAMPt6x+vyXpThsyjjOYyjwfjREV4OOpQkZ0tNl+nGpsPfcY9mc6DRACoWnH9KpLzyIt3BOgh3cuy/h/OxQjw==
11251
11176
11252
-
expo-dev-menu@6.1.11:
11253
-
version "6.1.11"
11254
-
resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-6.1.11.tgz#829118326bcd618aec3941cfbb5b32fd3dd72379"
11255
-
integrity sha512-yrlDXGcqlbQX3Pgw/iPLRea7+pHFC17MdtkNaXYQ5K5u64mn9l4KZ2ZYUeQ8cKDG5l8ZdC4F9R9vfCJYFi82AA==
11177
+
expo-dev-menu@7.0.11:
11178
+
version "7.0.11"
11179
+
resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-7.0.11.tgz#5e3bd251c0ddf8f909c3ce63ee291aa3185828a8"
11180
+
integrity sha512-xJ2scPxfHKyANTMgexK9tH7xunhsPEynuwpsssiS2syCWzvo+Mtv3euOLlkUb/IRt1JTKDxTMZBgChkaq5juSQ==
11256
11181
dependencies:
11257
-
expo-dev-menu-interface "1.10.0"
11182
+
expo-dev-menu-interface "2.0.0"
11258
11183
11259
-
expo-device@7.1.4, expo-device@~4.1.1, expo-device@~7.1.4:
11184
+
expo-device@7.1.4, expo-device@~4.1.1:
11260
11185
version "7.1.4"
11261
11186
resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-7.1.4.tgz#84ae7c2520cc45f15a9cb0433ae1226c33f7a8ef"
11262
11187
integrity sha512-HS04IiE1Fy0FRjBLurr9e5A6yj3kbmQB+2jCZvbSGpsjBnCLdSk/LCii4f5VFhPIBWJLyYuN5QqJyEAw6BcS4Q==
11263
11188
dependencies:
11264
11189
ua-parser-js "^0.7.33"
11265
11190
11266
-
expo-eas-client@~0.14.3:
11267
-
version "0.14.3"
11268
-
resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.14.3.tgz#3fc22378cc454953ecba88f70c16c20a74e0aa27"
11269
-
integrity sha512-BW2mSNEjFRFC8/CbkMQ3mfVhBdeZIjZhNfncw7PP80xEptLWhVjGTqwG8Usi0/yPpIu/YNYgop+XGMfhXyh9uA==
11191
+
expo-device@~8.0.8:
11192
+
version "8.0.8"
11193
+
resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-8.0.8.tgz#2d6e3dbc4e910fcffa90a371112d9da0001f0396"
11194
+
integrity sha512-t515WOkeVgIeO3izj+FoXodKTHiSxZ2uF5E9YvCwiR4kANAjvyjFP3vSls2Utjx5ss8y652pZTgh3tOYQmwuZA==
11195
+
dependencies:
11196
+
ua-parser-js "^0.7.33"
11270
11197
11271
-
expo-file-system@~18.1.10:
11272
-
version "18.1.10"
11273
-
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-18.1.10.tgz#22f3bcc2c9a7edcd6bba5ece3c90a8467fda47be"
11274
-
integrity sha512-SyaWg+HitScLuyEeSG9gMSDT0hIxbM9jiZjSBP9l9zMnwZjmQwsusE6+7qGiddxJzdOhTP4YGUfvEzeeS0YL3Q==
11198
+
expo-eas-client@~1.0.7:
11199
+
version "1.0.7"
11200
+
resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-1.0.7.tgz#9c9c7909d7bb9b6ceb4bef6875f1b9119ef22a8c"
11201
+
integrity sha512-Q/b1X0fM+3beqqvffok14pjxMF600NxopdSr9WJY61fF4xllcVnALS0kEudffp9ihMOfcb5xWYqzKj6jMqYDIw==
11202
+
11203
+
expo-file-system@~19.0.14:
11204
+
version "19.0.14"
11205
+
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-19.0.14.tgz#1169fd9fcba8a5f1ef8e3c232ef8c62274ac4803"
11206
+
integrity sha512-0CA7O5IYhab11TlxQlJAx0Xm9pdkk/zEHNiW+Hh/T4atWi9U/J38CIp7iNYSrBvy9dC3rJbze5D1ANcKKr4mSQ==
11275
11207
11276
-
expo-font@~13.3.1:
11277
-
version "13.3.1"
11278
-
resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-13.3.1.tgz#ed69ae14f263a4c447efb2615b60d9e045372e68"
11279
-
integrity sha512-d+xrHYvSM9WB42wj8vP9OOFWyxed5R1evphfDb6zYBmC1dA9Hf89FpT7TNFtj2Bk3clTnpmVqQTCYbbA2P3CLg==
11208
+
expo-font@~14.0.8:
11209
+
version "14.0.8"
11210
+
resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-14.0.8.tgz#3971507cedaa8da7f0ac21f4c4c4d2b62ca754cc"
11211
+
integrity sha512-bTUHaJWRZ7ywP8dg3f+wfOwv6RwMV3mWT2CDUIhsK70GjNGlCtiWOCoHsA5Od/esPaVxqc37cCBvQGQRFStRlA==
11280
11212
dependencies:
11281
11213
fontfaceobserver "^2.1.0"
11282
11214
11283
-
expo-haptics@~14.1.4:
11284
-
version "14.1.4"
11285
-
resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-14.1.4.tgz#442f48b1bdf83484d4fcadc653445aaae6049b70"
11286
-
integrity sha512-QZdE3NMX74rTuIl82I+n12XGwpDWKb8zfs5EpwsnGi/D/n7O2Jd4tO5ivH+muEG/OCJOMq5aeaVDqqaQOhTkcA==
11215
+
expo-haptics@~15.0.7:
11216
+
version "15.0.7"
11217
+
resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-15.0.7.tgz#384bb873d7eca7b141f85e4f300b75eab68ebfe9"
11218
+
integrity sha512-7flWsYPrwjJxZ8x82RiJtzsnk1Xp9ahnbd9PhCy3NnsemyMApoWIEUr4waPqFr80DtiLZfhD9VMLL1CKa8AImQ==
11287
11219
11288
11220
expo-image-crop-tool@^0.1.8:
11289
11221
version "0.1.8"
11290
11222
resolved "https://registry.yarnpkg.com/expo-image-crop-tool/-/expo-image-crop-tool-0.1.8.tgz#3e9f34825cf5d7dad1ef2786615571b078ece4e7"
11291
11223
integrity sha512-UlS1zV7JewUzuZzVT9aA0vFD1+dt+pU60ILgt3ntQl4G9SeDJ9bB/+ylz9dzn6BjZecUQkGJmbCQ3H7jGZeZMA==
11292
11224
11293
-
expo-image-loader@~5.1.0:
11294
-
version "5.1.0"
11295
-
resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-5.1.0.tgz#f7d65f9b9a9714eaaf5d50a406cb34cb25262153"
11296
-
integrity sha512-sEBx3zDQIODWbB5JwzE7ZL5FJD+DK3LVLWBVJy6VzsqIA6nDEnSFnsnWyCfCTSvbGigMATs1lgkC2nz3Jpve1Q==
11297
-
11298
11225
expo-image-loader@~6.0.0:
11299
11226
version "6.0.0"
11300
11227
resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-6.0.0.tgz#15230442cbb90e101c080a4c81e37d974e43e072"
11301
11228
integrity sha512-nKs/xnOGw6ACb4g26xceBD57FKLFkSwEUTDXEDF3Gtcu3MqF3ZIYd3YM+sSb1/z9AKV1dYT7rMSGVNgsveXLIQ==
11302
11229
11303
-
expo-image-manipulator@~13.1.7:
11304
-
version "13.1.7"
11305
-
resolved "https://registry.yarnpkg.com/expo-image-manipulator/-/expo-image-manipulator-13.1.7.tgz#e891ce9b49d75962eafdf5b7d670116583379e76"
11306
-
integrity sha512-DBy/Xdd0E/yFind14x36XmwfWuUxOHI/oH97/giKjjPaRc2dlyjQ3tuW3x699hX6gAs9Sixj5WEJ1qNf3c8sag==
11230
+
expo-image-manipulator@~14.0.7:
11231
+
version "14.0.7"
11232
+
resolved "https://registry.yarnpkg.com/expo-image-manipulator/-/expo-image-manipulator-14.0.7.tgz#e0798d849bcb4e58b570cb74159fd1ffb56edb5e"
11233
+
integrity sha512-NMHssudagLTAT6ZQ2upnJYT+gVLAt5vC+iD+TBIdV3ZS44yhrq+p2gCrYahDvtVywfmTI5WsbH+Sh1BXbmJUQw==
11307
11234
dependencies:
11308
-
expo-image-loader "~5.1.0"
11235
+
expo-image-loader "~6.0.0"
11309
11236
11310
-
expo-image-picker@17.0.5:
11311
-
version "17.0.5"
11312
-
resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-17.0.5.tgz#236607a90f2c8ae63d377405d2bf295cfb192b84"
11313
-
integrity sha512-K/fWkhNdZOPKKxjH6/+gnmqqOavBZt5lD5LI5BhdcCeTHt91GuBcTm5PM5AvR3eR0Vi5ZZqIKBTMVss8jLIoWg==
11237
+
expo-image-picker@~17.0.8:
11238
+
version "17.0.8"
11239
+
resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-17.0.8.tgz#c4430994de81f3e9995c9ce77cb76403213b17d7"
11240
+
integrity sha512-489ByhVs2XPoAu9zodivAKLv7hG4S/FOe8hO/C2U6jVxmRjpAKakKNjMml0IwWjf1+c/RYBqm1XxKaZ+vq/fDQ==
11314
11241
dependencies:
11315
11242
expo-image-loader "~6.0.0"
11316
11243
11317
-
expo-image@^2.4.0:
11318
-
version "2.4.0"
11319
-
resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-2.4.0.tgz#02f7fd743387206914cd431a6367f5be53509e3e"
11320
-
integrity sha512-TQ/LvrtJ9JBr+Tf198CAqflxcvdhuj7P24n0LQ1jHaWIVA7Z+zYKbYHnSMPSDMul/y0U46Z5bFLbiZiSidgcNw==
11244
+
expo-image@~3.0.8:
11245
+
version "3.0.8"
11246
+
resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-3.0.8.tgz#ec76f7a300712cc659b197e5478362426e411424"
11247
+
integrity sha512-L83fTHVjvE5hACxUXPk3dpABteI/IypeqxKMeOAAcT2eB/jbqT53ddsYKEvKAP86eoByQ7+TCtw9AOUizEtaTQ==
11321
11248
11322
-
expo-intent-launcher@^12.1.5:
11323
-
version "12.1.5"
11324
-
resolved "https://registry.yarnpkg.com/expo-intent-launcher/-/expo-intent-launcher-12.1.5.tgz#ed3051292b33e131535d9b35ca20b48cf56d1364"
11325
-
integrity sha512-KmCc/dJHTnVf2ZdrZhYSkvQ588K7qQW+nBGfJj5woCwhEXwYz1xOLQcShnPQgQWRf8conAvQDkI3pbjYNPcECw==
11249
+
expo-intent-launcher@~13.0.7:
11250
+
version "13.0.7"
11251
+
resolved "https://registry.yarnpkg.com/expo-intent-launcher/-/expo-intent-launcher-13.0.7.tgz#c86488d47f8fba908a9dd0d1460a3ea06b0cefdc"
11252
+
integrity sha512-4em7utK59gftgBwokpw+TQkyY27C5JH28LLrM/ZTABIsAMRUEqS+Inzd/xtN0hvxo2Z8aTsd+N1WRcCdOehYdg==
11326
11253
11327
11254
expo-json-utils@~0.15.0:
11328
11255
version "0.15.0"
11329
11256
resolved "https://registry.yarnpkg.com/expo-json-utils/-/expo-json-utils-0.15.0.tgz#6723574814b9e6b0a90e4e23662be76123ab6ae9"
11330
11257
integrity sha512-duRT6oGl80IDzH2LD2yEFWNwGIC2WkozsB6HF3cDYNoNNdUvFk6uN3YiwsTsqVM/D0z6LEAQ01/SlYvN+Fw0JQ==
11331
11258
11332
-
expo-keep-awake@~14.1.4:
11333
-
version "14.1.4"
11334
-
resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-14.1.4.tgz#80197728563e0e17523e5a606fbd6fbed9639503"
11335
-
integrity sha512-wU9qOnosy4+U4z/o4h8W9PjPvcFMfZXrlUoKTMBW7F4pLqhkkP/5G4EviPZixv4XWFMjn1ExQ5rV6BX8GwJsWA==
11259
+
expo-keep-awake@~15.0.7:
11260
+
version "15.0.7"
11261
+
resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-15.0.7.tgz#4eada556e1cca6c9c2e5aa39478fd01816cd0bc9"
11262
+
integrity sha512-CgBNcWVPnrIVII5G54QDqoE125l+zmqR4HR8q+MQaCfHet+dYpS5vX5zii/RMayzGN4jPgA4XYIQ28ePKFjHoA==
11336
11263
11337
-
expo-linear-gradient@~14.1.5:
11338
-
version "14.1.5"
11339
-
resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-14.1.5.tgz#414bf0c8145089087198d4dd5a419eb324af2a02"
11340
-
integrity sha512-BSN3MkSGLZoHMduEnAgfhoj3xqcDWaoICgIr4cIYEx1GcHfKMhzA/O4mpZJ/WC27BP1rnAqoKfbclk1eA70ndQ==
11264
+
expo-linear-gradient@~15.0.7:
11265
+
version "15.0.7"
11266
+
resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-15.0.7.tgz#d1ebbda5ecc58afb58398f5a06affd0e83894149"
11267
+
integrity sha512-yF+y+9Shpr/OQFfy/wglB/0bykFMbwHBTuMRa5Of/r2P1wbkcacx8rg0JsUWkXH/rn2i2iWdubyqlxSJa3ggZA==
11341
11268
11342
-
expo-linking@~7.1.5:
11343
-
version "7.1.5"
11344
-
resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-7.1.5.tgz#99633892712d5442ddb1c6c3857346eb7a67119b"
11345
-
integrity sha512-8g20zOpROW78bF+bLI4a3ZWj4ntLgM0rCewKycPL0jk9WGvBrBtFtwwADJgOiV1EurNp3lcquerXGlWS+SOQyA==
11269
+
expo-linking@~8.0.8:
11270
+
version "8.0.8"
11271
+
resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-8.0.8.tgz#ad348c133d048043990177f67dfb6a89bf628a6e"
11272
+
integrity sha512-MyeMcbFDKhXh4sDD1EHwd0uxFQNAc6VCrwBkNvvvufUsTYFq3glTA9Y8a+x78CPpjNqwNAamu74yIaIz7IEJyg==
11346
11273
dependencies:
11347
-
expo-constants "~17.1.6"
11274
+
expo-constants "~18.0.8"
11348
11275
invariant "^2.2.4"
11349
11276
11350
-
expo-localization@~16.1.5:
11351
-
version "16.1.5"
11352
-
resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-16.1.5.tgz#b2877f514669924b2a99d7f85d90e2378bee9e10"
11353
-
integrity sha512-dymvf0S11afyMeRbnoXd2iWWzFYwg21jHTnLBO/7ObNO1rKlYpus0ghVDnh+sJFV2u7s518e/JTcAqNR69EZkw==
11277
+
expo-localization@~17.0.7:
11278
+
version "17.0.7"
11279
+
resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-17.0.7.tgz#24559be23cb7d9757fd8f8c88380d7b4ee2339a2"
11280
+
integrity sha512-ACg1B0tJLNa+f8mZfAaNrMyNzrrzHAARVH1sHHvh+LolKdQpgSKX69Uroz1Llv4C71furpwBklVStbNcEwVVVA==
11354
11281
dependencies:
11355
11282
rtl-detect "^1.0.2"
11356
11283
11357
-
expo-location@~18.1.6:
11358
-
version "18.1.6"
11359
-
resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-18.1.6.tgz#b855e14e8b4e29a1bde470fc4dc2a341abecf631"
11360
-
integrity sha512-l5dQQ2FYkrBgNzaZN1BvSmdhhcztFOUucu2kEfDBMV4wSIuTIt/CKsho+F3RnAiWgvui1wb1WTTf80E8zq48hA==
11284
+
expo-location@~19.0.7:
11285
+
version "19.0.7"
11286
+
resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-19.0.7.tgz#58ab5b9b59db3a26d0495c19e719d5f559948b1c"
11287
+
integrity sha512-YNkh4r9E6ECbPkBCAMG5A5yHDgS0pw+Rzyd0l2ZQlCtjkhlODB55nMCKr5CZnUI0mXTkaSm8CwfoCO8n2MpYfg==
11361
11288
11362
-
expo-manifests@~0.16.5:
11363
-
version "0.16.5"
11364
-
resolved "https://registry.yarnpkg.com/expo-manifests/-/expo-manifests-0.16.5.tgz#bb57ceff3db4eb74679d4a155b2ca2050375ce10"
11365
-
integrity sha512-zLUeJogn2C7qOE75Zz7jcmJorMfIbSRR35ctspN0OK/Hq/+PAAptA8p9jNVC8xp/91uP9uI8f3xPhh+A11eR2A==
11289
+
expo-manifests@~1.0.8:
11290
+
version "1.0.8"
11291
+
resolved "https://registry.yarnpkg.com/expo-manifests/-/expo-manifests-1.0.8.tgz#2ee1b33f974481d8cc5fc76352e0c78de5ff74d6"
11292
+
integrity sha512-nA5PwU2uiUd+2nkDWf9e71AuFAtbrb330g/ecvuu52bmaXtN8J8oiilc9BDvAX0gg2fbtOaZdEdjBYopt1jdlQ==
11366
11293
dependencies:
11367
-
"@expo/config" "~11.0.10"
11294
+
"@expo/config" "~12.0.8"
11368
11295
expo-json-utils "~0.15.0"
11369
11296
11370
-
expo-media-library@~17.1.7:
11371
-
version "17.1.7"
11372
-
resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-17.1.7.tgz#71ed3d2d246d33410d6aecc335098a23519bd890"
11373
-
integrity sha512-hLCoMvlhjtt+iYxPe71P1F6t06mYGysuNOfjQzDbbf64PCkglCZJYmywPyUSV1V5Hu9DhRj//gEg+Ki+7VWXog==
11297
+
expo-media-library@~18.2.0:
11298
+
version "18.2.0"
11299
+
resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-18.2.0.tgz#b7515e25df5951e6b579b2ca1bee934ed206fa43"
11300
+
integrity sha512-aIYLIqmU8LFWrQcfZdwg9f/iWm0wC8uhZ7HiUiTnrigtxf417cVvNokX9afXpIOKBHAHRjVIbcs1nN8KZDE2Fw==
11374
11301
11375
-
expo-modules-autolinking@2.1.11:
11376
-
version "2.1.11"
11377
-
resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-2.1.11.tgz#efc2e756ccc8b9e0b927596ba074aefe31b5cbe4"
11378
-
integrity sha512-KrWQo+cE4gWYNePBBhmHGVzf63gYV19ZLXe9EIH3GHTkViVzIX+Lp618H/7GxfawpN5kbhvilATH1QEKKnUUww==
11302
+
expo-modules-autolinking@3.0.12:
11303
+
version "3.0.12"
11304
+
resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-3.0.12.tgz#3e02176287d21e3c5a13000d45dbed3cdeefa128"
11305
+
integrity sha512-vZijQgdtmhAhL8H3C0gEjWC0gGBVPVQdVZM92Zqcu2vXjRNDSqIxYXRTS3UT0nZzFltdqmeZAGxvWspxQLYtOQ==
11379
11306
dependencies:
11380
11307
"@expo/spawn-async" "^1.7.2"
11381
11308
chalk "^4.1.0"
11382
11309
commander "^7.2.0"
11383
-
find-up "^5.0.0"
11384
11310
glob "^10.4.2"
11385
11311
require-from-string "^2.0.2"
11386
11312
resolve-from "^5.0.0"
11387
11313
11388
-
expo-modules-core@2.4.0:
11389
-
version "2.4.0"
11390
-
resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-2.4.0.tgz#3081d62fadff913090cc5abfe46d9ec6b0e75789"
11391
-
integrity sha512-Ko5eHBdvuMykjw9P9C9PF54/wBSsGOxaOjx92I5BwgKvEmUwN3UrXFV4CXzlLVbLfSYUQaLcB220xmPfgvT7Fg==
11314
+
expo-modules-core@3.0.17:
11315
+
version "3.0.17"
11316
+
resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-3.0.17.tgz#3d7648eb256f34f9992afa251ad8d46c3ca49126"
11317
+
integrity sha512-P1jZn8yjWi4jSCH+r9A1NykLR+0JtFYprJgYwnZ1EVFRtw+DoMjir0OexM9ehCuBg8sKDCbzCUAgm/JFnpjQww==
11392
11318
dependencies:
11393
11319
invariant "^2.2.4"
11394
11320
11395
-
expo-notifications@~0.31.3:
11396
-
version "0.31.3"
11397
-
resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.31.3.tgz#eb82c9975e26dcc4fa694b79970792c897ad8d16"
11398
-
integrity sha512-AATxKoav5ZvwcRel2SKYNZc+EvOAKvAjxyBezC8y3J5fMNe/uKIhMzh3FN4fKdOi9ao/UBHkvLiUO2MqVnvBNg==
11321
+
expo-notifications@~0.32.11:
11322
+
version "0.32.11"
11323
+
resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.32.11.tgz#0d90d08efdf4693ceaa32ab8bb7455d56424c441"
11324
+
integrity sha512-4rLWC9Q4B7aQywXn9cKAlNY4p00CYKLJ23qZ0Pp/whkX0NxmI4MwJ20YhreV08gjHTTTWHpYU7jqYWpsjtPIxA==
11399
11325
dependencies:
11400
-
"@expo/image-utils" "^0.7.4"
11326
+
"@expo/image-utils" "^0.8.7"
11401
11327
"@ide/backoff" "^1.0.0"
11402
11328
abort-controller "^3.0.0"
11403
11329
assert "^2.0.0"
11404
11330
badgin "^1.1.5"
11405
-
expo-application "~6.1.4"
11406
-
expo-constants "~17.1.6"
11331
+
expo-application "~7.0.7"
11332
+
expo-constants "~18.0.8"
11407
11333
11408
11334
expo-pwa@0.0.127:
11409
11335
version "0.0.127"
···
11415
11341
commander "2.20.0"
11416
11342
update-check "1.5.3"
11417
11343
11418
-
expo-screen-orientation@~8.1.7:
11419
-
version "8.1.7"
11420
-
resolved "https://registry.yarnpkg.com/expo-screen-orientation/-/expo-screen-orientation-8.1.7.tgz#3751b441f2bfcbde798b1508c0ff9f099f4be911"
11421
-
integrity sha512-nYwadYtdU6mMDk0MCHMPPPQtBoeFYJ2FspLRW+J35CMLqzE4nbpwGeiImfXzkvD94fpOCfI4KgLj5vGauC3pfA==
11344
+
expo-screen-orientation@~9.0.7:
11345
+
version "9.0.7"
11346
+
resolved "https://registry.yarnpkg.com/expo-screen-orientation/-/expo-screen-orientation-9.0.7.tgz#27eb8c9f57af22e1917fc025d318dd9bf31e05c3"
11347
+
integrity sha512-UH/XlB9eMw+I2cyHSkXhAHRAPk83WyA3k5bst7GLu14wRuWiTch9fb6I7qEJK5CN6+XelcWxlBJymys6Fr/FKA==
11422
11348
11423
-
expo-sharing@~13.1.5:
11424
-
version "13.1.5"
11425
-
resolved "https://registry.yarnpkg.com/expo-sharing/-/expo-sharing-13.1.5.tgz#73d86cdcc037b46ddc82be224dfd3d6bceec497c"
11426
-
integrity sha512-X/5sAEiWXL2kdoGE3NO5KmbfcmaCWuWVZXHu8OQef7Yig4ZgHFkGD11HKJ5KqDrDg+SRZe4ISd6MxE7vGUgm4w==
11349
+
expo-sharing@~14.0.7:
11350
+
version "14.0.7"
11351
+
resolved "https://registry.yarnpkg.com/expo-sharing/-/expo-sharing-14.0.7.tgz#64845ea569c725a9a32705be7ef772e556134e1c"
11352
+
integrity sha512-t/5tR8ZJNH6tMkHXlF7453UafNIfrpfTG+THN9EMLC4Wsi4bJuESPm3NdmWDg2D4LDALJI/LQo0iEnLAd5Sp4g==
11427
11353
11428
-
expo-splash-screen@~0.30.9:
11429
-
version "0.30.9"
11430
-
resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.30.9.tgz#8f2a86b3b802ea46065fc761ed60e77e81bdb84c"
11431
-
integrity sha512-curHUaZxUTZ2dWvz32ao3xPv5mJr1LBqn5V8xm/IULAehB9RGCn8iKiROMN1PYebSG+56vPMuJmBm9P+ayvJpA==
11354
+
expo-splash-screen@~31.0.10:
11355
+
version "31.0.10"
11356
+
resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-31.0.10.tgz#e0edd9782715b82a8eed34d5ebde778b79f850b4"
11357
+
integrity sha512-i6g9IK798mae4yvflstQ1HkgahIJ6exzTCTw4vEdxV0J2SwiW3Tj+CwRjf0te7Zsb+7dDQhBTmGZwdv00VER2A==
11432
11358
dependencies:
11433
-
"@expo/prebuild-config" "^9.0.6"
11359
+
"@expo/prebuild-config" "^54.0.3"
11434
11360
11435
-
expo-structured-headers@~4.1.0:
11436
-
version "4.1.0"
11437
-
resolved "https://registry.yarnpkg.com/expo-structured-headers/-/expo-structured-headers-4.1.0.tgz#5475fc3f9559701cc755fd2d50605f8817d42ad0"
11438
-
integrity sha512-2X+aUNzC/qaw7/WyUhrVHNDB0uQ5rE12XA2H/rJXaAiYQSuOeU90ladaN0IJYV9I2XlhYrjXLktLXWbO7zgbag==
11361
+
expo-structured-headers@~5.0.0:
11362
+
version "5.0.0"
11363
+
resolved "https://registry.yarnpkg.com/expo-structured-headers/-/expo-structured-headers-5.0.0.tgz#b3cc223a7a58964652093f088a8988316db9ed9d"
11364
+
integrity sha512-RmrBtnSphk5REmZGV+lcdgdpxyzio5rJw8CXviHE6qH5pKQQ83fhMEcigvrkBdsn2Efw2EODp4Yxl1/fqMvOZw==
11439
11365
11440
-
expo-system-ui@~5.0.8:
11441
-
version "5.0.8"
11442
-
resolved "https://registry.yarnpkg.com/expo-system-ui/-/expo-system-ui-5.0.8.tgz#1eaaa95cfa8b5e20750e5fb30918635a58276199"
11443
-
integrity sha512-2sI7ALq3W8sKKa3FRW7PmuNznk+48cb1VzFy96vYZLZgTDZViz+fEJNdp1RHgLui/mAl3f8md1LneygSJvZ1EQ==
11366
+
expo-system-ui@~6.0.7:
11367
+
version "6.0.7"
11368
+
resolved "https://registry.yarnpkg.com/expo-system-ui/-/expo-system-ui-6.0.7.tgz#24bc3d36df114f1ccb7a6e3fa26f88c7a7e03788"
11369
+
integrity sha512-NT+/r/BOg08lFI9SZO2WFi9X1ZmawkVStknioWzQq6Mt4KinoMS6yl3eLbyOLM3LoptN13Ywfo4W5KHA6TV9Ow==
11444
11370
dependencies:
11445
-
"@react-native/normalize-colors" "0.79.3"
11371
+
"@react-native/normalize-colors" "0.81.4"
11446
11372
debug "^4.3.2"
11447
11373
11448
-
expo-task-manager@~13.1.5:
11449
-
version "13.1.5"
11450
-
resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-13.1.5.tgz#fc09bdc9562339aa71de4ed2e7ff17491e6b6ee2"
11451
-
integrity sha512-9jspZZ6y6hwo6QBwmfsUUX6sY4Mnrw8170LnOqrVfRuClkGaMrqDeBa9YUFTDt/BNYZ/3/QlZZ5QUHT9ziROfQ==
11374
+
expo-task-manager@~14.0.7:
11375
+
version "14.0.7"
11376
+
resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-14.0.7.tgz#87d89ec73a85d973626be0c363bfa24ba9c4998c"
11377
+
integrity sha512-wZRksJg4+Me1wDYmv0wnGh5I30ZOkEpjdXECp/cTKbON1ISQgnaz+4B2eJtljvEPYC1ocBdpAGmz9N0CPtc4mg==
11452
11378
dependencies:
11453
-
unimodules-app-loader "~5.1.3"
11379
+
unimodules-app-loader "~6.0.7"
11454
11380
11455
-
expo-updates-interface@~1.1.0:
11456
-
version "1.1.0"
11457
-
resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-1.1.0.tgz#62497d4647b381da9fdb68868ed180203ae737ef"
11458
-
integrity sha512-DeB+fRe0hUDPZhpJ4X4bFMAItatFBUPjw/TVSbJsaf3Exeami+2qbbJhWkcTMoYHOB73nOIcaYcWXYJnCJXO0w==
11381
+
expo-updates-interface@~2.0.0:
11382
+
version "2.0.0"
11383
+
resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-2.0.0.tgz#7721cb64c37bcb46b23827b2717ef451a9378749"
11384
+
integrity sha512-pTzAIufEZdVPKql6iMi5ylVSPqV1qbEopz9G6TSECQmnNde2nwq42PxdFBaUEd8IZJ/fdJLQnOT3m6+XJ5s7jg==
11459
11385
11460
-
expo-updates@~0.28.14:
11461
-
version "0.28.14"
11462
-
resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.28.14.tgz#bc75b00c0744fec33ba36f8c96e7c86ed0d3c7f6"
11463
-
integrity sha512-kxI428W7LGSdDWmN/ud5cIg8+SjmQ5XSaUrYauZ0DKsHm2qq1Lh+NYSUWLvYmps+Baalafe6mILmAX8ZnNg26Q==
11386
+
expo-updates@~29.0.11:
11387
+
version "29.0.11"
11388
+
resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-29.0.11.tgz#d9bdc8676f563330461f7950fa504dd4bb48aafc"
11389
+
integrity sha512-zD7Zxe3P61WA6fyTdKRckmTFr7h/0BaSSD+Ssr73YiOLOak7GJUb19B+ysADjJP1L0IIOUR9U/UkMLv0r8k9dA==
11464
11390
dependencies:
11465
11391
"@expo/code-signing-certificates" "0.0.5"
11466
-
"@expo/config" "~11.0.10"
11467
-
"@expo/config-plugins" "~10.0.2"
11392
+
"@expo/plist" "^0.4.7"
11468
11393
"@expo/spawn-async" "^1.7.2"
11469
11394
arg "4.1.0"
11470
11395
chalk "^4.1.2"
11471
-
expo-eas-client "~0.14.3"
11472
-
expo-manifests "~0.16.5"
11473
-
expo-structured-headers "~4.1.0"
11474
-
expo-updates-interface "~1.1.0"
11396
+
debug "^4.3.4"
11397
+
expo-eas-client "~1.0.7"
11398
+
expo-manifests "~1.0.8"
11399
+
expo-structured-headers "~5.0.0"
11400
+
expo-updates-interface "~2.0.0"
11401
+
getenv "^2.0.0"
11475
11402
glob "^10.4.2"
11476
11403
ignore "^5.3.1"
11477
11404
resolve-from "^5.0.0"
11478
11405
11479
-
expo-video@~2.2.1:
11480
-
version "2.2.1"
11481
-
resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-2.2.1.tgz#d45357ee7a7da5a87c49177587183d1c7feabc57"
11482
-
integrity sha512-dw3h0eMLK8WpY1Tnwsgrxx3sFqXiOujmurjGdr+RFG63ZurAze/H9uuKMVl3ps/ZNuK4q/2ifIiJudoFJfwKwA==
11406
+
expo-video@~3.0.11:
11407
+
version "3.0.11"
11408
+
resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-3.0.11.tgz#9ba2c4da694fe3d54f191f160702ddc70412e782"
11409
+
integrity sha512-k/xz8Ml/LekuD2U2LomML2mUISvkHzYDz3fXY8Au1fEaYVNTfTs7Gyfo1lvF6S1X7u3XutoAfew8e8e1ZUR2fg==
11483
11410
11484
-
expo-web-browser@~14.1.6:
11485
-
version "14.1.6"
11486
-
resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-14.1.6.tgz#26d66e641e6e96d155be6fa513e7e667a719a0b0"
11487
-
integrity sha512-/4P8eWqRyfXIMZna3acg320LXNA+P2cwyEVbjDX8vHnWU+UnOtyRKWy3XaAIyMPQ9hVjBNUQTh4MPvtnPRzakw==
11411
+
expo-web-browser@~15.0.7:
11412
+
version "15.0.7"
11413
+
resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-15.0.7.tgz#eb4bc306db75d8c46f549d8a9150945f9436bcfc"
11414
+
integrity sha512-eXnfO3FQ2WthTA8uEPNJ7SDRfPaLIU/P2k082HGEYIHAFZMwh2o9Wo+SDVytO3E95TAv1qwhggUjOrczYzxteQ==
11488
11415
11489
-
expo@53.0.11:
11490
-
version "53.0.11"
11491
-
resolved "https://registry.yarnpkg.com/expo/-/expo-53.0.11.tgz#66053862520ce2a6700d13346ebaf8210a68f24b"
11492
-
integrity sha512-+QtvU+6VPd7/o4vmtwuRE/Li2rAiJtD25I6BOnoQSxphaWWaD0PdRQnIV3VQ0HESuJYRuKJ3DkAHNJ3jI6xwzA==
11416
+
expo@^54.0.9:
11417
+
version "54.0.9"
11418
+
resolved "https://registry.yarnpkg.com/expo/-/expo-54.0.9.tgz#bc4be9b156389ea81753e2f7b4d8302f1fa5be0c"
11419
+
integrity sha512-hCWkBkftiSSoKCV83CKm5oaA613arl9311mjXCDb7Fn/9FzQWh1koL4Q3nflnYiiCRhFQnecbDOa6YxN+GKVEQ==
11493
11420
dependencies:
11494
11421
"@babel/runtime" "^7.20.0"
11495
-
"@expo/cli" "0.24.14"
11496
-
"@expo/config" "~11.0.10"
11497
-
"@expo/config-plugins" "~10.0.2"
11498
-
"@expo/fingerprint" "0.13.0"
11499
-
"@expo/metro-config" "0.20.14"
11500
-
"@expo/vector-icons" "^14.0.0"
11501
-
babel-preset-expo "~13.2.0"
11502
-
expo-asset "~11.1.5"
11503
-
expo-constants "~17.1.6"
11504
-
expo-file-system "~18.1.10"
11505
-
expo-font "~13.3.1"
11506
-
expo-keep-awake "~14.1.4"
11507
-
expo-modules-autolinking "2.1.11"
11508
-
expo-modules-core "2.4.0"
11509
-
react-native-edge-to-edge "1.6.0"
11422
+
"@expo/cli" "54.0.7"
11423
+
"@expo/config" "~12.0.9"
11424
+
"@expo/config-plugins" "~54.0.1"
11425
+
"@expo/devtools" "0.1.7"
11426
+
"@expo/fingerprint" "0.15.1"
11427
+
"@expo/metro" "~54.0.0"
11428
+
"@expo/metro-config" "54.0.4"
11429
+
"@expo/vector-icons" "^15.0.2"
11430
+
"@ungap/structured-clone" "^1.3.0"
11431
+
babel-preset-expo "~54.0.2"
11432
+
expo-asset "~12.0.9"
11433
+
expo-constants "~18.0.9"
11434
+
expo-file-system "~19.0.14"
11435
+
expo-font "~14.0.8"
11436
+
expo-keep-awake "~15.0.7"
11437
+
expo-modules-autolinking "3.0.12"
11438
+
expo-modules-core "3.0.17"
11439
+
pretty-format "^29.7.0"
11440
+
react-refresh "^0.14.2"
11510
11441
whatwg-url-without-unicode "8.0.0-3"
11511
11442
11512
11443
exponential-backoff@^3.1.1:
···
11908
11839
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
11909
11840
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
11910
11841
11911
-
fs-extra@9.0.0:
11912
-
version "9.0.0"
11913
-
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3"
11914
-
integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==
11915
-
dependencies:
11916
-
at-least-node "^1.0.0"
11917
-
graceful-fs "^4.2.0"
11918
-
jsonfile "^6.0.1"
11919
-
universalify "^1.0.0"
11920
-
11921
11842
fs-extra@^11.2.0:
11922
11843
version "11.3.0"
11923
11844
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d"
···
12164
12085
minipass "^4.2.4"
12165
12086
path-scurry "^1.6.1"
12166
12087
12088
+
global-dirs@^0.1.1:
12089
+
version "0.1.1"
12090
+
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
12091
+
integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==
12092
+
dependencies:
12093
+
ini "^1.3.4"
12094
+
12167
12095
globals@^11.1.0:
12168
12096
version "11.12.0"
12169
12097
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
···
12369
12297
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480"
12370
12298
integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==
12371
12299
12372
-
hermes-estree@0.28.1:
12373
-
version "0.28.1"
12374
-
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24"
12375
-
integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ==
12300
+
hermes-estree@0.29.1:
12301
+
version "0.29.1"
12302
+
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.29.1.tgz#043c7db076e0e8ef8c5f6ed23828d1ba463ebcc5"
12303
+
integrity sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==
12376
12304
12377
-
hermes-parser@0.25.1, hermes-parser@^0.25.1:
12305
+
hermes-estree@0.32.0:
12306
+
version "0.32.0"
12307
+
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.32.0.tgz#bb7da6613ab8e67e334a1854ea1e209f487d307b"
12308
+
integrity sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==
12309
+
12310
+
hermes-parser@0.29.1, hermes-parser@^0.29.1:
12311
+
version "0.29.1"
12312
+
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.29.1.tgz#436b24bcd7bb1e71f92a04c396ccc0716c288d56"
12313
+
integrity sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==
12314
+
dependencies:
12315
+
hermes-estree "0.29.1"
12316
+
12317
+
hermes-parser@0.32.0:
12318
+
version "0.32.0"
12319
+
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.32.0.tgz#7916984ef6fdce62e7415d354cf35392061cd303"
12320
+
integrity sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==
12321
+
dependencies:
12322
+
hermes-estree "0.32.0"
12323
+
12324
+
hermes-parser@^0.25.1:
12378
12325
version "0.25.1"
12379
12326
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1"
12380
12327
integrity sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==
12381
12328
dependencies:
12382
12329
hermes-estree "0.25.1"
12383
-
12384
-
hermes-parser@0.28.1:
12385
-
version "0.28.1"
12386
-
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.28.1.tgz#17b9e6377f334b6870a1f6da2e123fdcd0b605ac"
12387
-
integrity sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg==
12388
-
dependencies:
12389
-
hermes-estree "0.28.1"
12390
12330
12391
12331
history@^5.3.0:
12392
12332
version "5.3.0"
···
12706
12646
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
12707
12647
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
12708
12648
12709
-
ini@~1.3.0:
12649
+
ini@^1.3.4, ini@~1.3.0:
12710
12650
version "1.3.8"
12711
12651
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
12712
12652
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
···
13497
13437
jest-mock "^29.7.0"
13498
13438
jest-util "^29.7.0"
13499
13439
13500
-
jest-expo@~53.0.7:
13501
-
version "53.0.7"
13502
-
resolved "https://registry.yarnpkg.com/jest-expo/-/jest-expo-53.0.7.tgz#ab1c288940dcdf470c25b7b18e2ed99f03d26bc6"
13503
-
integrity sha512-Uiu3ES0sWbsxpifQuBzXMI1/N9JygfJfwEby/Qw/OPndIQ1YeeIQqkbP52xn6UhdSM4qYQiteX3EjY8TfrZIoA==
13440
+
jest-expo@~54.0.12:
13441
+
version "54.0.12"
13442
+
resolved "https://registry.yarnpkg.com/jest-expo/-/jest-expo-54.0.12.tgz#297e57d4744d6fb8fbc8a81cad2aa4acb23e899a"
13443
+
integrity sha512-76dZ0Mk4/lBMwmGRWoSFQ08rfmMTVhnAp3Hxua5cND2TVISZcsya3LUZVKfPYxb5lB7H4OR6B7KStQJFkrnJjg==
13504
13444
dependencies:
13505
-
"@expo/config" "~11.0.10"
13506
-
"@expo/json-file" "^9.1.4"
13445
+
"@expo/config" "~12.0.9"
13446
+
"@expo/json-file" "^10.0.7"
13507
13447
"@jest/create-cache-key-function" "^29.2.1"
13508
13448
"@jest/globals" "^29.2.1"
13509
13449
babel-jest "^29.2.1"
13510
-
find-up "^5.0.0"
13511
13450
jest-environment-jsdom "^29.2.1"
13512
13451
jest-snapshot "^29.2.1"
13513
13452
jest-watch-select-projects "^2.0.0"
···
13515
13454
json5 "^2.2.3"
13516
13455
lodash "^4.17.19"
13517
13456
react-server-dom-webpack "~19.0.0"
13518
-
react-test-renderer "19.0.0"
13457
+
react-test-renderer "19.1.0"
13519
13458
server-only "^0.0.1"
13520
13459
stacktrace-js "^2.0.2"
13521
13460
···
14138
14077
debug "^2.6.9"
14139
14078
marky "^1.2.2"
14140
14079
14141
-
lightningcss-darwin-arm64@1.27.0:
14142
-
version "1.27.0"
14143
-
resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.27.0.tgz#565bd610533941cba648a70e105987578d82f996"
14144
-
integrity sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==
14080
+
lightningcss-darwin-arm64@1.30.1:
14081
+
version "1.30.1"
14082
+
resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz#3d47ce5e221b9567c703950edf2529ca4a3700ae"
14083
+
integrity sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==
14145
14084
14146
-
lightningcss-darwin-x64@1.27.0:
14147
-
version "1.27.0"
14148
-
resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.27.0.tgz#c906a267237b1c7fe08bff6c5ac032c099bc9482"
14149
-
integrity sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==
14085
+
lightningcss-darwin-x64@1.30.1:
14086
+
version "1.30.1"
14087
+
resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz#e81105d3fd6330860c15fe860f64d39cff5fbd22"
14088
+
integrity sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==
14150
14089
14151
-
lightningcss-freebsd-x64@1.27.0:
14152
-
version "1.27.0"
14153
-
resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.27.0.tgz#a7c3c4d6ee18dffeb8fa69f14f8f9267f7dc0c34"
14154
-
integrity sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==
14090
+
lightningcss-freebsd-x64@1.30.1:
14091
+
version "1.30.1"
14092
+
resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz#a0e732031083ff9d625c5db021d09eb085af8be4"
14093
+
integrity sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==
14155
14094
14156
-
lightningcss-linux-arm-gnueabihf@1.27.0:
14157
-
version "1.27.0"
14158
-
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.27.0.tgz#c7c16432a571ec877bf734fe500e4a43d48c2814"
14159
-
integrity sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==
14095
+
lightningcss-linux-arm-gnueabihf@1.30.1:
14096
+
version "1.30.1"
14097
+
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz#1f5ecca6095528ddb649f9304ba2560c72474908"
14098
+
integrity sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==
14160
14099
14161
-
lightningcss-linux-arm64-gnu@1.27.0:
14162
-
version "1.27.0"
14163
-
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.27.0.tgz#cfd9e18df1cd65131da286ddacfa3aee6862a752"
14164
-
integrity sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==
14100
+
lightningcss-linux-arm64-gnu@1.30.1:
14101
+
version "1.30.1"
14102
+
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz#eee7799726103bffff1e88993df726f6911ec009"
14103
+
integrity sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==
14165
14104
14166
-
lightningcss-linux-arm64-musl@1.27.0:
14167
-
version "1.27.0"
14168
-
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.27.0.tgz#6682ff6b9165acef9a6796bd9127a8e1247bb0ed"
14169
-
integrity sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==
14105
+
lightningcss-linux-arm64-musl@1.30.1:
14106
+
version "1.30.1"
14107
+
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz#f2e4b53f42892feeef8f620cbb889f7c064a7dfe"
14108
+
integrity sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==
14170
14109
14171
-
lightningcss-linux-x64-gnu@1.27.0:
14172
-
version "1.27.0"
14173
-
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.27.0.tgz#714221212ad184ddfe974bbb7dbe9300dfde4bc0"
14174
-
integrity sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==
14110
+
lightningcss-linux-x64-gnu@1.30.1:
14111
+
version "1.30.1"
14112
+
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz#2fc7096224bc000ebb97eea94aea248c5b0eb157"
14113
+
integrity sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==
14175
14114
14176
-
lightningcss-linux-x64-musl@1.27.0:
14177
-
version "1.27.0"
14178
-
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.27.0.tgz#247958daf622a030a6dc2285afa16b7184bdf21e"
14179
-
integrity sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==
14115
+
lightningcss-linux-x64-musl@1.30.1:
14116
+
version "1.30.1"
14117
+
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz#66dca2b159fd819ea832c44895d07e5b31d75f26"
14118
+
integrity sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==
14180
14119
14181
-
lightningcss-win32-arm64-msvc@1.27.0:
14182
-
version "1.27.0"
14183
-
resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.27.0.tgz#64cfe473c264ef5dc275a4d57a516d77fcac6bc9"
14184
-
integrity sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==
14120
+
lightningcss-win32-arm64-msvc@1.30.1:
14121
+
version "1.30.1"
14122
+
resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz#7d8110a19d7c2d22bfdf2f2bb8be68e7d1b69039"
14123
+
integrity sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==
14185
14124
14186
-
lightningcss-win32-x64-msvc@1.27.0:
14187
-
version "1.27.0"
14188
-
resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.27.0.tgz#237d0dc87d9cdc9cf82536bcbc07426fa9f3f422"
14189
-
integrity sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==
14125
+
lightningcss-win32-x64-msvc@1.30.1:
14126
+
version "1.30.1"
14127
+
resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz#fd7dd008ea98494b85d24b4bea016793f2e0e352"
14128
+
integrity sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==
14190
14129
14191
-
lightningcss@~1.27.0:
14192
-
version "1.27.0"
14193
-
resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.27.0.tgz#d4608e63044343836dd9769f6c8b5d607867649a"
14194
-
integrity sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==
14130
+
lightningcss@^1.30.1:
14131
+
version "1.30.1"
14132
+
resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.30.1.tgz#78e979c2d595bfcb90d2a8c0eb632fe6c5bfed5d"
14133
+
integrity sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==
14195
14134
dependencies:
14196
-
detect-libc "^1.0.3"
14135
+
detect-libc "^2.0.3"
14197
14136
optionalDependencies:
14198
-
lightningcss-darwin-arm64 "1.27.0"
14199
-
lightningcss-darwin-x64 "1.27.0"
14200
-
lightningcss-freebsd-x64 "1.27.0"
14201
-
lightningcss-linux-arm-gnueabihf "1.27.0"
14202
-
lightningcss-linux-arm64-gnu "1.27.0"
14203
-
lightningcss-linux-arm64-musl "1.27.0"
14204
-
lightningcss-linux-x64-gnu "1.27.0"
14205
-
lightningcss-linux-x64-musl "1.27.0"
14206
-
lightningcss-win32-arm64-msvc "1.27.0"
14207
-
lightningcss-win32-x64-msvc "1.27.0"
14137
+
lightningcss-darwin-arm64 "1.30.1"
14138
+
lightningcss-darwin-x64 "1.30.1"
14139
+
lightningcss-freebsd-x64 "1.30.1"
14140
+
lightningcss-linux-arm-gnueabihf "1.30.1"
14141
+
lightningcss-linux-arm64-gnu "1.30.1"
14142
+
lightningcss-linux-arm64-musl "1.30.1"
14143
+
lightningcss-linux-x64-gnu "1.30.1"
14144
+
lightningcss-linux-x64-musl "1.30.1"
14145
+
lightningcss-win32-arm64-msvc "1.30.1"
14146
+
lightningcss-win32-x64-msvc "1.30.1"
14208
14147
14209
14148
lilconfig@2.1.0, lilconfig@^2.0.3:
14210
14149
version "2.1.0"
···
14577
14516
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
14578
14517
integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
14579
14518
14580
-
metro-babel-transformer@0.82.2:
14581
-
version "0.82.2"
14582
-
resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.2.tgz#acb89a300a070b685cadbfdc3aa3f809b52de9fc"
14583
-
integrity sha512-c2gesA7/B4dovPmmYC2HziNXb4XFG3YkQ9FjEzwRnR6KH2hT7nJn6mkcri1h85r3sMttpnmoBuZ8WDz980Zhlw==
14519
+
metro-babel-transformer@0.83.1:
14520
+
version "0.83.1"
14521
+
resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.1.tgz#77e548b4b8f087fe30ffcd112826b371f83b597d"
14522
+
integrity sha512-r3xAD3964E8dwDBaZNSO2aIIvWXjIK80uO2xo0/pi3WI8XWT9h5SCjtGWtMtE5PRWw+t20TN0q1WMRsjvhC1rQ==
14523
+
dependencies:
14524
+
"@babel/core" "^7.25.2"
14525
+
flow-enums-runtime "^0.0.6"
14526
+
hermes-parser "0.29.1"
14527
+
nullthrows "^1.1.1"
14528
+
14529
+
metro-babel-transformer@0.83.2:
14530
+
version "0.83.2"
14531
+
resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.2.tgz#d3885f2a266f01e43f16bdcfb786b1d8f1598f56"
14532
+
integrity sha512-rirY1QMFlA1uxH3ZiNauBninwTioOgwChnRdDcbB4tgRZ+bGX9DiXoh9QdpppiaVKXdJsII932OwWXGGV4+Nlw==
14584
14533
dependencies:
14585
14534
"@babel/core" "^7.25.2"
14586
14535
flow-enums-runtime "^0.0.6"
14587
-
hermes-parser "0.28.1"
14536
+
hermes-parser "0.32.0"
14588
14537
nullthrows "^1.1.1"
14589
14538
14590
-
metro-cache-key@0.82.2:
14591
-
version "0.82.2"
14592
-
resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.2.tgz#d1b73cd4849e9ed3984aeb2386e5b198f8f59fad"
14593
-
integrity sha512-lfjC9zzSri+rS7lkoCh04LniFga8JQVUqSuscD9KraIm9zRzwIwvaMx8V6Oogiezs+FAJUOSnVNhHcHc9l8H2Q==
14539
+
metro-cache-key@0.83.1:
14540
+
version "0.83.1"
14541
+
resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.1.tgz#18c59c7c6944cfa0856d57ff5ebbdc18dec12687"
14542
+
integrity sha512-ZUs+GD5CNeDLxx5UUWmfg26IL+Dnbryd+TLqTlZnDEgehkIa11kUSvgF92OFfJhONeXzV4rZDRGNXoo6JT+8Gg==
14543
+
dependencies:
14544
+
flow-enums-runtime "^0.0.6"
14545
+
14546
+
metro-cache-key@0.83.2:
14547
+
version "0.83.2"
14548
+
resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.2.tgz#b34427fdafe551d567ac312f8a3c7e334a20f796"
14549
+
integrity sha512-3EMG/GkGKYoTaf5RqguGLSWRqGTwO7NQ0qXKmNBjr0y6qD9s3VBXYlwB+MszGtmOKsqE9q3FPrE5Nd9Ipv7rZw==
14550
+
dependencies:
14551
+
flow-enums-runtime "^0.0.6"
14552
+
14553
+
metro-cache@0.83.1:
14554
+
version "0.83.1"
14555
+
resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.1.tgz#bc1319d44934d0935ec4eaf10d28b90ec6ce0aac"
14556
+
integrity sha512-7N/Ad1PHa1YMWDNiyynTPq34Op2qIE68NWryGEQ4TSE3Zy6a8GpsYnEEZE4Qi6aHgsE+yZHKkRczeBgxhnFIxQ==
14594
14557
dependencies:
14558
+
exponential-backoff "^3.1.1"
14595
14559
flow-enums-runtime "^0.0.6"
14560
+
https-proxy-agent "^7.0.5"
14561
+
metro-core "0.83.1"
14596
14562
14597
-
metro-cache@0.82.2:
14598
-
version "0.82.2"
14599
-
resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.2.tgz#2d5427164a8bf9f15c6fb96484666cd1187eda6b"
14600
-
integrity sha512-MxY4xvPKuE68NYpKJjH8YvVVugDL2QcuTracHsV5/30ZIaRr0v1QuAX5vt45OCQDQQWeh1rDv3E4JB6AbIvnZQ==
14563
+
metro-cache@0.83.2:
14564
+
version "0.83.2"
14565
+
resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.2.tgz#d647d9253312801b19c4930be586c60976244540"
14566
+
integrity sha512-Z43IodutUZeIS7OTH+yQFjc59QlFJ6s5OvM8p2AP9alr0+F8UKr8ADzFzoGKoHefZSKGa4bJx7MZJLF6GwPDHQ==
14601
14567
dependencies:
14602
14568
exponential-backoff "^3.1.1"
14603
14569
flow-enums-runtime "^0.0.6"
14604
14570
https-proxy-agent "^7.0.5"
14605
-
metro-core "0.82.2"
14571
+
metro-core "0.83.2"
14606
14572
14607
-
metro-config@0.82.2, metro-config@^0.82.0:
14608
-
version "0.82.2"
14609
-
resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.2.tgz#0766d13f9707d60367a824f506fdd5144f7cb53b"
14610
-
integrity sha512-0dG3qCFLoE3ddNexAxSLJ7FbGjEbwUjDNOgYeCLoPSkKB01k5itvvr2HFfl2HisOCfLcpjpVzF5NtB/O71lxfA==
14573
+
metro-config@0.83.1:
14574
+
version "0.83.1"
14575
+
resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.1.tgz#28db7ae553883802c30b1eb374817ad1e686e7b4"
14576
+
integrity sha512-HJhpZx3wyOkux/jeF1o7akFJzZFdbn6Zf7UQqWrvp7gqFqNulQ8Mju09raBgPmmSxKDl4LbbNeigkX0/nKY1QA==
14611
14577
dependencies:
14612
14578
connect "^3.6.5"
14613
14579
cosmiconfig "^5.0.5"
14614
14580
flow-enums-runtime "^0.0.6"
14615
14581
jest-validate "^29.7.0"
14616
-
metro "0.82.2"
14617
-
metro-cache "0.82.2"
14618
-
metro-core "0.82.2"
14619
-
metro-runtime "0.82.2"
14582
+
metro "0.83.1"
14583
+
metro-cache "0.83.1"
14584
+
metro-core "0.83.1"
14585
+
metro-runtime "0.83.1"
14586
+
14587
+
metro-config@0.83.2, metro-config@^0.83.1:
14588
+
version "0.83.2"
14589
+
resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.2.tgz#5ab5eba754c7affd0f3e44be98543aea37c9fab7"
14590
+
integrity sha512-1FjCcdBe3e3D08gSSiU9u3Vtxd7alGH3x/DNFqWDFf5NouX4kLgbVloDDClr1UrLz62c0fHh2Vfr9ecmrOZp+g==
14591
+
dependencies:
14592
+
connect "^3.6.5"
14593
+
flow-enums-runtime "^0.0.6"
14594
+
jest-validate "^29.7.0"
14595
+
metro "0.83.2"
14596
+
metro-cache "0.83.2"
14597
+
metro-core "0.83.2"
14598
+
metro-runtime "0.83.2"
14599
+
yaml "^2.6.1"
14620
14600
14621
-
metro-core@0.82.2, metro-core@^0.82.0:
14622
-
version "0.82.2"
14623
-
resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.2.tgz#8c95128a247848f750835c184c29ca23905892ab"
14624
-
integrity sha512-d2XMkWbRh6PdPV1OZ8OyUyDWrtEbQ1m5ASpKtemLPbujfoE4RlwFZdl4ljfBNVVZ1s0z7tgsSFwKMyTeXgjtSg==
14601
+
metro-core@0.83.1:
14602
+
version "0.83.1"
14603
+
resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.1.tgz#fbedf8c6cfdcc58eaec7011718f1041ac9562cff"
14604
+
integrity sha512-uVL1eAJcMFd2o2Q7dsbpg8COaxjZBBGaXqO2OHnivpCdfanraVL8dPmY6It9ZeqWLOihUKZ2yHW4b6soVCzH/Q==
14625
14605
dependencies:
14626
14606
flow-enums-runtime "^0.0.6"
14627
14607
lodash.throttle "^4.1.1"
14628
-
metro-resolver "0.82.2"
14608
+
metro-resolver "0.83.1"
14629
14609
14630
-
metro-file-map@0.82.2:
14631
-
version "0.82.2"
14632
-
resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.2.tgz#acb98d73701373e12f1294f1998b983749e4c7cb"
14633
-
integrity sha512-pax0WA80eRH096YO0kwox+ZD5im3V0Vswr2x1YqdMcZVWlr6uwXgQdo9q+mpcvJ1k77J+hmY5HIg71bqrUptVg==
14610
+
metro-core@0.83.2, metro-core@^0.83.1:
14611
+
version "0.83.2"
14612
+
resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.2.tgz#8b6292482c8cd88bae5f56c5f4903ef7ee292631"
14613
+
integrity sha512-8DRb0O82Br0IW77cNgKMLYWUkx48lWxUkvNUxVISyMkcNwE/9ywf1MYQUE88HaKwSrqne6kFgCSA/UWZoUT0Iw==
14614
+
dependencies:
14615
+
flow-enums-runtime "^0.0.6"
14616
+
lodash.throttle "^4.1.1"
14617
+
metro-resolver "0.83.2"
14618
+
14619
+
metro-file-map@0.83.1:
14620
+
version "0.83.1"
14621
+
resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.1.tgz#9c9a295edd0eb234f23b44952786f0e95c3b2d8d"
14622
+
integrity sha512-Yu429lnexKl44PttKw3nhqgmpBR+6UQ/tRaYcxPeEShtcza9DWakCn7cjqDTQZtWR2A8xSNv139izJMyQ4CG+w==
14634
14623
dependencies:
14635
14624
debug "^4.4.0"
14636
14625
fb-watchman "^2.0.0"
···
14642
14631
nullthrows "^1.1.1"
14643
14632
walker "^1.0.7"
14644
14633
14645
-
metro-minify-terser@0.82.2:
14646
-
version "0.82.2"
14647
-
resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.2.tgz#9afd1d486357065edfd01b5e9a9f1e18a93018e9"
14648
-
integrity sha512-+nveaEdQUvsoi0OSr4Cp+btevZsg2DKsu8kUJsvyLIcRRFPUw9CwzF3V2cA5b55DY5LcIJyAcZf4D9ARKfoilQ==
14634
+
metro-file-map@0.83.2:
14635
+
version "0.83.2"
14636
+
resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.2.tgz#8f943d608f27216fde8dd91787294b5a9409752e"
14637
+
integrity sha512-cMSWnEqZrp/dzZIEd7DEDdk72PXz6w5NOKriJoDN9p1TDQ5nAYrY2lHi8d6mwbcGLoSlWmpPyny9HZYFfPWcGQ==
14638
+
dependencies:
14639
+
debug "^4.4.0"
14640
+
fb-watchman "^2.0.0"
14641
+
flow-enums-runtime "^0.0.6"
14642
+
graceful-fs "^4.2.4"
14643
+
invariant "^2.2.4"
14644
+
jest-worker "^29.7.0"
14645
+
micromatch "^4.0.4"
14646
+
nullthrows "^1.1.1"
14647
+
walker "^1.0.7"
14648
+
14649
+
metro-minify-terser@0.83.1:
14650
+
version "0.83.1"
14651
+
resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.1.tgz#227f534876fb8eb089b64d7bff8cf77d1817c8f4"
14652
+
integrity sha512-kmooOxXLvKVxkh80IVSYO4weBdJDhCpg5NSPkjzzAnPJP43u6+usGXobkTWxxrAlq900bhzqKek4pBsUchlX6A==
14653
+
dependencies:
14654
+
flow-enums-runtime "^0.0.6"
14655
+
terser "^5.15.0"
14656
+
14657
+
metro-minify-terser@0.83.2:
14658
+
version "0.83.2"
14659
+
resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.2.tgz#17ea8aef987970f8505ed8f890ab00c47c419608"
14660
+
integrity sha512-zvIxnh7U0JQ7vT4quasKsijId3dOAWgq+ip2jF/8TMrPUqQabGrs04L2dd0haQJ+PA+d4VvK/bPOY8X/vL2PWw==
14649
14661
dependencies:
14650
14662
flow-enums-runtime "^0.0.6"
14651
14663
terser "^5.15.0"
···
14695
14707
babel-plugin-transform-flow-enums "^0.0.2"
14696
14708
react-refresh "^0.4.0"
14697
14709
14698
-
metro-resolver@0.82.2:
14699
-
version "0.82.2"
14700
-
resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.2.tgz#994ebdbf23970fc460c50e47d39bf74db3b87e57"
14701
-
integrity sha512-Who2hGzq2aCGSsBaQBU0L3SADiy/kj/gv0coujNWziRY4SKq7ECKzWqtVk1JlEF7IGXDDRDxEgFuLmPV6mZGVQ==
14710
+
metro-resolver@0.83.1:
14711
+
version "0.83.1"
14712
+
resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.1.tgz#2e14c8b0762883f3568f41cde08f4a48893021ce"
14713
+
integrity sha512-t8j46kiILAqqFS5RNa+xpQyVjULxRxlvMidqUswPEk5nQVNdlJslqizDm/Et3v/JKwOtQGkYAQCHxP1zGStR/g==
14714
+
dependencies:
14715
+
flow-enums-runtime "^0.0.6"
14716
+
14717
+
metro-resolver@0.83.2:
14718
+
version "0.83.2"
14719
+
resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.2.tgz#d4a40a602615baacfb94d8a773e8b93eaac70d0f"
14720
+
integrity sha512-Yf5mjyuiRE/Y+KvqfsZxrbHDA15NZxyfg8pIk0qg47LfAJhpMVEX+36e6ZRBq7KVBqy6VDX5Sq55iHGM4xSm7Q==
14721
+
dependencies:
14722
+
flow-enums-runtime "^0.0.6"
14723
+
14724
+
metro-runtime@0.83.1:
14725
+
version "0.83.1"
14726
+
resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.1.tgz#5835c57c20cb89db45c48abb4bdae0246529a21b"
14727
+
integrity sha512-3Ag8ZS4IwafL/JUKlaeM6/CbkooY+WcVeqdNlBG0m4S0Qz0om3rdFdy1y6fYBpl6AwXJwWeMuXrvZdMuByTcRA==
14702
14728
dependencies:
14729
+
"@babel/runtime" "^7.25.0"
14703
14730
flow-enums-runtime "^0.0.6"
14704
14731
14705
-
metro-runtime@0.82.2, metro-runtime@^0.82.0:
14706
-
version "0.82.2"
14707
-
resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.2.tgz#4a86e48cdb124dd5f53fa42befadfd0838c58fdb"
14708
-
integrity sha512-gEcb2AfDs3GRs2SFjtEmG0k61B/cZEVCbh6cSmkjJpyHr+VRjw77MnDpX9AUcJYa4bCT63E7IEySOMM0Z8p87g==
14732
+
metro-runtime@0.83.2, metro-runtime@^0.83.1:
14733
+
version "0.83.2"
14734
+
resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.2.tgz#77c9715483fd3d449407435c1c160f7410c588d7"
14735
+
integrity sha512-nnsPtgRvFbNKwemqs0FuyFDzXLl+ezuFsUXDbX8o0SXOfsOPijqiQrf3kuafO1Zx1aUWf4NOrKJMAQP5EEHg9A==
14709
14736
dependencies:
14710
14737
"@babel/runtime" "^7.25.0"
14711
14738
flow-enums-runtime "^0.0.6"
14712
14739
14713
-
metro-source-map@0.82.2, metro-source-map@^0.82.0:
14714
-
version "0.82.2"
14715
-
resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.2.tgz#19c1cb06e462a9f19ff76dfc3827c2561cbebf63"
14716
-
integrity sha512-S26xPdz1/EeAY0HqaPXfny8CeiY0Dvl4sBLQiXGXhoES4gUDAuMhA1tioKrv5F+x68Sod8cp8Js6EGqbMXeqMA==
14740
+
metro-source-map@0.83.1:
14741
+
version "0.83.1"
14742
+
resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.1.tgz#afaeccad77f543eebfe22ecc1d94c0b58c721946"
14743
+
integrity sha512-De7Vbeo96fFZ2cqmI0fWwVJbtHIwPZv++LYlWSwzTiCzxBDJORncN0LcT48Vi2UlQLzXJg+/CuTAcy7NBVh69A==
14744
+
dependencies:
14745
+
"@babel/traverse" "^7.25.3"
14746
+
"@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
14747
+
"@babel/types" "^7.25.2"
14748
+
flow-enums-runtime "^0.0.6"
14749
+
invariant "^2.2.4"
14750
+
metro-symbolicate "0.83.1"
14751
+
nullthrows "^1.1.1"
14752
+
ob1 "0.83.1"
14753
+
source-map "^0.5.6"
14754
+
vlq "^1.0.0"
14755
+
14756
+
metro-source-map@0.83.2, metro-source-map@^0.83.1:
14757
+
version "0.83.2"
14758
+
resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.2.tgz#5688eeb3fc85a1ca0f5f5efede2257a872e2b9fe"
14759
+
integrity sha512-5FL/6BSQvshIKjXOennt9upFngq2lFvDakZn5LfauIVq8+L4sxXewIlSTcxAtzbtjAIaXeOSVMtCJ5DdfCt9AA==
14717
14760
dependencies:
14718
14761
"@babel/traverse" "^7.25.3"
14719
14762
"@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
14720
14763
"@babel/types" "^7.25.2"
14721
14764
flow-enums-runtime "^0.0.6"
14722
14765
invariant "^2.2.4"
14723
-
metro-symbolicate "0.82.2"
14766
+
metro-symbolicate "0.83.2"
14724
14767
nullthrows "^1.1.1"
14725
-
ob1 "0.82.2"
14768
+
ob1 "0.83.2"
14726
14769
source-map "^0.5.6"
14727
14770
vlq "^1.0.0"
14728
14771
14729
-
metro-symbolicate@0.82.2:
14730
-
version "0.82.2"
14731
-
resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.2.tgz#1e16d60fb9b96e7067527cfb2257f2b46406a4f6"
14732
-
integrity sha512-iheanMnOMned6gjt6sKSfU5AoNyV6pJyQAWydwuHcjhGpa/kiAM0kKmw23qHejELK89Yw8HDZ3Fd/5l1jxpFVA==
14772
+
metro-symbolicate@0.83.1:
14773
+
version "0.83.1"
14774
+
resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.1.tgz#c03edc8e7c0e8b44821f2a807c0a8342aaeb77eb"
14775
+
integrity sha512-wPxYkONlq/Sv8Ji7vHEx5OzFouXAMQJjpcPW41ySKMLP/Ir18SsiJK2h4YkdKpYrTS1+0xf8oqF6nxCsT3uWtg==
14733
14776
dependencies:
14734
14777
flow-enums-runtime "^0.0.6"
14735
14778
invariant "^2.2.4"
14736
-
metro-source-map "0.82.2"
14779
+
metro-source-map "0.83.1"
14737
14780
nullthrows "^1.1.1"
14738
14781
source-map "^0.5.6"
14739
14782
vlq "^1.0.0"
14740
14783
14741
-
metro-transform-plugins@0.82.2:
14742
-
version "0.82.2"
14743
-
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.2.tgz#2948a012ef40b36ad272fc986920fd7e9b552be4"
14744
-
integrity sha512-kEveuEVxghTEXkDiyY0MT5QRqei092KJG46nduo0VghFgI6QFodbAjFit1ULyWsn2VOTGSUDJ3VgHBMy7MaccA==
14784
+
metro-symbolicate@0.83.2:
14785
+
version "0.83.2"
14786
+
resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.2.tgz#63a5f31cdb6db17371a00d259890643d84a75549"
14787
+
integrity sha512-KoU9BLwxxED6n33KYuQQuc5bXkIxF3fSwlc3ouxrrdLWwhu64muYZNQrukkWzhVKRNFIXW7X2iM8JXpi2heIPw==
14788
+
dependencies:
14789
+
flow-enums-runtime "^0.0.6"
14790
+
invariant "^2.2.4"
14791
+
metro-source-map "0.83.2"
14792
+
nullthrows "^1.1.1"
14793
+
source-map "^0.5.6"
14794
+
vlq "^1.0.0"
14795
+
14796
+
metro-transform-plugins@0.83.1:
14797
+
version "0.83.1"
14798
+
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.1.tgz#879b8ff34c3720d387889da60c03923394457988"
14799
+
integrity sha512-1Y+I8oozXwhuS0qwC+ezaHXBf0jXW4oeYn4X39XWbZt9X2HfjodqY9bH9r6RUTsoiK7S4j8Ni2C91bUC+sktJQ==
14745
14800
dependencies:
14746
14801
"@babel/core" "^7.25.2"
14747
14802
"@babel/generator" "^7.25.0"
···
14750
14805
flow-enums-runtime "^0.0.6"
14751
14806
nullthrows "^1.1.1"
14752
14807
14753
-
metro-transform-worker@0.82.2:
14754
-
version "0.82.2"
14755
-
resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.2.tgz#4eb09c95c2d9cda1cf0e8e201bd899c0da5b0a0c"
14756
-
integrity sha512-MJQNz6cGjqewCRqFmPrsHu6Oe93v2B6zgHkrNxQ6XdPMJz5VHD33m8q+8UsNJOH8wUMoRu5JmYtuUTIVIFxh2A==
14808
+
metro-transform-plugins@0.83.2:
14809
+
version "0.83.2"
14810
+
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.2.tgz#c4353147212cad1c76dcea8fd93c7f0c7b09b3a4"
14811
+
integrity sha512-5WlW25WKPkiJk2yA9d8bMuZrgW7vfA4f4MBb9ZeHbTB3eIAoNN8vS8NENgG/X/90vpTB06X66OBvxhT3nHwP6A==
14812
+
dependencies:
14813
+
"@babel/core" "^7.25.2"
14814
+
"@babel/generator" "^7.25.0"
14815
+
"@babel/template" "^7.25.0"
14816
+
"@babel/traverse" "^7.25.3"
14817
+
flow-enums-runtime "^0.0.6"
14818
+
nullthrows "^1.1.1"
14819
+
14820
+
metro-transform-worker@0.83.1:
14821
+
version "0.83.1"
14822
+
resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.1.tgz#47aa09f085fe4f859215506de886f1cb7deb300a"
14823
+
integrity sha512-owCrhPyUxdLgXEEEAL2b14GWTPZ2zYuab1VQXcfEy0sJE71iciD7fuMcrngoufh7e7UHDZ56q4ktXg8wgiYA1Q==
14824
+
dependencies:
14825
+
"@babel/core" "^7.25.2"
14826
+
"@babel/generator" "^7.25.0"
14827
+
"@babel/parser" "^7.25.3"
14828
+
"@babel/types" "^7.25.2"
14829
+
flow-enums-runtime "^0.0.6"
14830
+
metro "0.83.1"
14831
+
metro-babel-transformer "0.83.1"
14832
+
metro-cache "0.83.1"
14833
+
metro-cache-key "0.83.1"
14834
+
metro-minify-terser "0.83.1"
14835
+
metro-source-map "0.83.1"
14836
+
metro-transform-plugins "0.83.1"
14837
+
nullthrows "^1.1.1"
14838
+
14839
+
metro-transform-worker@0.83.2:
14840
+
version "0.83.2"
14841
+
resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.2.tgz#f97367b6384be87ea216a97072810705c19c3775"
14842
+
integrity sha512-G5DsIg+cMZ2KNfrdLnWMvtppb3+Rp1GMyj7Bvd9GgYc/8gRmvq1XVEF9XuO87Shhb03kFhGqMTgZerz3hZ1v4Q==
14757
14843
dependencies:
14758
14844
"@babel/core" "^7.25.2"
14759
14845
"@babel/generator" "^7.25.0"
14760
14846
"@babel/parser" "^7.25.3"
14761
14847
"@babel/types" "^7.25.2"
14762
14848
flow-enums-runtime "^0.0.6"
14763
-
metro "0.82.2"
14764
-
metro-babel-transformer "0.82.2"
14765
-
metro-cache "0.82.2"
14766
-
metro-cache-key "0.82.2"
14767
-
metro-minify-terser "0.82.2"
14768
-
metro-source-map "0.82.2"
14769
-
metro-transform-plugins "0.82.2"
14849
+
metro "0.83.2"
14850
+
metro-babel-transformer "0.83.2"
14851
+
metro-cache "0.83.2"
14852
+
metro-cache-key "0.83.2"
14853
+
metro-minify-terser "0.83.2"
14854
+
metro-source-map "0.83.2"
14855
+
metro-transform-plugins "0.83.2"
14770
14856
nullthrows "^1.1.1"
14771
14857
14772
-
metro@0.82.2, metro@^0.82.0:
14773
-
version "0.82.2"
14774
-
resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.2.tgz#3fdf2eb2558d930ba9f156967e861dee8b026081"
14775
-
integrity sha512-hOBd4O4Cn/tLf3jz7IjSgD/A66MqMzgZuyF1I/pmNwYcY3q3j2vbh7Fa09KIbvUq5Yz7BewU356XboaEtEXPgA==
14858
+
metro@0.83.1:
14859
+
version "0.83.1"
14860
+
resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.1.tgz#9f9c138793288cbf9fb26aa84e0693df85607875"
14861
+
integrity sha512-UGKepmTxoGD4HkQV8YWvpvwef7fUujNtTgG4Ygf7m/M0qjvb9VuDmAsEU+UdriRX7F61pnVK/opz89hjKlYTXA==
14776
14862
dependencies:
14777
14863
"@babel/code-frame" "^7.24.7"
14778
14864
"@babel/core" "^7.25.2"
···
14789
14875
error-stack-parser "^2.0.6"
14790
14876
flow-enums-runtime "^0.0.6"
14791
14877
graceful-fs "^4.2.4"
14792
-
hermes-parser "0.28.1"
14878
+
hermes-parser "0.29.1"
14793
14879
image-size "^1.0.2"
14794
14880
invariant "^2.2.4"
14795
14881
jest-worker "^29.7.0"
14796
14882
jsc-safe-url "^0.2.2"
14797
14883
lodash.throttle "^4.1.1"
14798
-
metro-babel-transformer "0.82.2"
14799
-
metro-cache "0.82.2"
14800
-
metro-cache-key "0.82.2"
14801
-
metro-config "0.82.2"
14802
-
metro-core "0.82.2"
14803
-
metro-file-map "0.82.2"
14804
-
metro-resolver "0.82.2"
14805
-
metro-runtime "0.82.2"
14806
-
metro-source-map "0.82.2"
14807
-
metro-symbolicate "0.82.2"
14808
-
metro-transform-plugins "0.82.2"
14809
-
metro-transform-worker "0.82.2"
14884
+
metro-babel-transformer "0.83.1"
14885
+
metro-cache "0.83.1"
14886
+
metro-cache-key "0.83.1"
14887
+
metro-config "0.83.1"
14888
+
metro-core "0.83.1"
14889
+
metro-file-map "0.83.1"
14890
+
metro-resolver "0.83.1"
14891
+
metro-runtime "0.83.1"
14892
+
metro-source-map "0.83.1"
14893
+
metro-symbolicate "0.83.1"
14894
+
metro-transform-plugins "0.83.1"
14895
+
metro-transform-worker "0.83.1"
14896
+
mime-types "^2.1.27"
14897
+
nullthrows "^1.1.1"
14898
+
serialize-error "^2.1.0"
14899
+
source-map "^0.5.6"
14900
+
throat "^5.0.0"
14901
+
ws "^7.5.10"
14902
+
yargs "^17.6.2"
14903
+
14904
+
metro@0.83.2, metro@^0.83.1:
14905
+
version "0.83.2"
14906
+
resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.2.tgz#a56d31a604819951c8b9cf19d570897341e29b07"
14907
+
integrity sha512-HQgs9H1FyVbRptNSMy/ImchTTE5vS2MSqLoOo7hbDoBq6hPPZokwJvBMwrYSxdjQZmLXz2JFZtdvS+ZfgTc9yw==
14908
+
dependencies:
14909
+
"@babel/code-frame" "^7.24.7"
14910
+
"@babel/core" "^7.25.2"
14911
+
"@babel/generator" "^7.25.0"
14912
+
"@babel/parser" "^7.25.3"
14913
+
"@babel/template" "^7.25.0"
14914
+
"@babel/traverse" "^7.25.3"
14915
+
"@babel/types" "^7.25.2"
14916
+
accepts "^1.3.7"
14917
+
chalk "^4.0.0"
14918
+
ci-info "^2.0.0"
14919
+
connect "^3.6.5"
14920
+
debug "^4.4.0"
14921
+
error-stack-parser "^2.0.6"
14922
+
flow-enums-runtime "^0.0.6"
14923
+
graceful-fs "^4.2.4"
14924
+
hermes-parser "0.32.0"
14925
+
image-size "^1.0.2"
14926
+
invariant "^2.2.4"
14927
+
jest-worker "^29.7.0"
14928
+
jsc-safe-url "^0.2.2"
14929
+
lodash.throttle "^4.1.1"
14930
+
metro-babel-transformer "0.83.2"
14931
+
metro-cache "0.83.2"
14932
+
metro-cache-key "0.83.2"
14933
+
metro-config "0.83.2"
14934
+
metro-core "0.83.2"
14935
+
metro-file-map "0.83.2"
14936
+
metro-resolver "0.83.2"
14937
+
metro-runtime "0.83.2"
14938
+
metro-source-map "0.83.2"
14939
+
metro-symbolicate "0.83.2"
14940
+
metro-transform-plugins "0.83.2"
14941
+
metro-transform-worker "0.83.2"
14810
14942
mime-types "^2.1.27"
14811
14943
nullthrows "^1.1.1"
14812
14944
serialize-error "^2.1.0"
···
15133
15265
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
15134
15266
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
15135
15267
15268
+
node-releases@^2.0.21:
15269
+
version "2.0.21"
15270
+
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.21.tgz#f59b018bc0048044be2d4c4c04e4c8b18160894c"
15271
+
integrity sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==
15272
+
15136
15273
nodemailer-html-to-text@^3.2.0:
15137
15274
version "3.2.0"
15138
15275
resolved "https://registry.yarnpkg.com/nodemailer-html-to-text/-/nodemailer-html-to-text-3.2.0.tgz#91b959491fef8f7d91796047abb728aa86d4a12b"
···
15201
15338
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
15202
15339
integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
15203
15340
15204
-
ob1@0.82.2:
15205
-
version "0.82.2"
15206
-
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.2.tgz#ca2478f9cd904a4a91381fbfa729996c40ed567b"
15207
-
integrity sha512-sfUaYpjkAdHgu8cXLAyWXO98jW1EUOStTDNslfC9eb3tBLExe67PRqh09J0xdD6AlFKHFGTvXPbuHGvlrZNJNA==
15341
+
ob1@0.83.1:
15342
+
version "0.83.1"
15343
+
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.1.tgz#32f5c9e3f8cc5a6ecb1cb344e87a6e39a93f848a"
15344
+
integrity sha512-ngwqewtdUzFyycomdbdIhFLjePPSOt1awKMUXQ0L7iLHgWEPF3DsCerblzjzfAUHaXuvE9ccJymWQ/4PNNqvnQ==
15345
+
dependencies:
15346
+
flow-enums-runtime "^0.0.6"
15347
+
15348
+
ob1@0.83.2:
15349
+
version "0.83.2"
15350
+
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.2.tgz#23c2e58b7d542fb01e627049710334d14c287cf8"
15351
+
integrity sha512-XlK3w4M+dwd1g1gvHzVbxiXEbUllRONEgcF2uEO0zm4nxa0eKlh41c6N65q1xbiDOeKKda1tvNOAD33fNjyvCg==
15208
15352
dependencies:
15209
15353
flow-enums-runtime "^0.0.6"
15210
15354
···
15791
15935
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
15792
15936
integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
15793
15937
15794
-
picocolors@^1.1.0:
15938
+
picocolors@^1.1.0, picocolors@^1.1.1:
15795
15939
version "1.1.1"
15796
15940
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
15797
15941
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
···
16653
16797
resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7"
16654
16798
integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==
16655
16799
16656
-
radix-ui@^1.2.0:
16657
-
version "1.2.0"
16658
-
resolved "https://registry.yarnpkg.com/radix-ui/-/radix-ui-1.2.0.tgz#076f3a01d1463e048b27c8c3b53f42625f342e3e"
16659
-
integrity sha512-05auM88p3yNwAarx3JQGnRHbtzDNATbMx6/Qkr2gXg5QNLPUjdeduJvlhhVzlGxfUMBnwzYmydUIzAdrOz3J5w==
16800
+
radix-ui@^1.4.3:
16801
+
version "1.4.3"
16802
+
resolved "https://registry.yarnpkg.com/radix-ui/-/radix-ui-1.4.3.tgz#17712d9e26ee61fdf4cd3969f4e16a794419508b"
16803
+
integrity sha512-aWizCQiyeAenIdUbqEpXgRA1ya65P13NKn/W8rWkcN0OPkRDxdBVLWnIEDsS2RpwCK2nobI7oMUSmexzTDyAmA==
16660
16804
dependencies:
16661
-
"@radix-ui/primitive" "1.1.2"
16662
-
"@radix-ui/react-accessible-icon" "1.1.3"
16663
-
"@radix-ui/react-accordion" "1.2.4"
16664
-
"@radix-ui/react-alert-dialog" "1.1.7"
16665
-
"@radix-ui/react-aspect-ratio" "1.1.3"
16666
-
"@radix-ui/react-avatar" "1.1.4"
16667
-
"@radix-ui/react-checkbox" "1.1.5"
16668
-
"@radix-ui/react-collapsible" "1.1.4"
16669
-
"@radix-ui/react-collection" "1.1.3"
16805
+
"@radix-ui/primitive" "1.1.3"
16806
+
"@radix-ui/react-accessible-icon" "1.1.7"
16807
+
"@radix-ui/react-accordion" "1.2.12"
16808
+
"@radix-ui/react-alert-dialog" "1.1.15"
16809
+
"@radix-ui/react-arrow" "1.1.7"
16810
+
"@radix-ui/react-aspect-ratio" "1.1.7"
16811
+
"@radix-ui/react-avatar" "1.1.10"
16812
+
"@radix-ui/react-checkbox" "1.3.3"
16813
+
"@radix-ui/react-collapsible" "1.1.12"
16814
+
"@radix-ui/react-collection" "1.1.7"
16670
16815
"@radix-ui/react-compose-refs" "1.1.2"
16671
16816
"@radix-ui/react-context" "1.1.2"
16672
-
"@radix-ui/react-context-menu" "2.2.7"
16673
-
"@radix-ui/react-dialog" "1.1.7"
16817
+
"@radix-ui/react-context-menu" "2.2.16"
16818
+
"@radix-ui/react-dialog" "1.1.15"
16674
16819
"@radix-ui/react-direction" "1.1.1"
16675
-
"@radix-ui/react-dismissable-layer" "1.1.6"
16676
-
"@radix-ui/react-dropdown-menu" "2.1.7"
16677
-
"@radix-ui/react-focus-guards" "1.1.2"
16678
-
"@radix-ui/react-focus-scope" "1.1.3"
16679
-
"@radix-ui/react-form" "0.1.3"
16680
-
"@radix-ui/react-hover-card" "1.1.7"
16681
-
"@radix-ui/react-label" "2.1.3"
16682
-
"@radix-ui/react-menu" "2.1.7"
16683
-
"@radix-ui/react-menubar" "1.1.7"
16684
-
"@radix-ui/react-navigation-menu" "1.2.6"
16685
-
"@radix-ui/react-popover" "1.1.7"
16686
-
"@radix-ui/react-popper" "1.2.3"
16687
-
"@radix-ui/react-portal" "1.1.5"
16688
-
"@radix-ui/react-presence" "1.1.3"
16689
-
"@radix-ui/react-primitive" "2.0.3"
16690
-
"@radix-ui/react-progress" "1.1.3"
16691
-
"@radix-ui/react-radio-group" "1.2.4"
16692
-
"@radix-ui/react-roving-focus" "1.1.3"
16693
-
"@radix-ui/react-scroll-area" "1.2.4"
16694
-
"@radix-ui/react-select" "2.1.7"
16695
-
"@radix-ui/react-separator" "1.1.3"
16696
-
"@radix-ui/react-slider" "1.2.4"
16697
-
"@radix-ui/react-slot" "1.2.0"
16698
-
"@radix-ui/react-switch" "1.1.4"
16699
-
"@radix-ui/react-tabs" "1.1.4"
16700
-
"@radix-ui/react-toast" "1.2.7"
16701
-
"@radix-ui/react-toggle" "1.1.3"
16702
-
"@radix-ui/react-toggle-group" "1.1.3"
16703
-
"@radix-ui/react-toolbar" "1.1.3"
16704
-
"@radix-ui/react-tooltip" "1.2.0"
16820
+
"@radix-ui/react-dismissable-layer" "1.1.11"
16821
+
"@radix-ui/react-dropdown-menu" "2.1.16"
16822
+
"@radix-ui/react-focus-guards" "1.1.3"
16823
+
"@radix-ui/react-focus-scope" "1.1.7"
16824
+
"@radix-ui/react-form" "0.1.8"
16825
+
"@radix-ui/react-hover-card" "1.1.15"
16826
+
"@radix-ui/react-label" "2.1.7"
16827
+
"@radix-ui/react-menu" "2.1.16"
16828
+
"@radix-ui/react-menubar" "1.1.16"
16829
+
"@radix-ui/react-navigation-menu" "1.2.14"
16830
+
"@radix-ui/react-one-time-password-field" "0.1.8"
16831
+
"@radix-ui/react-password-toggle-field" "0.1.3"
16832
+
"@radix-ui/react-popover" "1.1.15"
16833
+
"@radix-ui/react-popper" "1.2.8"
16834
+
"@radix-ui/react-portal" "1.1.9"
16835
+
"@radix-ui/react-presence" "1.1.5"
16836
+
"@radix-ui/react-primitive" "2.1.3"
16837
+
"@radix-ui/react-progress" "1.1.7"
16838
+
"@radix-ui/react-radio-group" "1.3.8"
16839
+
"@radix-ui/react-roving-focus" "1.1.11"
16840
+
"@radix-ui/react-scroll-area" "1.2.10"
16841
+
"@radix-ui/react-select" "2.2.6"
16842
+
"@radix-ui/react-separator" "1.1.7"
16843
+
"@radix-ui/react-slider" "1.3.6"
16844
+
"@radix-ui/react-slot" "1.2.3"
16845
+
"@radix-ui/react-switch" "1.2.6"
16846
+
"@radix-ui/react-tabs" "1.1.13"
16847
+
"@radix-ui/react-toast" "1.2.15"
16848
+
"@radix-ui/react-toggle" "1.1.10"
16849
+
"@radix-ui/react-toggle-group" "1.1.11"
16850
+
"@radix-ui/react-toolbar" "1.1.11"
16851
+
"@radix-ui/react-tooltip" "1.2.8"
16705
16852
"@radix-ui/react-use-callback-ref" "1.1.1"
16706
-
"@radix-ui/react-use-controllable-state" "1.1.1"
16853
+
"@radix-ui/react-use-controllable-state" "1.2.2"
16854
+
"@radix-ui/react-use-effect-event" "0.0.2"
16707
16855
"@radix-ui/react-use-escape-keydown" "1.1.1"
16856
+
"@radix-ui/react-use-is-hydrated" "0.1.0"
16708
16857
"@radix-ui/react-use-layout-effect" "1.1.1"
16709
16858
"@radix-ui/react-use-size" "1.1.1"
16710
-
"@radix-ui/react-visually-hidden" "1.1.3"
16859
+
"@radix-ui/react-visually-hidden" "1.2.3"
16711
16860
16712
16861
ramda@^0.27.1:
16713
16862
version "0.27.2"
···
16756
16905
resolved "https://registry.yarnpkg.com/react-compiler-runtime/-/react-compiler-runtime-19.1.0-rc.1.tgz#2535efd2e9fc9fc7d5ad47e970061dfbe38fb3f6"
16757
16906
integrity sha512-wCt6g+cRh8g32QT18/9blfQHywGjYu+4FlEc3CW1mx3pPxYzZZl1y+VtqxRgnKKBCFLIGUYxog4j4rs5YS86hw==
16758
16907
16759
-
react-devtools-core@^6.1.1:
16760
-
version "6.1.1"
16761
-
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-6.1.1.tgz#7dac74773d039273134c360f8b65cf4f6c795c49"
16762
-
integrity sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw==
16908
+
react-devtools-core@^6.1.5:
16909
+
version "6.1.5"
16910
+
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-6.1.5.tgz#c5eca79209dab853a03b2158c034c5166975feee"
16911
+
integrity sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==
16763
16912
dependencies:
16764
16913
shell-quote "^1.6.1"
16765
16914
ws "^7"
16766
16915
16767
-
react-dom@19.0.0:
16768
-
version "19.0.0"
16769
-
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57"
16770
-
integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==
16916
+
react-dom@19.1.0:
16917
+
version "19.1.0"
16918
+
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623"
16919
+
integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==
16771
16920
dependencies:
16772
-
scheduler "^0.25.0"
16921
+
scheduler "^0.26.0"
16773
16922
16774
16923
react-fast-compare@^3.2.2:
16775
16924
version "3.2.2"
···
16786
16935
resolved "https://registry.yarnpkg.com/react-image-crop/-/react-image-crop-11.0.7.tgz#25f3d37ccbb65a05d19d23b4740a5912835c741e"
16787
16936
integrity sha512-ZciKWHDYzmm366JDL18CbrVyjnjH0ojufGDmScfS4ZUqLHg4nm6ATY+K62C75W4ZRNt4Ii+tX0bSjNk9LQ2xzQ==
16788
16937
16789
-
react-is@19, react-is@^19.0.0, react-is@^19.1.0:
16938
+
react-is@19, react-is@^19.1.0:
16790
16939
version "19.1.0"
16791
16940
resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.0.tgz#805bce321546b7e14c084989c77022351bbdd11b"
16792
16941
integrity sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==
···
16806
16955
resolved "https://registry.yarnpkg.com/react-keyed-flatten-children/-/react-keyed-flatten-children-5.0.0.tgz#3024fc8819f7b60fc5039b527f133d9ac3a02a82"
16807
16956
integrity sha512-XA5ah02sZAeDrbz4Lusd4acqG5q5BtVwPHWierruVhrgX6CMCldbGcTZZM14cQZ+GWq+tzRzEpsCvnTtLODvjw==
16808
16957
16809
-
react-native-compressor@^1.11.0:
16810
-
version "1.11.0"
16811
-
resolved "https://registry.yarnpkg.com/react-native-compressor/-/react-native-compressor-1.11.0.tgz#e297fa650b09cc754392153c38ae2ca510aee024"
16812
-
integrity sha512-XaI0U2CtlW6ZYjwdQ4jdpnJa3C9CD1pc1a4jiUMtnUxWtCqgT7PNjOiEqlYLLwwGTvorXXNuby5In1yy7Vdmhg==
16958
+
react-native-compressor@^1.13.0:
16959
+
version "1.13.0"
16960
+
resolved "https://registry.yarnpkg.com/react-native-compressor/-/react-native-compressor-1.13.0.tgz#d260621bb7625046a716d5dff56b395267c7e6b0"
16961
+
integrity sha512-vJYbrcjz2S7kgE3Q7444F71CjEDq5Qg6sGn67N9fJ0I1K6EhB/ZxpULdDe3FxJ4h/ncJc0oxOzNWZhxtGTqcQw==
16813
16962
16814
-
react-native-date-picker@^5.0.12:
16815
-
version "5.0.12"
16816
-
resolved "https://registry.yarnpkg.com/react-native-date-picker/-/react-native-date-picker-5.0.12.tgz#12540b6a58500811ee7e4fc0244e3accc7cca9c1"
16817
-
integrity sha512-R/mUnCKhcuxbhKPFwYdBQCxQt9HHLqpM4ruRUqlcBjiUZ3N2wdnwOMyc888Ps8qp8e7v29PrDHtUlG8LPuFn9w==
16963
+
react-native-date-picker@^5.0.13:
16964
+
version "5.0.13"
16965
+
resolved "https://registry.yarnpkg.com/react-native-date-picker/-/react-native-date-picker-5.0.13.tgz#fe05f58652aaeee9e67f73cf7436c32a623ff3a4"
16966
+
integrity sha512-qCLUODZVsJetO5zuoXjw1D39K527XWqBG8sOfhWdHyPzf13h8RXR1/RSKd1N0fdRDi5GdyizYmB0lPAK12/hbw==
16818
16967
16819
16968
react-native-device-attest@^0.1.6:
16820
16969
version "0.1.6"
···
16835
16984
dependencies:
16836
16985
use-latest-callback "^0.2.3"
16837
16986
16838
-
react-native-edge-to-edge@1.6.0, react-native-edge-to-edge@^1.6.0:
16987
+
react-native-edge-to-edge@^1.6.0:
16839
16988
version "1.6.0"
16840
16989
resolved "https://registry.yarnpkg.com/react-native-edge-to-edge/-/react-native-edge-to-edge-1.6.0.tgz#2ba63b941704a7f713e298185c26cde4d9e4b973"
16841
16990
integrity sha512-2WCNdE3Qd6Fwg9+4BpbATUxCLcouF6YRY7K+J36KJ4l3y+tWN6XCqAC4DuoGblAAbb2sLkhEDp4FOlbOIot2Og==
16842
16991
16843
-
react-native-gesture-handler@2.25.0:
16844
-
version "2.25.0"
16845
-
resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.25.0.tgz#3a5a8912ea4f5e68ab211a9fa5a191c08ad50883"
16846
-
integrity sha512-NPjJi6mislXxvjxQPU9IYwBjb1Uejp8GvAbE1Lhh+xMIMEvmgAvVIp5cz1P+xAbV6uYcRRArm278+tEInGOqWg==
16992
+
react-native-gesture-handler@~2.28.0:
16993
+
version "2.28.0"
16994
+
resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.28.0.tgz#07fb4f5eae72f810aac3019b060d26c1835bfd0c"
16995
+
integrity sha512-0msfJ1vRxXKVgTgvL+1ZOoYw3/0z1R+Ked0+udoJhyplC2jbVKIJ8Z1bzWdpQRCV3QcQ87Op0zJVE5DhKK2A0A==
16847
16996
dependencies:
16848
16997
"@egjs/hammerjs" "^2.0.17"
16849
16998
hoist-non-react-statics "^3.3.0"
···
16863
17012
dependencies:
16864
17013
fast-base64-decode "^1.0.0"
16865
17014
16866
-
react-native-ios-context-menu@^1.15.3:
16867
-
version "1.15.3"
16868
-
resolved "https://registry.yarnpkg.com/react-native-ios-context-menu/-/react-native-ios-context-menu-1.15.3.tgz#c02e6a7af2df8c08d0b3e1c8f3395484b3c9c760"
16869
-
integrity sha512-UNkVl7ocvSpNaEpvBvE1aHOfDy/DFdZ5I+ElfnTXFsRxrVZmxLtST0b1q2wSWGWDmd2Ig2AYd7GRbYtcY222Ag==
16870
-
dependencies:
16871
-
"@dominicstop/ts-event-emitter" "^1.1.0"
16872
-
16873
-
react-native-is-edge-to-edge@1.1.7, react-native-is-edge-to-edge@^1.1.7:
17015
+
react-native-is-edge-to-edge@1.1.7:
16874
17016
version "1.1.7"
16875
17017
resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.7.tgz#28947688f9fafd584e73a4f935ea9603bd9b1939"
16876
17018
integrity sha512-EH6i7E8epJGIcu7KpfXYXiV2JFIYITtq+rVS8uEb+92naMRBdxhTuS8Wn2Q7j9sqyO0B+Xbaaf9VdipIAmGW4w==
16877
17019
16878
-
react-native-is-edge-to-edge@^1.1.6:
16879
-
version "1.1.6"
16880
-
resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.6.tgz#69ec13f70d76e9245e275eed4140d0873a78f902"
16881
-
integrity sha512-1pHnFTlBahins6UAajXUqeCOHew9l9C2C8tErnpGC3IyLJzvxD+TpYAixnCbrVS52f7+NvMttbiSI290XfwN0w==
17020
+
react-native-is-edge-to-edge@^1.2.1:
17021
+
version "1.2.1"
17022
+
resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz#64e10851abd9d176cbf2b40562f751622bde3358"
17023
+
integrity sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==
16882
17024
16883
-
react-native-keyboard-controller@^1.17.5:
16884
-
version "1.17.5"
16885
-
resolved "https://registry.yarnpkg.com/react-native-keyboard-controller/-/react-native-keyboard-controller-1.17.5.tgz#a517f0d42f73e69a03e768379934a3bb705595f5"
16886
-
integrity sha512-2bZi4uH/beAcHiQ7nv6sxW03/UpNcnNAPpaSnQtg0cbU3ySThPRETMqr0ZupFLUSZovolyFhyFJLjxmQ7cavJg==
17025
+
react-native-keyboard-controller@1.18.5:
17026
+
version "1.18.5"
17027
+
resolved "https://registry.yarnpkg.com/react-native-keyboard-controller/-/react-native-keyboard-controller-1.18.5.tgz#ae12131f2019c574178479d2c55784f55e08bb68"
17028
+
integrity sha512-wbYN6Tcu3G5a05dhRYBgjgd74KqoYWuUmroLpigRg9cXy5uYo7prTMIvMgvLtARQtUF7BOtFggUnzgoBOgk0TQ==
16887
17029
dependencies:
16888
-
react-native-is-edge-to-edge "^1.1.6"
17030
+
react-native-is-edge-to-edge "^1.2.1"
16889
17031
16890
17032
react-native-mmkv@^2.12.2:
16891
17033
version "2.12.2"
···
16911
17053
qrcode "^1.5.4"
16912
17054
react-fast-compare "^3.2.2"
16913
17055
16914
-
react-native-reanimated@~3.17.5:
16915
-
version "3.17.5"
16916
-
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.17.5.tgz#09ebe3c9e3379c5c0c588b7ab30c131ea29b60f0"
16917
-
integrity sha512-SxBK7wQfJ4UoWoJqQnmIC7ZjuNgVb9rcY5Xc67upXAFKftWg0rnkknTw6vgwnjRcvYThrjzUVti66XoZdDJGtw==
17056
+
react-native-reanimated@^3.19.1:
17057
+
version "3.19.1"
17058
+
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.19.1.tgz#761f731bfb5dc67724ca7bf7bce90a6da975d753"
17059
+
integrity sha512-ILL0FSNzSVIg6WuawrsMBvNxk2yJFiTUcahimXDAeNiE/09eagVUlHhYWXAAmH0umvAOafBaGjO7YfBhUrf5ZQ==
16918
17060
dependencies:
16919
17061
"@babel/plugin-transform-arrow-functions" "^7.0.0-0"
16920
17062
"@babel/plugin-transform-class-properties" "^7.0.0-0"
···
16934
17076
resolved "https://registry.yarnpkg.com/react-native-root-siblings/-/react-native-root-siblings-5.0.1.tgz#97e050e5155228f65810fb1c466ff8e769c5272c"
16935
17077
integrity sha512-Ay3k/fBj6ReUkWX5WNS+oEAcgPLEGOK8n7K/L7D85mf3xvd8rm/b4spsv26E4HlFzluVx5HKbxEt9cl0wQ1u3g==
16936
17078
16937
-
react-native-safe-area-context@5.4.0:
16938
-
version "5.4.0"
16939
-
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-5.4.0.tgz#04b51940408c114f75628a12a93569d30c525454"
16940
-
integrity sha512-JaEThVyJcLhA+vU0NU8bZ0a1ih6GiF4faZ+ArZLqpYbL6j7R3caRqj+mE3lEtKCuHgwjLg3bCxLL1GPUJZVqUA==
17079
+
react-native-safe-area-context@~5.6.0:
17080
+
version "5.6.1"
17081
+
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-5.6.1.tgz#cb4d249ef1a6f7e8fd0cfdfa9764838dffda26b6"
17082
+
integrity sha512-/wJE58HLEAkATzhhX1xSr+fostLsK8Q97EfpfMDKo8jlOc1QKESSX/FQrhk7HhQH/2uSaox4Y86sNaI02kteiA==
16941
17083
16942
-
react-native-screens@^4.11.1:
16943
-
version "4.11.1"
16944
-
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.11.1.tgz#7d0f3d313d8ddc1e55437c5e038f15f8805dc991"
16945
-
integrity sha512-F0zOzRVa3ptZfLpD0J8ROdo+y1fEPw+VBFq1MTY/iyDu08al7qFUO5hLMd+EYMda5VXGaTFCa8q7bOppUszhJw==
17084
+
react-native-screens@~4.16.0:
17085
+
version "4.16.0"
17086
+
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.16.0.tgz#efa42e77a092aa0b5277c9ae41391ea0240e0870"
17087
+
integrity sha512-yIAyh7F/9uWkOzCi1/2FqvNvK6Wb9Y1+Kzn16SuGfN9YFJDTbwlzGRvePCNTOX0recpLQF3kc2FmvMUhyTCH1Q==
16946
17088
dependencies:
16947
17089
react-freeze "^1.0.0"
16948
-
react-native-is-edge-to-edge "^1.1.7"
17090
+
react-native-is-edge-to-edge "^1.2.1"
16949
17091
warn-once "^0.1.0"
16950
17092
16951
-
react-native-svg@15.12.0:
16952
-
version "15.12.0"
16953
-
resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.12.0.tgz#0e2d476961e8b07f8c549fe4489c99b5130dc150"
16954
-
integrity sha512-iE25PxIJ6V0C6krReLquVw6R0QTsRTmEQc4K2Co3P6zsimU/jltcDBKYDy1h/5j9S/fqmMeXnpM+9LEWKJKI6A==
17093
+
react-native-svg@15.12.1:
17094
+
version "15.12.1"
17095
+
resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.12.1.tgz#7ba756dd6a235f86a2c312a1e7911f9b0d18ad3a"
17096
+
integrity sha512-vCuZJDf8a5aNC2dlMovEv4Z0jjEUET53lm/iILFnFewa15b4atjVxU6Wirm6O9y6dEsdjDZVD7Q3QM4T1wlI8g==
16955
17097
dependencies:
16956
17098
css-select "^5.1.0"
16957
17099
css-tree "^1.1.3"
···
16988
17130
dependencies:
16989
17131
qs "^6.5.1"
16990
17132
16991
-
react-native-web@~0.20.0:
16992
-
version "0.20.0"
16993
-
resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.20.0.tgz#3fb0591999ed4b54d7822a2785547415e8a5c031"
16994
-
integrity sha512-OOSgrw+aON6R3hRosCau/xVxdLzbjEcsLysYedka0ZON4ZZe6n9xgeN9ZkoejhARM36oTlUgHIQqxGutEJ9Wxg==
17133
+
react-native-web@^0.21.0:
17134
+
version "0.21.1"
17135
+
resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.21.1.tgz#ba36a42f02a19da0cfdb70f6f963acaede4a7b3c"
17136
+
integrity sha512-BeNsgwwe4AXUFPAoFU+DKjJ+CVQa3h54zYX77p7GVZrXiiNo3vl03WYDYVEy5R2J2HOPInXtQZB5gmj3vuzrKg==
16995
17137
dependencies:
16996
17138
"@babel/runtime" "^7.18.6"
16997
17139
"@react-native/normalize-colors" "^0.74.1"
···
17010
17152
escape-string-regexp "^4.0.0"
17011
17153
invariant "2.2.4"
17012
17154
17013
-
react-native@^0.79.3:
17014
-
version "0.79.3"
17015
-
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.79.3.tgz#16580ca202016c75e3c61116fcfe3b30f6d762fc"
17016
-
integrity sha512-EzH1+9gzdyEo9zdP6u7Sh3Jtf5EOMwzy+TK65JysdlgAzfEVfq4mNeXcAZ6SmD+CW6M7ARJbvXLyTD0l2S5rpg==
17155
+
react-native@0.81.4:
17156
+
version "0.81.4"
17157
+
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.81.4.tgz#d5e9d0a71ed2e80a550a6c358f2ce3ddb6f5b119"
17158
+
integrity sha512-bt5bz3A/+Cv46KcjV0VQa+fo7MKxs17RCcpzjftINlen4ZDUl0I6Ut+brQ2FToa5oD0IB0xvQHfmsg2EDqsZdQ==
17017
17159
dependencies:
17018
17160
"@jest/create-cache-key-function" "^29.7.0"
17019
-
"@react-native/assets-registry" "0.79.3"
17020
-
"@react-native/codegen" "0.79.3"
17021
-
"@react-native/community-cli-plugin" "0.79.3"
17022
-
"@react-native/gradle-plugin" "0.79.3"
17023
-
"@react-native/js-polyfills" "0.79.3"
17024
-
"@react-native/normalize-colors" "0.79.3"
17025
-
"@react-native/virtualized-lists" "0.79.3"
17161
+
"@react-native/assets-registry" "0.81.4"
17162
+
"@react-native/codegen" "0.81.4"
17163
+
"@react-native/community-cli-plugin" "0.81.4"
17164
+
"@react-native/gradle-plugin" "0.81.4"
17165
+
"@react-native/js-polyfills" "0.81.4"
17166
+
"@react-native/normalize-colors" "0.81.4"
17167
+
"@react-native/virtualized-lists" "0.81.4"
17026
17168
abort-controller "^3.0.0"
17027
17169
anser "^1.4.9"
17028
17170
ansi-regex "^5.0.0"
17029
17171
babel-jest "^29.7.0"
17030
-
babel-plugin-syntax-hermes-parser "0.25.1"
17172
+
babel-plugin-syntax-hermes-parser "0.29.1"
17031
17173
base64-js "^1.5.1"
17032
-
chalk "^4.0.0"
17033
17174
commander "^12.0.0"
17034
-
event-target-shim "^5.0.1"
17035
17175
flow-enums-runtime "^0.0.6"
17036
17176
glob "^7.1.1"
17037
17177
invariant "^2.2.4"
17038
17178
jest-environment-node "^29.7.0"
17039
17179
memoize-one "^5.0.0"
17040
-
metro-runtime "^0.82.0"
17041
-
metro-source-map "^0.82.0"
17180
+
metro-runtime "^0.83.1"
17181
+
metro-source-map "^0.83.1"
17042
17182
nullthrows "^1.1.1"
17043
17183
pretty-format "^29.7.0"
17044
17184
promise "^8.3.0"
17045
-
react-devtools-core "^6.1.1"
17185
+
react-devtools-core "^6.1.5"
17046
17186
react-refresh "^0.14.0"
17047
17187
regenerator-runtime "^0.13.2"
17048
-
scheduler "0.25.0"
17188
+
scheduler "0.26.0"
17049
17189
semver "^7.1.3"
17050
17190
stacktrace-parser "^0.1.10"
17051
17191
whatwg-fetch "^3.0.0"
···
17067
17207
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53"
17068
17208
integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==
17069
17209
17070
-
react-remove-scroll-bar@^2.3.6:
17071
-
version "2.3.6"
17072
-
resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c"
17073
-
integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==
17074
-
dependencies:
17075
-
react-style-singleton "^2.2.1"
17076
-
tslib "^2.0.0"
17077
-
17078
17210
react-remove-scroll-bar@^2.3.7, react-remove-scroll-bar@^2.3.8:
17079
17211
version "2.3.8"
17080
17212
resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223"
···
17082
17214
dependencies:
17083
17215
react-style-singleton "^2.2.2"
17084
17216
tslib "^2.0.0"
17085
-
17086
-
react-remove-scroll@2.6.0:
17087
-
version "2.6.0"
17088
-
resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz#fb03a0845d7768a4f1519a99fdb84983b793dc07"
17089
-
integrity sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==
17090
-
dependencies:
17091
-
react-remove-scroll-bar "^2.3.6"
17092
-
react-style-singleton "^2.2.1"
17093
-
tslib "^2.1.0"
17094
-
use-callback-ref "^1.3.0"
17095
-
use-sidecar "^1.1.2"
17096
17217
17097
17218
react-remove-scroll@^2.6.3:
17098
17219
version "2.6.3"
···
17124
17245
neo-async "^2.6.1"
17125
17246
webpack-sources "^3.2.0"
17126
17247
17127
-
react-style-singleton@^2.2.1:
17128
-
version "2.2.1"
17129
-
resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4"
17130
-
integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==
17131
-
dependencies:
17132
-
get-nonce "^1.0.0"
17133
-
invariant "^2.2.4"
17134
-
tslib "^2.0.0"
17135
-
17136
17248
react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
17137
17249
version "2.2.3"
17138
17250
resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388"
···
17141
17253
get-nonce "^1.0.0"
17142
17254
tslib "^2.0.0"
17143
17255
17144
-
react-test-renderer@19.0.0:
17145
-
version "19.0.0"
17146
-
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.0.0.tgz#ca6fa322c58d4bfa34635788fe242a8c3daa4c7d"
17147
-
integrity sha512-oX5u9rOQlHzqrE/64CNr0HB0uWxkCQmZNSfozlYvwE71TLVgeZxVf0IjouGEr1v7r1kcDifdAJBeOhdhxsG/DA==
17256
+
react-test-renderer@19.1.0:
17257
+
version "19.1.0"
17258
+
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.1.0.tgz#89e1baa9e45a6da064b9760f92251d5b8e1f34ab"
17259
+
integrity sha512-jXkSl3CpvPYEF+p/eGDLB4sPoDX8pKkYvRl9+rR8HxLY0X04vW7hCm1/0zHoUSjPZ3bDa+wXWNTDVIw/R8aDVw==
17148
17260
dependencies:
17149
-
react-is "^19.0.0"
17150
-
scheduler "^0.25.0"
17261
+
react-is "^19.1.0"
17262
+
scheduler "^0.26.0"
17151
17263
17152
17264
react-textarea-autosize@^8.5.3:
17153
17265
version "8.5.3"
···
17158
17270
use-composed-ref "^1.3.0"
17159
17271
use-latest "^1.2.1"
17160
17272
17161
-
react@19.0.0:
17162
-
version "19.0.0"
17163
-
resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd"
17164
-
integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==
17273
+
react@19.1.0:
17274
+
version "19.1.0"
17275
+
resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75"
17276
+
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
17165
17277
17166
17278
readable-stream@^2.0.1:
17167
17279
version "2.3.8"
···
17464
17576
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
17465
17577
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
17466
17578
17579
+
resolve-global@^1.0.0:
17580
+
version "1.0.0"
17581
+
resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255"
17582
+
integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==
17583
+
dependencies:
17584
+
global-dirs "^0.1.1"
17585
+
17467
17586
resolve-workspace-root@^2.0.0:
17468
17587
version "2.0.0"
17469
17588
resolved "https://registry.yarnpkg.com/resolve-workspace-root/-/resolve-workspace-root-2.0.0.tgz#a0098daa0067cd0efa6eb525c57c8fb4a61e78f8"
···
17717
17836
dependencies:
17718
17837
xmlchars "^2.2.0"
17719
17838
17720
-
scheduler@0.25.0, scheduler@^0.25.0:
17721
-
version "0.25.0"
17722
-
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
17723
-
integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==
17839
+
scheduler@0.26.0, scheduler@^0.26.0:
17840
+
version "0.26.0"
17841
+
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337"
17842
+
integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
17724
17843
17725
17844
schema-utils@^2.6.5:
17726
17845
version "2.7.1"
···
17960
18079
version "1.2.0"
17961
18080
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
17962
18081
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
17963
-
17964
-
sf-symbols-typescript@^1.0.0:
17965
-
version "1.0.0"
17966
-
resolved "https://registry.yarnpkg.com/sf-symbols-typescript/-/sf-symbols-typescript-1.0.0.tgz#94e9210bf27e7583f9749a0d07bd4f4937ea488f"
17967
-
integrity sha512-DkS7q3nN68dEMb4E18HFPDAvyrjDZK9YAQQF2QxeFu9gp2xRDXFMF8qLJ1EmQ/qeEGQmop4lmMM1WtYJTIcCMw==
17968
18082
17969
18083
shallow-equal@^3.1.0:
17970
18084
version "3.1.0"
···
19223
19337
optionalDependencies:
19224
19338
rxjs "^7.5.2"
19225
19339
19226
-
typescript@~5.8.3:
19227
-
version "5.8.3"
19228
-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e"
19229
-
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
19340
+
typescript@^5.9.2:
19341
+
version "5.9.2"
19342
+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6"
19343
+
integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==
19230
19344
19231
19345
ua-parser-js@^0.7.33:
19232
19346
version "0.7.35"
···
19335
19449
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
19336
19450
integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
19337
19451
19338
-
unimodules-app-loader@~5.1.3:
19339
-
version "5.1.3"
19340
-
resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-5.1.3.tgz#c3be527cd36120fc77d6843253075c8a9246f622"
19341
-
integrity sha512-nPUkwfkpJWvdOQrVvyQSUol93/UdmsCVd9Hkx9RgAevmKSVYdZI+S87W73NGKl6QbwK9L1BDSY5OrQuo8Oq15g==
19452
+
unimodules-app-loader@~6.0.7:
19453
+
version "6.0.7"
19454
+
resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-6.0.7.tgz#d88db74075815bcdc088c6c6823a2b08394a1225"
19455
+
integrity sha512-23iwxmh6/y54PRGJt/xjsOpPK8vlfusBisi3yaVSK22pxg5DmiL/+IHCtbb/crHC+gqdItcy1OoRsZQHfNSBaw==
19342
19456
19343
19457
unique-string@~2.0.0:
19344
19458
version "2.0.0"
···
19352
19466
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
19353
19467
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
19354
19468
19355
-
universalify@^1.0.0:
19356
-
version "1.0.0"
19357
-
resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
19358
-
integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
19359
-
19360
19469
universalify@^2.0.0:
19361
19470
version "2.0.0"
19362
19471
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
···
19406
19515
escalade "^3.2.0"
19407
19516
picocolors "^1.1.0"
19408
19517
19518
+
update-browserslist-db@^1.1.3:
19519
+
version "1.1.3"
19520
+
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
19521
+
integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
19522
+
dependencies:
19523
+
escalade "^3.2.0"
19524
+
picocolors "^1.1.1"
19525
+
19409
19526
update-check@1.5.3:
19410
19527
version "1.5.3"
19411
19528
resolved "https://registry.yarnpkg.com/update-check/-/update-check-1.5.3.tgz#45240fcfb8755a7c7fa68bbdd9eda026a41639ed"
···
19429
19546
querystringify "^2.1.1"
19430
19547
requires-port "^1.0.0"
19431
19548
19432
-
use-callback-ref@^1.3.0:
19433
-
version "1.3.0"
19434
-
resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5"
19435
-
integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==
19436
-
dependencies:
19437
-
tslib "^2.0.0"
19438
-
19439
19549
use-callback-ref@^1.3.3:
19440
19550
version "1.3.3"
19441
19551
resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.3.tgz#98d9fab067075841c5b2c6852090d5d0feabe2bf"
···
19464
19574
integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==
19465
19575
dependencies:
19466
19576
use-isomorphic-layout-effect "^1.1.1"
19467
-
19468
-
use-sidecar@^1.1.2:
19469
-
version "1.1.2"
19470
-
resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2"
19471
-
integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==
19472
-
dependencies:
19473
-
detect-node-es "^1.1.0"
19474
-
tslib "^2.0.0"
19475
19577
19476
19578
use-sidecar@^1.1.3:
19477
19579
version "1.1.3"
···
20050
20152
resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
20051
20153
integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
20052
20154
20155
+
ws@^8.18.3:
20156
+
version "8.18.3"
20157
+
resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472"
20158
+
integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
20159
+
20053
20160
xcode@^3.0.1:
20054
20161
version "3.0.1"
20055
20162
resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c"
···
20136
20243
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
20137
20244
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
20138
20245
20246
+
yaml@^2.6.1:
20247
+
version "2.8.1"
20248
+
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.1.tgz#1870aa02b631f7e8328b93f8bc574fac5d6c4d79"
20249
+
integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==
20250
+
20139
20251
yargs-parser@^18.1.2:
20140
20252
version "18.1.3"
20141
20253
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
···
20197
20309
css-what "^6.1.0"
20198
20310
entities "^5.0.0"
20199
20311
20200
-
zeego@^1.6.2:
20201
-
version "1.7.0"
20202
-
resolved "https://registry.yarnpkg.com/zeego/-/zeego-1.7.0.tgz#8034adb842199c4ccf21bcb19877800bff18606b"
20203
-
integrity sha512-dZP/iUMeYLfKFnWMn+gNBJkHrR5Cu1ySyCeSkBAJmG9wjCsXoBVMyO7kV6/Y7P0ZhD5c/oS+0/Z6duxeDIos0g==
20204
-
dependencies:
20205
-
"@radix-ui/react-context-menu" "^2.0.1"
20206
-
"@radix-ui/react-dropdown-menu" "^2.0.1"
20207
-
sf-symbols-typescript "^1.0.0"
20312
+
zod-to-json-schema@^3.24.6:
20313
+
version "3.24.6"
20314
+
resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz#5920f020c4d2647edfbb954fa036082b92c9e12d"
20315
+
integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==
20208
20316
20209
20317
zod-validation-error@^3.0.3:
20210
20318
version "3.3.0"
20211
20319
resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.3.0.tgz#2cfe81b62d044e0453d1aa3ae7c32a2f36dde9af"
20212
20320
integrity sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==
20213
20321
20214
-
zod@3.23.8, zod@^3.14.2, zod@^3.20.2, zod@^3.22.4, zod@^3.23.8:
20322
+
zod@3.23.8, zod@^3.14.2, zod@^3.20.2, zod@^3.22.4, zod@^3.23.8, zod@^3.25.76:
20215
20323
version "3.23.8"
20216
20324
resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d"
20217
20325
integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==