peachsim 0.1.629 → 0.1.631
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/cli/app-fonts.ts +23 -4
- package/cli/bridge-flow-runner.ts +45 -31
- package/cli/cli-update.ts +2 -7
- package/cli/cloud-test-tunnel.ts +16 -3
- package/cli/command-registry.ts +1 -0
- package/cli/commands/compat.ts +11 -60
- package/cli/commands/config.ts +1 -1
- package/cli/commands/control.ts +40 -8
- package/cli/commands/daemon-mac-app.ts +4 -2
- package/cli/commands/daemon.ts +4 -4
- package/cli/commands/detect.ts +289 -26
- package/cli/commands/device.ts +2 -3
- package/cli/commands/inspect/actions.ts +125 -90
- package/cli/commands/inspect/core.ts +1 -1
- package/cli/commands/inspect.ts +10 -1
- package/cli/commands/maestro.ts +3 -1
- package/cli/commands/platform.ts +1 -1
- package/cli/commands/project-report.ts +386 -0
- package/cli/commands/projectReportContract.ts +42 -0
- package/cli/commands/report-issue.ts +38 -54
- package/cli/commands/screenshot-layers.ts +1 -1
- package/cli/commands/screenshot.ts +1 -1
- package/cli/commands/setup.ts +6 -4
- package/cli/commands/skills.ts +0 -31
- package/cli/commands/telemetry.ts +8 -3
- package/cli/commands/test.ts +347 -134
- package/cli/drivers/playwright-provisioning.ts +3 -2
- package/cli/drivers/playwright-sim-host.ts +25 -9
- package/cli/main.ts +19 -3
- package/cli/outbound-endpoints.ts +2 -5
- package/cli/privacy.ts +1 -2
- package/cli/runtime-diagnostics.ts +51 -0
- package/cli/telemetry.ts +78 -7
- package/detox/index.ts +77 -51
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud-test-args.cjs +1 -1
- package/dist-lib/cloud-test-args.mjs +1 -1
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +130 -33
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +8 -5
- package/dist-lib/host/bridge-host.cjs +353 -290
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +257 -121
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/{vite-kotlin.cjs → kotlin-host.cjs} +130 -19
- package/dist-lib/menu.cjs +11 -1
- package/dist-lib/menu.mjs +11 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +132 -9
- package/dist-lib/native-app-identity.cjs +278 -0
- package/dist-lib/native-app-identity.mjs +245 -0
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +112 -87
- package/dist-lib/sdk.mjs +111 -87
- package/dist-lib/skills.cjs +1270 -709
- package/dist-lib/swift-compile.cjs +1 -1
- package/dist-lib/swift-compile.mjs +1 -1
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift.cjs +672 -275
- package/dist-lib/vite-swift.cjs +1 -1
- package/dist-lib/vite.cjs +11 -28
- package/kotlin/README.md +32 -4
- package/kotlin/fixtures/counter/Counter.kt +26 -0
- package/kotlin/fixtures/counter/CounterScreen.kt +40 -0
- package/kotlin/fixtures/headless-counter/Headless.kt +228 -0
- package/kotlin/fixtures/runtime-state/RuntimeState.kt +200 -0
- package/kotlin/fork/LICENSE +178 -0
- package/kotlin/fork/NOTICE +25 -0
- package/kotlin/fork/README.md +59 -0
- package/kotlin/fork/build.sh +128 -0
- package/kotlin/fork/compose-worker-globals.patch +96 -0
- package/kotlin/fork/fork.json +33 -0
- package/kotlin/fork/publish.ts +77 -0
- package/kotlin/fork/skiko-worker-clock.patch +33 -0
- package/kotlin/toolchain.json +288 -0
- package/package.json +13 -5
- package/skills/contrast/SKILL.md +1 -0
- package/src/automatic-update-policy.ts +17 -0
- package/src/home-paths.ts +11 -9
- package/src/host/bridge-host.ts +3 -1
- package/src/{vite-plugin-kotlin.ts → kotlin-host.ts} +155 -12
- package/src/menu.ts +11 -0
- package/src/metro-plugin.ts +18 -0
- package/src/native-app-identity.ts +376 -0
- package/src/native-firebase-config.ts +90 -0
- package/src/screenshots/frame-compose.ts +1 -1
- package/src/screenshots/registry.ts +1 -1
- package/src/screenshots/schema.ts +2 -2
- package/src/vite-plugin-one.ts +11 -28
- package/src/vite-plugin.ts +6 -1
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.631 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -2835,6 +2835,12 @@ var settingsSchema = {
|
|
|
2835
2835
|
options: import_menu.SOOTSIM_RENDER_RESOLUTION_LEVELS,
|
|
2836
2836
|
group: "simulator"
|
|
2837
2837
|
},
|
|
2838
|
+
slowAnimations: {
|
|
2839
|
+
type: "boolean",
|
|
2840
|
+
default: false,
|
|
2841
|
+
description: "Run simulated app and OS animations at one tenth speed",
|
|
2842
|
+
group: "simulator"
|
|
2843
|
+
},
|
|
2838
2844
|
showTouches: {
|
|
2839
2845
|
type: "boolean",
|
|
2840
2846
|
default: false,
|
|
@@ -3069,6 +3075,7 @@ function readUrlSettingOverrides(search) {
|
|
|
3069
3075
|
out.colorScheme = colorScheme;
|
|
3070
3076
|
}
|
|
3071
3077
|
for (const key of [
|
|
3078
|
+
"slowAnimations",
|
|
3072
3079
|
"reduceMotion",
|
|
3073
3080
|
"boldText",
|
|
3074
3081
|
"largerAccessibilitySizes",
|
|
@@ -3154,6 +3161,7 @@ function getDefaults() {
|
|
|
3154
3161
|
// ../peach-engine/src/settings/persistence.ts
|
|
3155
3162
|
var STORAGE_KEY = "sootsim:settings";
|
|
3156
3163
|
var PERSISTED_KEYS = [
|
|
3164
|
+
"slowAnimations",
|
|
3157
3165
|
"productAnalytics",
|
|
3158
3166
|
"crashReports",
|
|
3159
3167
|
"colorScheme",
|
|
@@ -3868,7 +3876,7 @@ function getTimelineChannel() {
|
|
|
3868
3876
|
return cached;
|
|
3869
3877
|
}
|
|
3870
3878
|
const bc = new globalObj.BroadcastChannel(TIMELINE_BROADCAST_CHANNEL);
|
|
3871
|
-
const
|
|
3879
|
+
const listeners8 = /* @__PURE__ */ new Set();
|
|
3872
3880
|
bc.onmessage = (ev) => {
|
|
3873
3881
|
const e = ev.data;
|
|
3874
3882
|
if (!e || typeof e !== "object") return;
|
|
@@ -3880,7 +3888,7 @@ function getTimelineChannel() {
|
|
|
3880
3888
|
} else if (e.type !== "control") {
|
|
3881
3889
|
return;
|
|
3882
3890
|
}
|
|
3883
|
-
for (const fn of
|
|
3891
|
+
for (const fn of listeners8) {
|
|
3884
3892
|
try {
|
|
3885
3893
|
fn(e);
|
|
3886
3894
|
} catch {
|
|
@@ -3895,8 +3903,8 @@ function getTimelineChannel() {
|
|
|
3895
3903
|
}
|
|
3896
3904
|
},
|
|
3897
3905
|
subscribe(listener) {
|
|
3898
|
-
|
|
3899
|
-
return () =>
|
|
3906
|
+
listeners8.add(listener);
|
|
3907
|
+
return () => listeners8.delete(listener);
|
|
3900
3908
|
},
|
|
3901
3909
|
close() {
|
|
3902
3910
|
try {
|
|
@@ -4248,10 +4256,10 @@ function peekDeviceSpec() {
|
|
|
4248
4256
|
return spec;
|
|
4249
4257
|
}
|
|
4250
4258
|
function onDeviceSpecChange(listener) {
|
|
4251
|
-
const
|
|
4252
|
-
|
|
4259
|
+
const listeners8 = getListenerSet();
|
|
4260
|
+
listeners8.add(listener);
|
|
4253
4261
|
return () => {
|
|
4254
|
-
|
|
4262
|
+
listeners8.delete(listener);
|
|
4255
4263
|
};
|
|
4256
4264
|
}
|
|
4257
4265
|
|
|
@@ -5256,6 +5264,19 @@ function isNativeAnimationGraph(value) {
|
|
|
5256
5264
|
}
|
|
5257
5265
|
return false;
|
|
5258
5266
|
}
|
|
5267
|
+
function samplePiecewiseLinear(input, inputRange, outputRange, clamp) {
|
|
5268
|
+
let i = 0;
|
|
5269
|
+
for (; i < inputRange.length - 1; i++) {
|
|
5270
|
+
if (input <= inputRange[i + 1]) break;
|
|
5271
|
+
}
|
|
5272
|
+
i = Math.min(i, inputRange.length - 2);
|
|
5273
|
+
if (inputRange[i + 1] === inputRange[i]) {
|
|
5274
|
+
return input <= inputRange[i] ? outputRange[i] : outputRange[i + 1];
|
|
5275
|
+
}
|
|
5276
|
+
const t = (input - inputRange[i]) / (inputRange[i + 1] - inputRange[i]);
|
|
5277
|
+
const clamped = clamp ? Math.max(0, Math.min(1, t)) : t;
|
|
5278
|
+
return outputRange[i] + (outputRange[i + 1] - outputRange[i]) * clamped;
|
|
5279
|
+
}
|
|
5259
5280
|
function cubicBezierAxisAt(t, p1, p2) {
|
|
5260
5281
|
const u = 1 - t;
|
|
5261
5282
|
return 3 * u * u * t * p1 + 3 * u * t * t * p2 + t * t * t;
|
|
@@ -5280,6 +5301,46 @@ function sampleCubicBezierEasing(x, x1, y1, x2, y2) {
|
|
|
5280
5301
|
}
|
|
5281
5302
|
return cubicBezierAxisAt((lo + hi) / 2, y1, y2);
|
|
5282
5303
|
}
|
|
5304
|
+
function sampleNativeAnimationGraph(graph, epochMs) {
|
|
5305
|
+
if (graph.kind === "interpolate") {
|
|
5306
|
+
return samplePiecewiseLinear(
|
|
5307
|
+
sampleNativeAnimationGraph(graph.parent, epochMs),
|
|
5308
|
+
graph.inputRange,
|
|
5309
|
+
graph.outputRange,
|
|
5310
|
+
graph.clamp
|
|
5311
|
+
);
|
|
5312
|
+
}
|
|
5313
|
+
if (graph.kind === "spring") {
|
|
5314
|
+
const elapsedMs = epochMs - graph.anchorEpochMs;
|
|
5315
|
+
if (elapsedMs <= 0) return graph.from;
|
|
5316
|
+
if (elapsedMs >= graph.restMs) return graph.to;
|
|
5317
|
+
return evaluateRNSpringAt(graph.from, graph, graph.to, elapsedMs / 1e3).position;
|
|
5318
|
+
}
|
|
5319
|
+
if (graph.kind === "timed") {
|
|
5320
|
+
const elapsedMs = epochMs - graph.anchorEpochMs;
|
|
5321
|
+
if (elapsedMs <= 0) return graph.from;
|
|
5322
|
+
if (elapsedMs >= graph.durationMs) return graph.to;
|
|
5323
|
+
const eased = sampleCubicBezierEasing(
|
|
5324
|
+
elapsedMs / graph.durationMs,
|
|
5325
|
+
graph.x1,
|
|
5326
|
+
graph.y1,
|
|
5327
|
+
graph.x2,
|
|
5328
|
+
graph.y2
|
|
5329
|
+
);
|
|
5330
|
+
return graph.from + (graph.to - graph.from) * eased;
|
|
5331
|
+
}
|
|
5332
|
+
const span = graph.to - graph.from;
|
|
5333
|
+
if (span === 0) return graph.anchorValue;
|
|
5334
|
+
const progressed = (epochMs - graph.anchorEpochMs) / graph.periodMs * span;
|
|
5335
|
+
const wrapped = (graph.anchorValue + progressed - graph.from) % span;
|
|
5336
|
+
return graph.from + (wrapped < 0 ? wrapped + span : wrapped);
|
|
5337
|
+
}
|
|
5338
|
+
function getNativeAnimationGraphEndEpochMs(graph) {
|
|
5339
|
+
if (graph.kind === "interpolate") return getNativeAnimationGraphEndEpochMs(graph.parent);
|
|
5340
|
+
if (graph.kind === "spring") return graph.anchorEpochMs + graph.restMs;
|
|
5341
|
+
if (graph.kind === "timed") return graph.anchorEpochMs + graph.durationMs;
|
|
5342
|
+
return null;
|
|
5343
|
+
}
|
|
5283
5344
|
function createTimedAnimationGraph(fromValue, toValue, durationMs, easing, anchorEpochMs) {
|
|
5284
5345
|
const points = easing.__bezier;
|
|
5285
5346
|
if (!points || points.length !== 4 || !points.every(isFiniteNumber)) return null;
|
|
@@ -5299,15 +5360,70 @@ function createTimedAnimationGraph(fromValue, toValue, durationMs, easing, ancho
|
|
|
5299
5360
|
};
|
|
5300
5361
|
}
|
|
5301
5362
|
|
|
5363
|
+
// ../peach-engine/src/engine/animation-timeline.ts
|
|
5364
|
+
var hostTimeOrigin = performance.timeOrigin;
|
|
5365
|
+
var clock = { anchorH: 0, anchorA: 0, rate: 1, revision: 0 };
|
|
5366
|
+
var steppedHostNow = null;
|
|
5367
|
+
var steppedAnimationNow = null;
|
|
5368
|
+
var listeners5 = /* @__PURE__ */ new Set();
|
|
5369
|
+
function mapHostAnimationTime(hostNow) {
|
|
5370
|
+
return clock.anchorA + (hostNow - clock.anchorH) * clock.rate;
|
|
5371
|
+
}
|
|
5372
|
+
function getRawHostTime() {
|
|
5373
|
+
return steppedHostNow ?? performance.timeOrigin + performance.now() - hostTimeOrigin;
|
|
5374
|
+
}
|
|
5375
|
+
function getAnimationTime() {
|
|
5376
|
+
return steppedAnimationNow ?? mapHostAnimationTime(getRawHostTime());
|
|
5377
|
+
}
|
|
5378
|
+
function getAnimationTimeOrigin() {
|
|
5379
|
+
return hostTimeOrigin;
|
|
5380
|
+
}
|
|
5381
|
+
function subscribeAnimationClock(listener) {
|
|
5382
|
+
listeners5.add(listener);
|
|
5383
|
+
return () => {
|
|
5384
|
+
listeners5.delete(listener);
|
|
5385
|
+
};
|
|
5386
|
+
}
|
|
5387
|
+
function animationDelayToWallTime(delayMs) {
|
|
5388
|
+
return Math.max(0, delayMs) / clock.rate;
|
|
5389
|
+
}
|
|
5390
|
+
var deadlineListeners = /* @__PURE__ */ new Set();
|
|
5391
|
+
function scheduleAnimationDeadline(deadline, callback) {
|
|
5392
|
+
let timer = null;
|
|
5393
|
+
let active = true;
|
|
5394
|
+
const cancel = () => {
|
|
5395
|
+
active = false;
|
|
5396
|
+
if (timer !== null) clearTimeout(timer);
|
|
5397
|
+
timer = null;
|
|
5398
|
+
listeners5.delete(update);
|
|
5399
|
+
deadlineListeners.delete(update);
|
|
5400
|
+
};
|
|
5401
|
+
const update = () => {
|
|
5402
|
+
if (!active) return;
|
|
5403
|
+
if (timer !== null) clearTimeout(timer);
|
|
5404
|
+
timer = null;
|
|
5405
|
+
const remaining = deadline - getAnimationTime();
|
|
5406
|
+
if (remaining <= 0) {
|
|
5407
|
+
cancel();
|
|
5408
|
+
callback();
|
|
5409
|
+
} else if (steppedHostNow === null) {
|
|
5410
|
+
timer = setTimeout(update, animationDelayToWallTime(remaining));
|
|
5411
|
+
}
|
|
5412
|
+
};
|
|
5413
|
+
listeners5.add(update);
|
|
5414
|
+
deadlineListeners.add(update);
|
|
5415
|
+
queueMicrotask(update);
|
|
5416
|
+
return cancel;
|
|
5417
|
+
}
|
|
5418
|
+
|
|
5302
5419
|
// ../peach-engine/src/engine/frame-clock.ts
|
|
5303
|
-
var animationEpochMs = null;
|
|
5304
5420
|
function getAnimationEpochTime() {
|
|
5305
|
-
return
|
|
5421
|
+
return getAnimationTimeOrigin() + getAnimationTime();
|
|
5306
5422
|
}
|
|
5307
5423
|
function getAnimationTimestamp() {
|
|
5308
5424
|
const readTimestamp = Reflect.get(globalThis, "_getAnimationTimestamp");
|
|
5309
|
-
const timestamp = typeof readTimestamp === "function" ? Number(readTimestamp()) :
|
|
5310
|
-
return Number.isFinite(timestamp) ? timestamp :
|
|
5425
|
+
const timestamp = typeof readTimestamp === "function" ? Number(readTimestamp()) : getAnimationTime();
|
|
5426
|
+
return Number.isFinite(timestamp) ? timestamp : getAnimationTime();
|
|
5311
5427
|
}
|
|
5312
5428
|
var fallbackTimers = /* @__PURE__ */ new Map();
|
|
5313
5429
|
var nextFallbackFrameId = -1;
|
|
@@ -5321,18 +5437,19 @@ function requestFrame(callback) {
|
|
|
5321
5437
|
const id2 = nextFallbackFrameId--;
|
|
5322
5438
|
const timer2 = setTimeout(() => {
|
|
5323
5439
|
fallbackTimers.delete(id2);
|
|
5324
|
-
callback(
|
|
5440
|
+
callback(getAnimationTime());
|
|
5325
5441
|
}, 16);
|
|
5326
5442
|
fallbackTimers.set(id2, timer2);
|
|
5327
5443
|
return id2;
|
|
5328
5444
|
}
|
|
5329
5445
|
const raf = ensureSootSim().state.requestAnimationFrame;
|
|
5330
5446
|
if (typeof raf === "function") return raf(callback);
|
|
5331
|
-
if (typeof requestAnimationFrame === "function")
|
|
5447
|
+
if (typeof requestAnimationFrame === "function")
|
|
5448
|
+
return requestAnimationFrame((now) => callback(mapHostAnimationTime(now)));
|
|
5332
5449
|
const id = nextFallbackFrameId--;
|
|
5333
5450
|
const timer = setTimeout(() => {
|
|
5334
5451
|
fallbackTimers.delete(id);
|
|
5335
|
-
callback(
|
|
5452
|
+
callback(getAnimationTime());
|
|
5336
5453
|
}, 16);
|
|
5337
5454
|
fallbackTimers.set(id, timer);
|
|
5338
5455
|
return id;
|
|
@@ -5358,6 +5475,8 @@ function isLockstepCaptureActive() {
|
|
|
5358
5475
|
}
|
|
5359
5476
|
|
|
5360
5477
|
// ../peach-engine/src/engine/native-animation-driver.ts
|
|
5478
|
+
var activeAnimations = /* @__PURE__ */ new Map();
|
|
5479
|
+
var rafId = null;
|
|
5361
5480
|
var remoteReleaseCallback = null;
|
|
5362
5481
|
var externalValueGraphs = /* @__PURE__ */ new WeakMap();
|
|
5363
5482
|
var externalGraphChangeListeners = /* @__PURE__ */ new Set();
|
|
@@ -5375,6 +5494,52 @@ function clearExternalValueAnimationGraph(value) {
|
|
|
5375
5494
|
notifyExternalGraphChange(value, null);
|
|
5376
5495
|
remoteReleaseCallback?.(value);
|
|
5377
5496
|
}
|
|
5497
|
+
function clearRemoteCompletionTimer(anim) {
|
|
5498
|
+
if (anim.remoteCompletionTimer !== null) {
|
|
5499
|
+
clearTimeout(anim.remoteCompletionTimer);
|
|
5500
|
+
anim.remoteCompletionTimer = null;
|
|
5501
|
+
}
|
|
5502
|
+
}
|
|
5503
|
+
var lockstepActive = false;
|
|
5504
|
+
function scheduleRemoteCompletion(anim) {
|
|
5505
|
+
if (lockstepActive || anim.remoteCompletionTimer !== null || !anim.graph) return;
|
|
5506
|
+
const endEpochMs = getNativeAnimationGraphEndEpochMs(anim.graph);
|
|
5507
|
+
if (endEpochMs === null) return;
|
|
5508
|
+
anim.remoteCompletionTimer = setTimeout(
|
|
5509
|
+
() => {
|
|
5510
|
+
anim.remoteCompletionTimer = null;
|
|
5511
|
+
if (lockstepActive || activeAnimations.get(anim.id) !== anim || !anim.remoteDriven)
|
|
5512
|
+
return;
|
|
5513
|
+
if (getAnimationEpochTime() < endEpochMs) {
|
|
5514
|
+
scheduleRemoteCompletion(anim);
|
|
5515
|
+
return;
|
|
5516
|
+
}
|
|
5517
|
+
activeAnimations.delete(anim.id);
|
|
5518
|
+
settleRemoteDrivenValue(anim);
|
|
5519
|
+
remoteReleaseCallback?.(anim.value);
|
|
5520
|
+
anim.callback?.({ finished: true, reason: "completed" });
|
|
5521
|
+
if (activeAnimations.size === 0) stopLoop();
|
|
5522
|
+
},
|
|
5523
|
+
animationDelayToWallTime(endEpochMs - getAnimationEpochTime())
|
|
5524
|
+
);
|
|
5525
|
+
}
|
|
5526
|
+
subscribeAnimationClock(() => {
|
|
5527
|
+
for (const anim of activeAnimations.values()) {
|
|
5528
|
+
clearRemoteCompletionTimer(anim);
|
|
5529
|
+
if (anim.remoteDriven) scheduleRemoteCompletion(anim);
|
|
5530
|
+
}
|
|
5531
|
+
});
|
|
5532
|
+
function settleRemoteDrivenValue(anim) {
|
|
5533
|
+
if (anim.remoteDriven && anim.graph) {
|
|
5534
|
+
anim.value._value = sampleNativeAnimationGraph(anim.graph, getAnimationEpochTime());
|
|
5535
|
+
}
|
|
5536
|
+
}
|
|
5537
|
+
function stopLoop() {
|
|
5538
|
+
if (rafId != null) {
|
|
5539
|
+
cancelFrame(rafId);
|
|
5540
|
+
rafId = null;
|
|
5541
|
+
}
|
|
5542
|
+
}
|
|
5378
5543
|
|
|
5379
5544
|
// ../peach-engine/src/engine/animated.ts
|
|
5380
5545
|
function cubicBezier(x1, y1, x2, y2) {
|
|
@@ -5628,12 +5793,13 @@ var TIMING_CONVERGE_STEP_GRACE_MS = 120;
|
|
|
5628
5793
|
function timing(value, config) {
|
|
5629
5794
|
const duration = config.duration ?? 500;
|
|
5630
5795
|
const easing = config.easing ?? defaultTimingEasing;
|
|
5631
|
-
let
|
|
5796
|
+
let rafId2 = null;
|
|
5632
5797
|
let startTime = null;
|
|
5633
5798
|
let fromValue;
|
|
5634
5799
|
let stopped = false;
|
|
5635
5800
|
let completed = false;
|
|
5636
5801
|
let engineAnimationId = null;
|
|
5802
|
+
let unsubscribeClock = null;
|
|
5637
5803
|
let convergeTimer = null;
|
|
5638
5804
|
let endCallback = null;
|
|
5639
5805
|
let animationStartedAt = 0;
|
|
@@ -5647,6 +5813,8 @@ function timing(value, config) {
|
|
|
5647
5813
|
}
|
|
5648
5814
|
function clearRegistration() {
|
|
5649
5815
|
clearConvergeTimer();
|
|
5816
|
+
unsubscribeClock?.();
|
|
5817
|
+
unsubscribeClock = null;
|
|
5650
5818
|
if (engineAnimationId != null) {
|
|
5651
5819
|
unregisterEngineAnimation(engineAnimationId);
|
|
5652
5820
|
engineAnimationId = null;
|
|
@@ -5665,9 +5833,9 @@ function timing(value, config) {
|
|
|
5665
5833
|
const shouldNotifyCancel = !completed;
|
|
5666
5834
|
completed = true;
|
|
5667
5835
|
clearRegistration();
|
|
5668
|
-
if (
|
|
5669
|
-
cancelFrame(
|
|
5670
|
-
|
|
5836
|
+
if (rafId2 !== null) {
|
|
5837
|
+
cancelFrame(rafId2);
|
|
5838
|
+
rafId2 = null;
|
|
5671
5839
|
}
|
|
5672
5840
|
if (shouldNotifyCancel) {
|
|
5673
5841
|
if (animationEventId !== null) {
|
|
@@ -5693,6 +5861,7 @@ function timing(value, config) {
|
|
|
5693
5861
|
fromValue = value.getValue();
|
|
5694
5862
|
const toValue = config.toValue;
|
|
5695
5863
|
startTime = null;
|
|
5864
|
+
const watchdogStart = getAnimationTimestamp();
|
|
5696
5865
|
animationStartedAt = performance.now();
|
|
5697
5866
|
engineAnimationId = registerEngineAnimation({
|
|
5698
5867
|
value,
|
|
@@ -5747,13 +5916,18 @@ function timing(value, config) {
|
|
|
5747
5916
|
convergeTimer = null;
|
|
5748
5917
|
if (stopped || completed) return;
|
|
5749
5918
|
if (isLockstepCaptureActive()) {
|
|
5750
|
-
scheduleConverge(
|
|
5919
|
+
scheduleConverge(TIMING_CONVERGE_STEP_GRACE_MS);
|
|
5920
|
+
return;
|
|
5921
|
+
}
|
|
5922
|
+
const remaining = duration - (getAnimationTimestamp() - (startTime ?? watchdogStart));
|
|
5923
|
+
if (remaining > 0) {
|
|
5924
|
+
scheduleConverge(TIMING_CONVERGE_STEP_GRACE_MS);
|
|
5751
5925
|
return;
|
|
5752
5926
|
}
|
|
5753
5927
|
completed = true;
|
|
5754
|
-
if (
|
|
5755
|
-
cancelFrame(
|
|
5756
|
-
|
|
5928
|
+
if (rafId2 !== null) {
|
|
5929
|
+
cancelFrame(rafId2);
|
|
5930
|
+
rafId2 = null;
|
|
5757
5931
|
}
|
|
5758
5932
|
value._setValueFromAnimation(toValue);
|
|
5759
5933
|
clearRegistration();
|
|
@@ -5773,9 +5947,14 @@ function timing(value, config) {
|
|
|
5773
5947
|
}
|
|
5774
5948
|
notifyEnd({ finished: true });
|
|
5775
5949
|
};
|
|
5776
|
-
const scheduleConverge = (
|
|
5950
|
+
const scheduleConverge = (graceMs) => {
|
|
5777
5951
|
clearConvergeTimer();
|
|
5778
|
-
convergeTimer = setTimeout(
|
|
5952
|
+
convergeTimer = setTimeout(
|
|
5953
|
+
finishFromWatchdog,
|
|
5954
|
+
animationDelayToWallTime(
|
|
5955
|
+
duration - (getAnimationTimestamp() - (startTime ?? watchdogStart))
|
|
5956
|
+
) + graceMs
|
|
5957
|
+
);
|
|
5779
5958
|
};
|
|
5780
5959
|
function step(timestamp) {
|
|
5781
5960
|
if (stopped) {
|
|
@@ -5783,12 +5962,12 @@ function timing(value, config) {
|
|
|
5783
5962
|
return;
|
|
5784
5963
|
}
|
|
5785
5964
|
if (completed) {
|
|
5786
|
-
|
|
5965
|
+
rafId2 = null;
|
|
5787
5966
|
return;
|
|
5788
5967
|
}
|
|
5789
5968
|
if (startTime === null) {
|
|
5790
5969
|
startTime = timestamp;
|
|
5791
|
-
scheduleConverge(
|
|
5970
|
+
scheduleConverge(TIMING_CONVERGE_STEP_GRACE_MS);
|
|
5792
5971
|
}
|
|
5793
5972
|
const elapsed = timestamp - startTime;
|
|
5794
5973
|
const progress = Math.min(elapsed / duration, 1);
|
|
@@ -5801,9 +5980,9 @@ function timing(value, config) {
|
|
|
5801
5980
|
}
|
|
5802
5981
|
fireEngineAnimationStepRender(value);
|
|
5803
5982
|
if (progress < 1) {
|
|
5804
|
-
|
|
5983
|
+
rafId2 = requestFrame(step);
|
|
5805
5984
|
} else {
|
|
5806
|
-
|
|
5985
|
+
rafId2 = null;
|
|
5807
5986
|
completed = true;
|
|
5808
5987
|
clearRegistration();
|
|
5809
5988
|
const eventId = animationEventId;
|
|
@@ -5823,8 +6002,11 @@ function timing(value, config) {
|
|
|
5823
6002
|
notifyEnd({ finished: true });
|
|
5824
6003
|
}
|
|
5825
6004
|
}
|
|
5826
|
-
|
|
5827
|
-
|
|
6005
|
+
unsubscribeClock = subscribeAnimationClock(
|
|
6006
|
+
() => scheduleConverge(TIMING_CONVERGE_STEP_GRACE_MS)
|
|
6007
|
+
);
|
|
6008
|
+
scheduleConverge(TIMING_CONVERGE_START_GRACE_MS);
|
|
6009
|
+
rafId2 = requestFrame(step);
|
|
5828
6010
|
}
|
|
5829
6011
|
animation = { start, stop };
|
|
5830
6012
|
return animation;
|
|
@@ -6711,6 +6893,10 @@ var COLOR_STYLE_PROPS = /* @__PURE__ */ new Set([
|
|
|
6711
6893
|
"borderRightColor",
|
|
6712
6894
|
"borderStartColor",
|
|
6713
6895
|
"borderEndColor",
|
|
6896
|
+
"borderBlockColor",
|
|
6897
|
+
"borderBlockStartColor",
|
|
6898
|
+
"borderBlockEndColor",
|
|
6899
|
+
"overlayColor",
|
|
6714
6900
|
"textDecorationColor",
|
|
6715
6901
|
"textShadowColor",
|
|
6716
6902
|
"tintColor",
|
|
@@ -7359,13 +7545,13 @@ var loadedVectors = /* @__PURE__ */ new Map();
|
|
|
7359
7545
|
var failedVectors = /* @__PURE__ */ new Set();
|
|
7360
7546
|
var assetPromises = /* @__PURE__ */ new Map();
|
|
7361
7547
|
var symbolPromises = /* @__PURE__ */ new Map();
|
|
7362
|
-
var
|
|
7548
|
+
var listeners6 = /* @__PURE__ */ new Map();
|
|
7363
7549
|
function clearCatalogState() {
|
|
7364
7550
|
loadedVectors.clear();
|
|
7365
7551
|
failedVectors.clear();
|
|
7366
7552
|
assetPromises.clear();
|
|
7367
7553
|
symbolPromises.clear();
|
|
7368
|
-
|
|
7554
|
+
listeners6.clear();
|
|
7369
7555
|
}
|
|
7370
7556
|
onMaterialSymbolCatalogConfigure(clearCatalogState);
|
|
7371
7557
|
|
|
@@ -7453,12 +7639,14 @@ function isMetroAssetRegistryModulePath(modulePath) {
|
|
|
7453
7639
|
return modulePath.includes("polyfill:assets-registry") || modulePath.includes("@react-native/assets-registry/registry") || modulePath.includes("assets-registry/registry") || modulePath.includes("react-native/asset-registry") || modulePath.includes("react-native/src/asset-registry");
|
|
7454
7640
|
}
|
|
7455
7641
|
|
|
7642
|
+
// ../peach-compat/src/stubs/browser-object-url.ts
|
|
7643
|
+
var BrowserURL = globalThis.URL;
|
|
7644
|
+
var createBrowserObjectURL = BrowserURL.createObjectURL.bind(BrowserURL);
|
|
7645
|
+
var revokeBrowserObjectURL = BrowserURL.revokeObjectURL.bind(BrowserURL);
|
|
7646
|
+
|
|
7456
7647
|
// ../peach-engine/src/native-globals.ts
|
|
7457
7648
|
var nativeGlobals = globalThis;
|
|
7458
7649
|
var NativeBlob = nativeGlobals.Blob;
|
|
7459
|
-
var NativeURL = nativeGlobals.URL;
|
|
7460
|
-
var nativeCreateObjectURL = URL.createObjectURL.bind(URL);
|
|
7461
|
-
var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL);
|
|
7462
7650
|
var NativeTextDecoder = nativeGlobals.TextDecoder;
|
|
7463
7651
|
var NativeTextEncoder = nativeGlobals.TextEncoder;
|
|
7464
7652
|
var NativeXMLHttpRequest = nativeGlobals.XMLHttpRequest;
|
|
@@ -7480,36 +7668,6 @@ var nativeMatchMedia = typeof window !== "undefined" && typeof window.matchMedia
|
|
|
7480
7668
|
return false;
|
|
7481
7669
|
}
|
|
7482
7670
|
}));
|
|
7483
|
-
function installBlobLock() {
|
|
7484
|
-
const desc = Object.getOwnPropertyDescriptor(URL, "createObjectURL");
|
|
7485
|
-
if (desc && desc.configurable === false && desc.get) {
|
|
7486
|
-
return;
|
|
7487
|
-
}
|
|
7488
|
-
try {
|
|
7489
|
-
Object.defineProperty(URL, "createObjectURL", {
|
|
7490
|
-
configurable: false,
|
|
7491
|
-
enumerable: false,
|
|
7492
|
-
get() {
|
|
7493
|
-
return nativeCreateObjectURL;
|
|
7494
|
-
},
|
|
7495
|
-
set(_) {
|
|
7496
|
-
}
|
|
7497
|
-
});
|
|
7498
|
-
} catch {
|
|
7499
|
-
}
|
|
7500
|
-
try {
|
|
7501
|
-
Object.defineProperty(URL, "revokeObjectURL", {
|
|
7502
|
-
configurable: false,
|
|
7503
|
-
enumerable: false,
|
|
7504
|
-
get() {
|
|
7505
|
-
return nativeRevokeObjectURL;
|
|
7506
|
-
},
|
|
7507
|
-
set(_) {
|
|
7508
|
-
}
|
|
7509
|
-
});
|
|
7510
|
-
} catch {
|
|
7511
|
-
}
|
|
7512
|
-
}
|
|
7513
7671
|
function installMatchMediaLock() {
|
|
7514
7672
|
const g = globalThis;
|
|
7515
7673
|
const desc = Object.getOwnPropertyDescriptor(g, "matchMedia");
|
|
@@ -7554,9 +7712,6 @@ function installNetworkingLock() {
|
|
|
7554
7712
|
installCodecOrNetGlobalLock("XMLHttpRequest", NativeXMLHttpRequest);
|
|
7555
7713
|
installCodecOrNetGlobalLock("FormData", NativeFormData);
|
|
7556
7714
|
}
|
|
7557
|
-
function installURLLock() {
|
|
7558
|
-
installCodecOrNetGlobalLock("URL", NativeURL);
|
|
7559
|
-
}
|
|
7560
7715
|
function restoreNativeBlobHelpers() {
|
|
7561
7716
|
const g = globalThis;
|
|
7562
7717
|
if (g.Blob !== NativeBlob) {
|
|
@@ -7565,11 +7720,9 @@ function restoreNativeBlobHelpers() {
|
|
|
7565
7720
|
} catch {
|
|
7566
7721
|
}
|
|
7567
7722
|
}
|
|
7568
|
-
installBlobLock();
|
|
7569
7723
|
installTextCodecLock();
|
|
7570
7724
|
installMatchMediaLock();
|
|
7571
7725
|
installNetworkingLock();
|
|
7572
|
-
installURLLock();
|
|
7573
7726
|
}
|
|
7574
7727
|
restoreNativeBlobHelpers();
|
|
7575
7728
|
var LOCKED_GLOBALS = /* @__PURE__ */ new Set([
|
|
@@ -7577,8 +7730,7 @@ var LOCKED_GLOBALS = /* @__PURE__ */ new Set([
|
|
|
7577
7730
|
"TextEncoder",
|
|
7578
7731
|
"Blob",
|
|
7579
7732
|
"XMLHttpRequest",
|
|
7580
|
-
"FormData"
|
|
7581
|
-
"URL"
|
|
7733
|
+
"FormData"
|
|
7582
7734
|
]);
|
|
7583
7735
|
function patchedDefineProperty(target, key, descriptor) {
|
|
7584
7736
|
const onGlobal = target === globalThis;
|
|
@@ -9856,9 +10008,9 @@ var liveScrollIndicators = /* @__PURE__ */ new Set();
|
|
|
9856
10008
|
function clearScrollIndicatorFade(node) {
|
|
9857
10009
|
const state5 = indicatorStates.get(node);
|
|
9858
10010
|
if (!state5) return;
|
|
9859
|
-
if (state5.
|
|
9860
|
-
|
|
9861
|
-
state5.
|
|
10011
|
+
if (state5.cancelFadeTimer !== null && state5.cancelFadeTimer !== void 0) {
|
|
10012
|
+
state5.cancelFadeTimer();
|
|
10013
|
+
state5.cancelFadeTimer = null;
|
|
9862
10014
|
}
|
|
9863
10015
|
state5.opacity = 0;
|
|
9864
10016
|
state5.lastActiveTime = 0;
|
|
@@ -10052,6 +10204,57 @@ var INLINE_STYLE_PROP_KEYS = [
|
|
|
10052
10204
|
"transform"
|
|
10053
10205
|
];
|
|
10054
10206
|
var INLINE_STYLE_PROP_SET = new Set(INLINE_STYLE_PROP_KEYS);
|
|
10207
|
+
var FABRIC_STYLE_PROP_SET = /* @__PURE__ */ new Set([
|
|
10208
|
+
...INLINE_STYLE_PROP_SET,
|
|
10209
|
+
"insetBlock",
|
|
10210
|
+
"insetBlockEnd",
|
|
10211
|
+
"insetBlockStart",
|
|
10212
|
+
"insetInline",
|
|
10213
|
+
"insetInlineEnd",
|
|
10214
|
+
"insetInlineStart",
|
|
10215
|
+
"marginBlock",
|
|
10216
|
+
"marginBlockEnd",
|
|
10217
|
+
"marginBlockStart",
|
|
10218
|
+
"marginInline",
|
|
10219
|
+
"marginInlineEnd",
|
|
10220
|
+
"marginInlineStart",
|
|
10221
|
+
"paddingBlock",
|
|
10222
|
+
"paddingBlockEnd",
|
|
10223
|
+
"paddingBlockStart",
|
|
10224
|
+
"paddingInline",
|
|
10225
|
+
"paddingInlineEnd",
|
|
10226
|
+
"paddingInlineStart",
|
|
10227
|
+
"experimental_backgroundSize",
|
|
10228
|
+
"experimental_backgroundPosition",
|
|
10229
|
+
"experimental_backgroundRepeat",
|
|
10230
|
+
"backfaceVisibility",
|
|
10231
|
+
"borderBlockColor",
|
|
10232
|
+
"borderBlockEndColor",
|
|
10233
|
+
"borderBlockStartColor",
|
|
10234
|
+
"borderCurve",
|
|
10235
|
+
"borderEndEndRadius",
|
|
10236
|
+
"borderEndStartRadius",
|
|
10237
|
+
"borderStartEndRadius",
|
|
10238
|
+
"borderStartStartRadius",
|
|
10239
|
+
"borderTopEndRadius",
|
|
10240
|
+
"borderTopStartRadius",
|
|
10241
|
+
"cursor",
|
|
10242
|
+
"userSelect",
|
|
10243
|
+
"verticalAlign",
|
|
10244
|
+
"overlayColor",
|
|
10245
|
+
"resizeMode",
|
|
10246
|
+
"objectFit"
|
|
10247
|
+
]);
|
|
10248
|
+
function mergeFabricRawProps(hostProps, rawProps) {
|
|
10249
|
+
const props = { ...hostProps };
|
|
10250
|
+
const style = {};
|
|
10251
|
+
for (const [key, value] of Object.entries(rawProps)) {
|
|
10252
|
+
if (FABRIC_STYLE_PROP_SET.has(key)) style[key] = value;
|
|
10253
|
+
else props[key] = value;
|
|
10254
|
+
}
|
|
10255
|
+
props.style = [hostProps.style, style];
|
|
10256
|
+
return props;
|
|
10257
|
+
}
|
|
10055
10258
|
function extractOrderedStyleInput(type, props) {
|
|
10056
10259
|
let out = null;
|
|
10057
10260
|
let pending = null;
|
|
@@ -10367,6 +10570,9 @@ function resolveStyleValue(value, key) {
|
|
|
10367
10570
|
if (typeof value === "boolean") return value;
|
|
10368
10571
|
if (typeof value !== "object") return value;
|
|
10369
10572
|
if (key && COLOR_STYLE_PROPS.has(key)) {
|
|
10573
|
+
if (value.space === "srgb") {
|
|
10574
|
+
return `rgba(${value.r * 255},${value.g * 255},${value.b * 255},${value.a})`;
|
|
10575
|
+
}
|
|
10370
10576
|
const platformColor = resolveAndroidPlatformColor(value);
|
|
10371
10577
|
if (platformColor) return normalizeColorStyleValue(key, platformColor);
|
|
10372
10578
|
}
|
|
@@ -11596,7 +11802,8 @@ function attachNativeHostInstanceFields(node) {
|
|
|
11596
11802
|
["_nativeTag", node.id],
|
|
11597
11803
|
["__viewTag", node.id],
|
|
11598
11804
|
["__internalInstanceHandle", { stateNode: { node } }],
|
|
11599
|
-
["_viewConfig", viewConfig]
|
|
11805
|
+
["_viewConfig", viewConfig],
|
|
11806
|
+
["__viewConfig", viewConfig]
|
|
11600
11807
|
]) {
|
|
11601
11808
|
Object.defineProperty(node, key, {
|
|
11602
11809
|
value,
|
|
@@ -11751,6 +11958,8 @@ var SootSimNode = class _SootSimNode {
|
|
|
11751
11958
|
id;
|
|
11752
11959
|
type;
|
|
11753
11960
|
props;
|
|
11961
|
+
lastReactProps;
|
|
11962
|
+
fabricNativeProps = null;
|
|
11754
11963
|
// exact Tamagui token provenance for this node's resolved style, read from
|
|
11755
11964
|
// the host style layers on ingestion (before flatten/resolve). empty for
|
|
11756
11965
|
// ordinary React Native nodes; frozen into
|
|
@@ -11808,8 +12017,6 @@ var SootSimNode = class _SootSimNode {
|
|
|
11808
12017
|
_scrollOffsetX = 0;
|
|
11809
12018
|
_scrollOffsetY = 0;
|
|
11810
12019
|
_scrollOffsetListeners = null;
|
|
11811
|
-
_scrollFollowContentEndX = false;
|
|
11812
|
-
_scrollFollowContentEndY = false;
|
|
11813
12020
|
_maintainVisibleContentPositionAnchor = null;
|
|
11814
12021
|
_maintainVisibleContentPositionAnchorFromMutation = false;
|
|
11815
12022
|
// a scroll content container's children extent (engine/scroll.ts), valid
|
|
@@ -12047,6 +12254,19 @@ var SootSimNode = class _SootSimNode {
|
|
|
12047
12254
|
return this.unstable_getBoundingClientRect();
|
|
12048
12255
|
}
|
|
12049
12256
|
// RN ref compatibility
|
|
12257
|
+
commitFabricRawProps(props) {
|
|
12258
|
+
let root = this;
|
|
12259
|
+
while (root.parent) root = root.parent;
|
|
12260
|
+
if (root === this || root.type !== "root") return null;
|
|
12261
|
+
this.updateProps(
|
|
12262
|
+
mergeFabricRawProps(
|
|
12263
|
+
{ ...this.props, style: flattenStyle2(this.props.style) },
|
|
12264
|
+
props
|
|
12265
|
+
),
|
|
12266
|
+
"native"
|
|
12267
|
+
);
|
|
12268
|
+
return root;
|
|
12269
|
+
}
|
|
12050
12270
|
__setNativePropsImpl;
|
|
12051
12271
|
__dispatchCommandImpl;
|
|
12052
12272
|
markAnimatedNativePropKeys(props) {
|
|
@@ -12293,7 +12513,6 @@ var SootSimNode = class _SootSimNode {
|
|
|
12293
12513
|
return;
|
|
12294
12514
|
}
|
|
12295
12515
|
if (this.scrollOffsetX === next) return;
|
|
12296
|
-
this._scrollFollowContentEndX = false;
|
|
12297
12516
|
this.scrollOffsetX = next;
|
|
12298
12517
|
this.__scroll?.syncExternalOffset?.();
|
|
12299
12518
|
this.markImperativeScrollDirty();
|
|
@@ -12314,7 +12533,6 @@ var SootSimNode = class _SootSimNode {
|
|
|
12314
12533
|
return;
|
|
12315
12534
|
}
|
|
12316
12535
|
if (this.scrollOffsetY === next) return;
|
|
12317
|
-
this._scrollFollowContentEndY = false;
|
|
12318
12536
|
this.scrollOffsetY = next;
|
|
12319
12537
|
this.__scroll?.syncExternalOffset?.();
|
|
12320
12538
|
this.markImperativeScrollDirty();
|
|
@@ -12353,6 +12571,7 @@ var SootSimNode = class _SootSimNode {
|
|
|
12353
12571
|
}
|
|
12354
12572
|
}
|
|
12355
12573
|
if (this.__scroll?.scrollToOffset) {
|
|
12574
|
+
this._flushPendingLayout();
|
|
12356
12575
|
this.__scroll.scrollToOffset({
|
|
12357
12576
|
...hasX ? { x: nextLeft } : {},
|
|
12358
12577
|
...hasY ? { y: nextTop } : {},
|
|
@@ -12368,8 +12587,6 @@ var SootSimNode = class _SootSimNode {
|
|
|
12368
12587
|
if (this.scrollOffsetX === nextLeft && this.scrollOffsetY === nextTop) {
|
|
12369
12588
|
return;
|
|
12370
12589
|
}
|
|
12371
|
-
const requestedLeft = nextLeft;
|
|
12372
|
-
const requestedTop = nextTop;
|
|
12373
12590
|
const contentBounds = getScrollContentBounds(this);
|
|
12374
12591
|
const maxScroll = getScrollContentEndOffset(this, this.props);
|
|
12375
12592
|
const maxScrollX = maxScroll.x;
|
|
@@ -12388,12 +12605,6 @@ var SootSimNode = class _SootSimNode {
|
|
|
12388
12605
|
),
|
|
12389
12606
|
Math.min(maxScrollY, nextTop)
|
|
12390
12607
|
);
|
|
12391
|
-
if (hasX) {
|
|
12392
|
-
this._scrollFollowContentEndX = maxScrollX > 0 && requestedLeft >= maxScrollX - 0.5;
|
|
12393
|
-
}
|
|
12394
|
-
if (hasY) {
|
|
12395
|
-
this._scrollFollowContentEndY = maxScrollY > 0 && requestedTop >= maxScrollY - 0.5;
|
|
12396
|
-
}
|
|
12397
12608
|
this.scrollOffsetX = nextLeft;
|
|
12398
12609
|
this.scrollOffsetY = nextTop;
|
|
12399
12610
|
this.__scroll?.syncExternalOffset?.();
|
|
@@ -12441,8 +12652,12 @@ var SootSimNode = class _SootSimNode {
|
|
|
12441
12652
|
animated: arg1?.animated !== false
|
|
12442
12653
|
});
|
|
12443
12654
|
}
|
|
12655
|
+
// a command runs against the committed tree: fabric mounts a commit before
|
|
12656
|
+
// the ui thread runs a command issued after it (both queue on the main
|
|
12657
|
+
// queue), so a scrollToEnd from an effect sees the rows that commit added
|
|
12444
12658
|
scrollToEnd(options) {
|
|
12445
12659
|
if (this.__scroll?.scrollToOffset) {
|
|
12660
|
+
this._flushPendingLayout();
|
|
12446
12661
|
const target = Number.MAX_SAFE_INTEGER;
|
|
12447
12662
|
const opts = this.props?.horizontal === true ? { x: target, y: 0, animated: options?.animated !== false } : { x: 0, y: target, animated: options?.animated !== false };
|
|
12448
12663
|
this.__scroll.scrollToOffset({
|
|
@@ -12638,6 +12853,7 @@ var SootSimNode = class _SootSimNode {
|
|
|
12638
12853
|
_svgPath = null;
|
|
12639
12854
|
_svgPathData = null;
|
|
12640
12855
|
_svgPathBounds = null;
|
|
12856
|
+
_svgPathTightBounds = null;
|
|
12641
12857
|
_svgPathCkVersion = 0;
|
|
12642
12858
|
// cached emoji grapheme ranges for native-emoji overdraw. computed once
|
|
12643
12859
|
// alongside the paragraph; null when native emoji isn't available.
|
|
@@ -12677,6 +12893,7 @@ var SootSimNode = class _SootSimNode {
|
|
|
12677
12893
|
);
|
|
12678
12894
|
this.type = type;
|
|
12679
12895
|
this.props = props;
|
|
12896
|
+
this.lastReactProps = props;
|
|
12680
12897
|
if (type === "image") queueImageLoad(this);
|
|
12681
12898
|
this._wireRevision = nextWireRevision();
|
|
12682
12899
|
this._wireSubtreeRevision = this._wireRevision;
|
|
@@ -12752,7 +12969,26 @@ var SootSimNode = class _SootSimNode {
|
|
|
12752
12969
|
}
|
|
12753
12970
|
updateProps(newProps, source = "react") {
|
|
12754
12971
|
if (source === "react") {
|
|
12972
|
+
if (this.fabricNativeProps) {
|
|
12973
|
+
const previous = {
|
|
12974
|
+
...this.lastReactProps,
|
|
12975
|
+
...flattenStyle2(getNodeStyleInput(this.type, this.lastReactProps))
|
|
12976
|
+
};
|
|
12977
|
+
const next = {
|
|
12978
|
+
...newProps,
|
|
12979
|
+
...flattenStyle2(getNodeStyleInput(this.type, newProps))
|
|
12980
|
+
};
|
|
12981
|
+
for (const key of Object.keys(this.fabricNativeProps)) {
|
|
12982
|
+
if (!styleValuesEqual(previous[key], next[key])) {
|
|
12983
|
+
this.fabricNativeProps[key] = next[key] ?? null;
|
|
12984
|
+
}
|
|
12985
|
+
}
|
|
12986
|
+
}
|
|
12987
|
+
this.lastReactProps = newProps;
|
|
12755
12988
|
newProps = this.mergeAnimatedNativePropsForReact(newProps);
|
|
12989
|
+
if (this.fabricNativeProps) {
|
|
12990
|
+
newProps = mergeFabricRawProps(newProps, this.fabricNativeProps);
|
|
12991
|
+
}
|
|
12756
12992
|
}
|
|
12757
12993
|
const oldProps = this.props;
|
|
12758
12994
|
const oldStyleInput = oldProps.style;
|
|
@@ -12832,7 +13068,7 @@ var SootSimNode = class _SootSimNode {
|
|
|
12832
13068
|
if (scrollContentOffsetChanged) {
|
|
12833
13069
|
const nextOffset = readContentOffsetProp(newProps.contentOffset);
|
|
12834
13070
|
if (nextOffset) {
|
|
12835
|
-
moved = this.__scroll?.scrollToOffset?.({
|
|
13071
|
+
moved = this.__scroll?.shiftScrollTo?.(nextOffset) === true || this.__scroll?.scrollToOffset?.({
|
|
12836
13072
|
...nextOffset,
|
|
12837
13073
|
animated: false,
|
|
12838
13074
|
fireScroll: true,
|
|
@@ -13308,6 +13544,34 @@ var CanvasKitPaintPool = class {
|
|
|
13308
13544
|
var _paintPool = new CanvasKitPaintPool();
|
|
13309
13545
|
var _surfacePool = new CanvasKitSiblingSurfacePool(2);
|
|
13310
13546
|
|
|
13547
|
+
// ../peach-engine/src/platform/adapter.ts
|
|
13548
|
+
var IOS_ADAPTER = Object.freeze({
|
|
13549
|
+
id: "ios",
|
|
13550
|
+
displayName: "iOS",
|
|
13551
|
+
isIOS: true,
|
|
13552
|
+
isAndroid: false,
|
|
13553
|
+
select: (registry) => registry.ios
|
|
13554
|
+
});
|
|
13555
|
+
var ANDROID_ADAPTER = Object.freeze({
|
|
13556
|
+
id: "android",
|
|
13557
|
+
displayName: "Android",
|
|
13558
|
+
isIOS: false,
|
|
13559
|
+
isAndroid: true,
|
|
13560
|
+
select: (registry) => registry.android
|
|
13561
|
+
});
|
|
13562
|
+
var RUNTIME_PLATFORM_ADAPTERS = Object.freeze({
|
|
13563
|
+
ios: IOS_ADAPTER,
|
|
13564
|
+
android: ANDROID_ADAPTER
|
|
13565
|
+
});
|
|
13566
|
+
function getRuntimePlatformAdapter(platform) {
|
|
13567
|
+
return RUNTIME_PLATFORM_ADAPTERS[platform];
|
|
13568
|
+
}
|
|
13569
|
+
|
|
13570
|
+
// ../peach-engine/src/platform/current-platform.ts
|
|
13571
|
+
function currentRuntimePlatform() {
|
|
13572
|
+
return Platform.OS;
|
|
13573
|
+
}
|
|
13574
|
+
|
|
13311
13575
|
// ../peach-engine/src/engine/node-helpers.ts
|
|
13312
13576
|
function readNumberish(v) {
|
|
13313
13577
|
if (typeof v === "number") return v;
|
|
@@ -14088,7 +14352,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14088
14352
|
d: "M8.602 23.115L15.398 23.115 15.398 15.545C15.398 15.006 15.047 14.654 14.508 14.654L9.504 14.654C8.965 14.654 8.602 15.006 8.602 15.545ZM-0.984 12.193C-0.656 12.193-0.387 12.018-0.141 11.818L11.59 1.963C11.719 1.857 11.871 1.799 12 1.799 12.141 1.799 12.281 1.857 12.41 1.963L24.152 11.818C24.387 12.018 24.656 12.193 24.984 12.193 25.617 12.193 25.992 11.736 25.992 11.256 25.992 10.986 25.887 10.705 25.617 10.494L13.406 0.24C12.961-0.135 12.48-0.322 12-0.322 11.52-0.322 11.039-0.135 10.594 0.24L-1.617 10.494C-1.875 10.705-1.992 10.986-1.992 11.256-1.992 11.736-1.617 12.193-0.984 12.193ZM19.629 5.971L22.57 8.455 22.57 3.17C22.57 2.654 22.242 2.326 21.727 2.326L20.473 2.326C19.969 2.326 19.629 2.654 19.629 3.17ZM4.078 24.322L19.934 24.322C21.598 24.322 22.57 23.373 22.57 21.732L22.57 8.748 20.684 7.471 20.684 21.264C20.684 22.025 20.273 22.436 19.535 22.436L4.477 22.436C3.727 22.436 3.316 22.025 3.316 21.264L3.316 7.482 1.43 8.748 1.43 21.732C1.43 23.385 2.402 24.322 4.078 24.322Z"
|
|
14089
14353
|
}
|
|
14090
14354
|
],
|
|
14091
|
-
box: [-5, -2.425, 34, 28.867]
|
|
14355
|
+
box: [-5, -2.425, 34, 28.867],
|
|
14356
|
+
controlBoxes: { house: [18.666666666666668, 15.666666666666666, 3] }
|
|
14092
14357
|
},
|
|
14093
14358
|
"house.fill": {
|
|
14094
14359
|
viewBox: "0 0 24 24",
|
|
@@ -14098,7 +14363,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14098
14363
|
d: "M8.836 22.436L8.836 15.545C8.836 15.006 9.199 14.654 9.738 14.654L14.273 14.654C14.824 14.654 15.164 15.006 15.164 15.545L15.164 22.436ZM1.664 21.744C1.664 23.373 2.648 24.322 4.301 24.322L19.711 24.322C21.363 24.322 22.336 23.373 22.336 21.744L22.336 12.439 12.703 4.365C12.258 3.99 11.73 4.002 11.297 4.365L1.664 12.439ZM-0.984 12.193C-0.656 12.193-0.387 12.018-0.141 11.818L11.59 1.963C11.719 1.857 11.871 1.799 12 1.799 12.141 1.799 12.281 1.857 12.41 1.963L24.152 11.818C24.387 12.018 24.656 12.193 24.984 12.193 25.617 12.193 25.992 11.736 25.992 11.256 25.992 10.986 25.887 10.705 25.617 10.494L13.406 0.24C12.961-0.135 12.48-0.322 12-0.322 11.52-0.322 11.039-0.135 10.594 0.24L-1.617 10.494C-1.875 10.705-1.992 10.986-1.992 11.256-1.992 11.736-1.617 12.193-0.984 12.193ZM19.629 5.971L22.57 8.455 22.57 3.17C22.57 2.654 22.242 2.326 21.727 2.326L20.473 2.326C19.969 2.326 19.629 2.654 19.629 3.17Z"
|
|
14099
14364
|
}
|
|
14100
14365
|
],
|
|
14101
|
-
box: [-5, -2.425, 34, 28.867]
|
|
14366
|
+
box: [-5, -2.425, 34, 28.867],
|
|
14367
|
+
controlBoxes: { "house.fill": [18.666666666666668, 15.666666666666666, 3] }
|
|
14102
14368
|
},
|
|
14103
14369
|
magnifyingglass: {
|
|
14104
14370
|
viewBox: "0 0 24 24",
|
|
@@ -14108,7 +14374,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14108
14374
|
d: "M0.551 9.791C0.551 14.947 4.746 19.143 9.902 19.143 11.941 19.143 13.805 18.486 15.34 17.385L21.105 23.162C21.375 23.432 21.727 23.561 22.102 23.561 22.898 23.561 23.449 22.963 23.449 22.178 23.449 21.803 23.309 21.463 23.063 21.217L17.332 15.451C18.539 13.881 19.254 11.924 19.254 9.791 19.254 4.635 15.059 0.439 9.902 0.439 4.746 0.439 0.551 4.635 0.551 9.791ZM2.555 9.791C2.555 5.736 5.848 2.443 9.902 2.443 13.957 2.443 17.25 5.736 17.25 9.791 17.25 13.846 13.957 17.139 9.902 17.139 5.848 17.139 2.555 13.846 2.555 9.791Z"
|
|
14109
14375
|
}
|
|
14110
14376
|
],
|
|
14111
|
-
box: [-2.15, -1.675, 28.3, 27.367]
|
|
14377
|
+
box: [-2.15, -1.675, 28.3, 27.367],
|
|
14378
|
+
controlBoxes: {
|
|
14379
|
+
magnifyingglass: [15.333333333333334, 14.666666666666666, 2.6666666666666665]
|
|
14380
|
+
}
|
|
14112
14381
|
},
|
|
14113
14382
|
"person.crop.circle": {
|
|
14114
14383
|
viewBox: "0 0 24 24",
|
|
@@ -14118,7 +14387,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14118
14387
|
d: "M12 23.953C18.598 23.953 23.953 18.598 23.953 12 23.953 5.402 18.598 0.047 12 0.047 5.402 0.047 0.047 5.402 0.047 12 0.047 18.598 5.402 23.953 12 23.953ZM12 21.961C6.492 21.961 2.039 17.508 2.039 12 2.039 6.492 6.492 2.039 12 2.039 17.508 2.039 21.961 6.492 21.961 12 21.961 17.508 17.508 21.961 12 21.961ZM20.016 19.723L19.98 19.594C19.406 17.871 16.313 15.984 12 15.984 7.699 15.984 4.605 17.871 4.02 19.582L3.984 19.723C6.094 21.809 9.715 23.027 12 23.027 14.297 23.027 17.883 21.82 20.016 19.723ZM12 13.992C14.262 14.016 16.02 12.094 16.02 9.574 16.02 7.207 14.25 5.25 12 5.25 9.75 5.25 7.969 7.207 7.98 9.574 7.992 12.094 9.75 13.969 12 13.992Z"
|
|
14119
14388
|
}
|
|
14120
14389
|
],
|
|
14121
|
-
box: [-2.075, -2.05, 28.167, 28.1]
|
|
14390
|
+
box: [-2.075, -2.05, 28.167, 28.1],
|
|
14391
|
+
controlBoxes: { "person.crop.circle": [15, 15, 3] }
|
|
14122
14392
|
},
|
|
14123
14393
|
gearshape: {
|
|
14124
14394
|
viewBox: "0 0 24 24",
|
|
@@ -14128,7 +14398,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14128
14398
|
d: "M10.816 24.527L13.184 24.527C14.086 24.527 14.789 23.977 14.988 23.109L15.492 20.918 15.867 20.789 17.777 21.961C18.539 22.43 19.418 22.324 20.063 21.68L21.703 20.051C22.348 19.406 22.453 18.516 21.984 17.766L20.789 15.867 20.93 15.516 23.121 15C23.977 14.801 24.539 14.086 24.539 13.195L24.539 10.875C24.539 9.984 23.988 9.281 23.121 9.07L20.953 8.543 20.801 8.168 21.996 6.27C22.465 5.52 22.371 4.641 21.715 3.984L20.074 2.344C19.441 1.711 18.563 1.594 17.801 2.063L15.891 3.234 15.492 3.082 14.988 0.891C14.789 0.023 14.086-0.527 13.184-0.527L10.816-0.527C9.914-0.527 9.211 0.023 9.012 0.891L8.496 3.082 8.098 3.234 6.199 2.063C5.438 1.594 4.547 1.711 3.914 2.344L2.285 3.984C1.629 4.641 1.523 5.52 2.004 6.27L3.188 8.168 3.047 8.543 0.879 9.07C0.012 9.281-0.539 9.984-0.539 10.875L-0.539 13.195C-0.539 14.086 0.023 14.801 0.879 15L3.07 15.516 3.199 15.867 2.016 17.766C1.535 18.516 1.652 19.406 2.297 20.051L3.926 21.68C4.57 22.324 5.461 22.43 6.223 21.961L8.121 20.789 8.496 20.918 9.012 23.109C9.211 23.977 9.914 24.527 10.816 24.527ZM11.004 22.699C10.805 22.699 10.699 22.617 10.664 22.43L9.961 19.523C9.246 19.348 8.578 19.066 8.074 18.75L5.52 20.32C5.379 20.426 5.215 20.414 5.086 20.262L3.703 18.879C3.574 18.75 3.563 18.609 3.656 18.445L5.227 15.914C4.957 15.422 4.652 14.754 4.465 14.039L1.559 13.348C1.371 13.313 1.289 13.207 1.289 13.008L1.289 11.051C1.289 10.84 1.359 10.746 1.559 10.711L4.453 10.008C4.641 9.246 4.992 8.555 5.203 8.121L3.645 5.59C3.539 5.414 3.551 5.273 3.68 5.133L5.074 3.773C5.215 3.633 5.344 3.621 5.52 3.715L8.051 5.25C8.555 4.969 9.27 4.676 9.973 4.477L10.664 1.57C10.699 1.383 10.805 1.301 11.004 1.301L12.996 1.301C13.195 1.301 13.301 1.383 13.324 1.57L14.039 4.5C14.766 4.688 15.398 4.98 15.926 5.262L18.469 3.715C18.656 3.621 18.773 3.633 18.926 3.773L20.309 5.133C20.449 5.273 20.449 5.414 20.344 5.59L18.785 8.121C19.008 8.555 19.348 9.246 19.535 10.008L22.441 10.711C22.629 10.746 22.711 10.84 22.711 11.051L22.711 13.008C22.711 13.207 22.617 13.313 22.441 13.348L19.523 14.039C19.336 14.754 19.043 15.422 18.762 15.914L20.332 18.445C20.426 18.609 20.426 18.75 20.285 18.879L18.914 20.262C18.773 20.414 18.621 20.426 18.469 20.32L15.914 18.75C15.41 19.066 14.754 19.348 14.039 19.523L13.324 22.43C13.301 22.617 13.195 22.699 12.996 22.699ZM12 16.465C14.473 16.465 16.465 14.473 16.465 12 16.465 9.527 14.473 7.535 12 7.535 9.527 7.535 7.535 9.527 7.535 12 7.535 14.473 9.527 16.465 12 16.465ZM12 14.648C10.535 14.648 9.352 13.465 9.352 12 9.352 10.535 10.535 9.352 12 9.352 13.465 9.352 14.648 10.535 14.648 12 14.648 13.465 13.465 14.648 12 14.648Z"
|
|
14129
14399
|
}
|
|
14130
14400
|
],
|
|
14131
|
-
box: [-2.65, -2.625, 29.3, 29.267]
|
|
14401
|
+
box: [-2.65, -2.625, 29.3, 29.267],
|
|
14402
|
+
controlBoxes: {
|
|
14403
|
+
gearshape: [15.666666666666666, 15.666666666666666, 3.3333333333333335]
|
|
14404
|
+
}
|
|
14132
14405
|
},
|
|
14133
14406
|
"photo.on.rectangle": {
|
|
14134
14407
|
viewBox: "0 0 24 24",
|
|
@@ -14138,7 +14411,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14138
14411
|
d: "M6.926 23.25L22.617 23.25C24.656 23.25 25.746 22.219 25.746 20.168L25.746 19.418 20.309 14.285C19.852 13.863 19.289 13.652 18.727 13.652 18.141 13.652 17.625 13.84 17.145 14.273L12.41 18.469 10.523 16.77C10.078 16.359 9.598 16.172 9.094 16.172 8.637 16.172 8.203 16.359 7.746 16.746L3.797 20.18C3.797 22.219 4.887 23.25 6.926 23.25ZM11.566 14.543C12.926 14.543 14.039 13.406 14.039 12.035 14.039 10.688 12.926 9.551 11.566 9.551 10.195 9.551 9.082 10.688 9.082 12.035 9.082 13.406 10.195 14.543 11.566 14.543ZM1.102 18.445L4.008 18.445 4.008 16.559 1.125 16.559C-0.047 16.559-0.691 15.938-0.691 14.719L-0.691 3.867C-0.691 2.648-0.047 2.016 1.125 2.016L17.074 2.016C18.234 2.016 18.902 2.648 18.902 3.867L18.902 6.316 20.789 6.316 20.789 3.762C20.789 1.348 19.547 0.129 17.109 0.129L1.102 0.129C-1.359 0.129-2.578 1.348-2.578 3.762L-2.578 14.813C-2.578 17.238-1.359 18.445 1.102 18.445ZM6.891 23.871L22.898 23.871C25.336 23.871 26.578 22.652 26.578 20.238L26.578 9.188C26.578 6.773 25.336 5.555 22.898 5.555L6.891 5.555C4.43 5.555 3.211 6.773 3.211 9.188L3.211 20.238C3.211 22.664 4.43 23.871 6.891 23.871ZM6.914 21.984C5.742 21.984 5.098 21.363 5.098 20.145L5.098 9.293C5.098 8.074 5.742 7.441 6.914 7.441L22.863 7.441C24.023 7.441 24.691 8.074 24.691 9.293L24.691 20.145C24.691 21.363 24.023 21.984 22.863 21.984Z"
|
|
14139
14412
|
}
|
|
14140
14413
|
],
|
|
14141
|
-
box: [-5.575, -1.975, 35.2, 27.967]
|
|
14414
|
+
box: [-5.575, -1.975, 35.2, 27.967],
|
|
14415
|
+
controlBoxes: { "photo.on.rectangle": [19.333333333333332, 15, 3] }
|
|
14142
14416
|
},
|
|
14143
14417
|
"heart.fill": {
|
|
14144
14418
|
viewBox: "0 0 24 24",
|
|
@@ -14148,7 +14422,11 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14148
14422
|
d: "M12 22.758C12.246 22.758 12.598 22.594 12.855 22.441 19.453 18.223 23.637 13.313 23.637 8.32 23.637 4.172 20.789 1.242 17.109 1.242 14.824 1.242 13.066 2.508 12 4.441 10.957 2.52 9.176 1.242 6.891 1.242 3.211 1.242 0.363 4.172 0.363 8.32 0.363 13.313 4.547 18.223 11.156 22.441 11.402 22.594 11.754 22.758 12 22.758Z"
|
|
14149
14423
|
}
|
|
14150
14424
|
],
|
|
14151
|
-
box: [-2.65, -0.875, 29.267, 25.767]
|
|
14425
|
+
box: [-2.65, -0.875, 29.267, 25.767],
|
|
14426
|
+
controlBoxes: {
|
|
14427
|
+
"heart.fill": [16, 13.666666666666666, 2.3333333333333335],
|
|
14428
|
+
"suit.heart.fill": [16, 13.666666666666666, 2.3333333333333335]
|
|
14429
|
+
}
|
|
14152
14430
|
},
|
|
14153
14431
|
"checkmark.circle.fill": {
|
|
14154
14432
|
viewBox: "0 0 24 24",
|
|
@@ -14158,7 +14436,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14158
14436
|
d: "M12 23.953C18.598 23.953 23.953 18.586 23.953 12 23.953 5.402 18.598 0.047 12 0.047 5.414 0.047 0.047 5.402 0.047 12 0.047 18.586 5.414 23.953 12 23.953ZM10.688 17.73C10.289 17.73 9.961 17.566 9.656 17.156L6.715 13.547C6.539 13.313 6.434 13.055 6.434 12.785 6.434 12.258 6.844 11.824 7.371 11.824 7.711 11.824 7.969 11.93 8.262 12.316L10.641 15.387 15.645 7.348C15.867 6.996 16.172 6.809 16.477 6.809 16.992 6.809 17.473 7.16 17.473 7.711 17.473 7.969 17.32 8.238 17.18 8.484L11.672 17.156C11.426 17.543 11.086 17.73 10.688 17.73Z"
|
|
14159
14437
|
}
|
|
14160
14438
|
],
|
|
14161
|
-
box: [-2.075, -2.05, 28.167, 28.1]
|
|
14439
|
+
box: [-2.075, -2.05, 28.167, 28.1],
|
|
14440
|
+
controlBoxes: { "checkmark.circle.fill": [15, 15, 3] }
|
|
14162
14441
|
},
|
|
14163
14442
|
"xmark.circle.fill": {
|
|
14164
14443
|
viewBox: "0 0 24 24",
|
|
@@ -14168,7 +14447,11 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14168
14447
|
d: "M12 23.953C18.598 23.953 23.953 18.586 23.953 12 23.953 5.402 18.598 0.047 12 0.047 5.414 0.047 0.047 5.402 0.047 12 0.047 18.586 5.414 23.953 12 23.953ZM8.063 16.922C7.523 16.922 7.102 16.488 7.102 15.949 7.102 15.691 7.195 15.445 7.383 15.27L10.629 12.012 7.383 8.766C7.195 8.578 7.102 8.344 7.102 8.086 7.102 7.535 7.523 7.125 8.063 7.125 8.332 7.125 8.543 7.219 8.73 7.395L12 10.652 15.293 7.383C15.492 7.184 15.703 7.102 15.961 7.102 16.5 7.102 16.934 7.523 16.934 8.063 16.934 8.332 16.852 8.543 16.641 8.754L13.383 12.012 16.629 15.258C16.828 15.434 16.922 15.68 16.922 15.949 16.922 16.488 16.488 16.922 15.938 16.922 15.668 16.922 15.422 16.828 15.246 16.641L12 13.383 8.766 16.641C8.578 16.828 8.332 16.922 8.063 16.922Z"
|
|
14169
14448
|
}
|
|
14170
14449
|
],
|
|
14171
|
-
box: [-2.075, -2.05, 28.167, 28.1]
|
|
14450
|
+
box: [-2.075, -2.05, 28.167, 28.1],
|
|
14451
|
+
controlBoxes: {
|
|
14452
|
+
"multiply.circle.fill": [15, 15, 3],
|
|
14453
|
+
"xmark.circle.fill": [15, 15, 3]
|
|
14454
|
+
}
|
|
14172
14455
|
},
|
|
14173
14456
|
"rectangle.stack": {
|
|
14174
14457
|
viewBox: "0 0 24 24",
|
|
@@ -14178,7 +14461,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14178
14461
|
d: "M3.404 24.973L20.596 24.973C23.033 24.973 24.275 23.754 24.275 21.34L24.275 9.305C24.275 6.891 23.033 5.672 20.596 5.672L3.404 5.672C0.943 5.672-0.275 6.891-0.275 9.305L-0.275 21.34C-0.275 23.754 0.943 24.973 3.404 24.973ZM3.428 23.086C2.256 23.086 1.611 22.453 1.611 21.234L1.611 9.41C1.611 8.191 2.256 7.559 3.428 7.559L20.561 7.559C21.721 7.559 22.389 8.191 22.389 9.41L22.389 21.234C22.389 22.453 21.721 23.086 20.561 23.086ZM2.197 3.785L21.814 3.785C21.639 2.719 21.135 2.133 19.963 2.133L4.049 2.133C2.877 2.133 2.373 2.719 2.197 3.785ZM4.611 0.539L19.4 0.539C19.33-0.457 18.768-0.973 17.678-0.973L6.322-0.973C5.244-0.973 4.682-0.457 4.611 0.539Z"
|
|
14179
14462
|
}
|
|
14180
14463
|
],
|
|
14181
|
-
box: [-3.25, -3.075, 30.533, 32.033]
|
|
14464
|
+
box: [-3.25, -3.075, 30.533, 32.033],
|
|
14465
|
+
controlBoxes: { "rectangle.stack": [17, 17.333333333333332, 4.333333333333333] }
|
|
14182
14466
|
},
|
|
14183
14467
|
"circle.grid.2x2": {
|
|
14184
14468
|
viewBox: "0 0 24 24",
|
|
@@ -14188,7 +14472,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14188
14472
|
d: "M5.959 11.074C8.783 11.074 11.068 8.789 11.068 5.965 11.068 3.141 8.783 0.855 5.959 0.855 3.135 0.855 0.85 3.141 0.85 5.965 0.85 8.789 3.135 11.074 5.959 11.074ZM5.959 9.246C4.143 9.246 2.678 7.781 2.678 5.965 2.678 4.148 4.143 2.684 5.959 2.684 7.775 2.684 9.24 4.148 9.24 5.965 9.24 7.781 7.775 9.246 5.959 9.246ZM18.041 11.074C20.865 11.074 23.15 8.789 23.15 5.965 23.15 3.141 20.865 0.855 18.041 0.855 15.217 0.855 12.932 3.141 12.932 5.965 12.932 8.789 15.217 11.074 18.041 11.074ZM18.041 9.246C16.225 9.246 14.76 7.781 14.76 5.965 14.76 4.148 16.225 2.684 18.041 2.684 19.857 2.684 21.322 4.148 21.322 5.965 21.322 7.781 19.857 9.246 18.041 9.246ZM5.959 23.145C8.783 23.145 11.068 20.859 11.068 18.035 11.068 15.211 8.783 12.926 5.959 12.926 3.135 12.926 0.85 15.211 0.85 18.035 0.85 20.859 3.135 23.145 5.959 23.145ZM5.959 21.316C4.143 21.316 2.678 19.852 2.678 18.035 2.678 16.219 4.143 14.754 5.959 14.754 7.775 14.754 9.24 16.219 9.24 18.035 9.24 19.852 7.775 21.316 5.959 21.316ZM18.041 23.145C20.865 23.145 23.15 20.859 23.15 18.035 23.15 15.211 20.865 12.926 18.041 12.926 15.217 12.926 12.932 15.211 12.932 18.035 12.932 20.859 15.217 23.145 18.041 23.145ZM18.041 21.316C16.225 21.316 14.76 19.852 14.76 18.035 14.76 16.219 16.225 14.754 18.041 14.754 19.857 14.754 21.322 16.219 21.322 18.035 21.322 19.852 19.857 21.316 18.041 21.316Z"
|
|
14189
14473
|
}
|
|
14190
14474
|
],
|
|
14191
|
-
box: [-2.15, -1.25, 28.3, 26.5]
|
|
14475
|
+
box: [-2.15, -1.25, 28.3, 26.5],
|
|
14476
|
+
controlBoxes: {
|
|
14477
|
+
"circle.grid.2x2": [15.666666666666666, 14.333333333333334, 2.3333333333333335]
|
|
14478
|
+
}
|
|
14192
14479
|
},
|
|
14193
14480
|
message: {
|
|
14194
14481
|
viewBox: "0 0 24 24",
|
|
@@ -14198,7 +14485,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14198
14485
|
d: "M12 23.408C19.875 23.408 25.629 18.604 25.629 11.994 25.629 5.361 19.863 0.592 12 0.592 4.125 0.592-1.629 5.361-1.629 11.994-1.629 14.186-0.984 16.225 0.141 17.877 0.691 18.697 0.891 19.271 0.891 19.752 0.891 20.373 0.703 20.877 0.164 21.346-0.762 22.131-0.281 23.408 0.938 23.408 2.402 23.408 4.031 22.904 5.238 22.072 7.219 22.939 9.527 23.408 12 23.408ZM12 21.521C9.762 21.521 7.758 21.1 6.059 20.338 5.309 20.01 4.77 20.104 4.055 20.525 3.551 20.842 2.965 21.111 2.367 21.24 2.613 20.83 2.777 20.361 2.777 19.752 2.777 18.885 2.461 17.936 1.711 16.811 0.773 15.451 0.258 13.799 0.258 11.994 0.258 6.498 5.109 2.479 12 2.479 18.891 2.479 23.742 6.498 23.742 11.994 23.742 17.49 18.891 21.521 12 21.521Z"
|
|
14199
14486
|
}
|
|
14200
14487
|
],
|
|
14201
|
-
box: [-3.75, -1.525, 31.5, 27.067]
|
|
14488
|
+
box: [-3.75, -1.525, 31.5, 27.067],
|
|
14489
|
+
controlBoxes: { message: [17, 14.666666666666666, 2] }
|
|
14202
14490
|
},
|
|
14203
14491
|
eye: {
|
|
14204
14492
|
viewBox: "0 0 24 24",
|
|
@@ -14208,7 +14496,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14208
14496
|
d: "M12.006 22.043C21.475 22.043 28.014 14.391 28.014 12 28.014 9.598 21.463 1.957 12.006 1.957 2.666 1.957-4.014 9.598-4.014 12-4.014 14.391 2.654 22.043 12.006 22.043ZM12.006 20.191C4.283 20.191-1.963 13.652-1.963 12-1.963 10.605 4.283 3.809 12.006 3.809 19.693 3.809 25.963 10.605 25.963 12 25.963 13.652 19.693 20.191 12.006 20.191ZM12.006 18.551C15.639 18.551 18.58 15.609 18.58 11.977 18.58 8.344 15.639 5.402 12.006 5.402 8.373 5.402 5.42 8.344 5.42 11.977 5.42 15.609 8.373 18.551 12.006 18.551ZM12.006 14.168C10.799 14.168 9.826 13.195 9.826 11.988 9.826 10.781 10.799 9.809 12.006 9.809 13.213 9.809 14.186 10.781 14.186 11.988 14.186 13.195 13.213 14.168 12.006 14.168Z"
|
|
14209
14497
|
}
|
|
14210
14498
|
],
|
|
14211
|
-
box: [-6.425, -0.15, 36.833, 24.3]
|
|
14499
|
+
box: [-6.425, -0.15, 36.833, 24.3],
|
|
14500
|
+
controlBoxes: { eye: [20.333333333333332, 13, 2] }
|
|
14212
14501
|
},
|
|
14213
14502
|
globe: {
|
|
14214
14503
|
viewBox: "0 0 24 24",
|
|
@@ -14218,7 +14507,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14218
14507
|
d: "M12 23.297C15.258 23.297 17.918 18.48 17.918 12.023 17.918 5.531 15.27 0.715 12 0.715 8.73 0.715 6.082 5.531 6.082 12.023 6.082 18.48 8.742 23.297 12 23.297ZM12 21.867C9.703 21.867 7.652 17.25 7.652 12.023 7.652 6.703 9.703 2.133 12 2.133 14.297 2.133 16.348 6.703 16.348 12.023 16.348 17.25 14.297 21.867 12 21.867ZM12 23.613C12.422 23.613 12.773 23.262 12.773 22.84L12.773 1.266C12.773 0.844 12.422 0.492 12 0.492 11.578 0.492 11.238 0.844 11.238 1.266L11.238 22.84C11.238 23.262 11.578 23.613 12 23.613ZM4.711 19.852C6.281 18.609 8.801 17.941 12 17.941 15.199 17.941 17.719 18.609 19.289 19.852 19.629 20.121 20.074 20.156 20.379 19.863 20.672 19.57 20.695 19.09 20.367 18.797 18.797 17.379 15.609 16.406 12 16.406 8.391 16.406 5.203 17.379 3.633 18.797 3.305 19.09 3.328 19.57 3.621 19.863 3.926 20.156 4.371 20.121 4.711 19.852ZM1.453 12.762L22.781 12.762C23.203 12.762 23.555 12.422 23.555 12 23.555 11.578 23.203 11.227 22.781 11.227L1.453 11.227C1.031 11.227 0.68 11.578 0.68 12 0.68 12.422 1.031 12.762 1.453 12.762ZM12 7.652C15.609 7.652 18.797 6.68 20.367 5.262 20.695 4.957 20.672 4.488 20.379 4.195 20.074 3.902 19.629 3.938 19.289 4.207 17.719 5.438 15.199 6.117 12 6.117 8.801 6.117 6.281 5.438 4.711 4.207 4.371 3.938 3.926 3.902 3.621 4.195 3.328 4.488 3.305 4.957 3.633 5.262 5.203 6.68 8.391 7.652 12 7.652ZM12 23.953C18.598 23.953 23.953 18.598 23.953 12 23.953 5.402 18.598 0.047 12 0.047 5.402 0.047 0.047 5.402 0.047 12 0.047 18.598 5.402 23.953 12 23.953ZM12 22.359C6.281 22.359 1.641 17.719 1.641 12 1.641 6.281 6.281 1.641 12 1.641 17.719 1.641 22.359 6.281 22.359 12 22.359 17.719 17.719 22.359 12 22.359Z"
|
|
14219
14508
|
}
|
|
14220
14509
|
],
|
|
14221
|
-
box: [-2.075, -2.05, 28.167, 28.1]
|
|
14510
|
+
box: [-2.075, -2.05, 28.167, 28.1],
|
|
14511
|
+
controlBoxes: { globe: [15, 15, 3] }
|
|
14222
14512
|
},
|
|
14223
14513
|
"trash.fill": {
|
|
14224
14514
|
viewBox: "0 0 24 24",
|
|
@@ -14228,7 +14518,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14228
14518
|
d: "M8.426 21.486C7.969 21.486 7.676 21.217 7.652 20.771L7.301 7.869C7.289 7.436 7.582 7.154 8.051 7.154 8.484 7.154 8.789 7.424 8.801 7.857L9.176 20.771C9.188 21.205 8.883 21.486 8.426 21.486ZM12 21.486C11.543 21.486 11.227 21.205 11.227 20.771L11.227 7.869C11.227 7.436 11.543 7.154 12 7.154 12.457 7.154 12.785 7.436 12.785 7.869L12.785 20.771C12.785 21.205 12.457 21.486 12 21.486ZM15.586 21.486C15.129 21.486 14.824 21.205 14.836 20.771L15.199 7.869C15.211 7.424 15.516 7.154 15.949 7.154 16.418 7.154 16.711 7.436 16.699 7.869L16.348 20.771C16.324 21.217 16.031 21.486 15.586 21.486ZM6.855 4.307L8.719 4.307 8.719 1.799C8.719 1.131 9.188 0.697 9.891 0.697L14.086 0.697C14.789 0.697 15.258 1.131 15.258 1.799L15.258 4.307 17.121 4.307 17.121 1.682C17.121-0.018 16.02-1.049 14.215-1.049L9.762-1.049C7.957-1.049 6.855-0.018 6.855 1.682ZM1.535 5.244L22.477 5.244C22.957 5.244 23.344 4.834 23.344 4.354 23.344 3.873 22.957 3.475 22.477 3.475L1.535 3.475C1.066 3.475 0.656 3.873 0.656 4.354 0.656 4.846 1.066 5.244 1.535 5.244ZM6.633 25.049L17.379 25.049C19.055 25.049 20.18 23.959 20.262 22.283L21.082 4.998 2.918 4.998 3.75 22.295C3.832 23.971 4.934 25.049 6.633 25.049Z"
|
|
14229
14519
|
}
|
|
14230
14520
|
],
|
|
14231
|
-
box: [-1.15, -3.15, 26.3, 30.3]
|
|
14521
|
+
box: [-1.15, -3.15, 26.3, 30.3],
|
|
14522
|
+
controlBoxes: { "trash.fill": [14.333333333333334, 16.333333333333332, 3] }
|
|
14232
14523
|
},
|
|
14233
14524
|
checklist: {
|
|
14234
14525
|
viewBox: "0 0 24 24",
|
|
@@ -14238,7 +14529,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14238
14529
|
d: "M3.914 23.836C6.668 23.836 8.965 21.539 8.965 18.785 8.965 16.008 6.668 13.723 3.914 13.723 1.148 13.723-1.137 16.02-1.137 18.785-1.137 21.539 1.16 23.836 3.914 23.836ZM3.914 22.125C2.098 22.125 0.574 20.59 0.574 18.785 0.574 16.969 2.109 15.434 3.914 15.434 5.719 15.434 7.254 16.969 7.254 18.785 7.254 20.59 5.719 22.125 3.914 22.125ZM12.527 6.176L24.176 6.176C24.703 6.176 25.137 5.754 25.137 5.227 25.137 4.699 24.703 4.289 24.176 4.289L12.527 4.289C11.988 4.289 11.578 4.699 11.578 5.227 11.578 5.754 11.988 6.176 12.527 6.176ZM12.527 19.723L24.176 19.723C24.703 19.723 25.137 19.313 25.137 18.785 25.137 18.246 24.703 17.836 24.176 17.836L12.527 17.836C11.988 17.836 11.578 18.246 11.578 18.785 11.578 19.313 11.988 19.723 12.527 19.723ZM3.914 10.277C6.668 10.277 8.965 7.969 8.965 5.215 8.965 2.449 6.668 0.164 3.914 0.164 1.148 0.164-1.137 2.449-1.137 5.215-1.137 7.969 1.16 10.277 3.914 10.277ZM3.316 7.934C3.07 7.934 2.906 7.805 2.73 7.605L1.418 6.023C1.313 5.883 1.266 5.754 1.266 5.566 1.266 5.227 1.523 4.957 1.84 4.957 2.063 4.957 2.227 5.051 2.379 5.25L3.293 6.41 5.379 3.059C5.52 2.848 5.695 2.73 5.906 2.73 6.234 2.73 6.516 2.988 6.516 3.281 6.516 3.445 6.469 3.586 6.363 3.762L3.914 7.605C3.785 7.816 3.574 7.934 3.316 7.934Z"
|
|
14239
14530
|
}
|
|
14240
14531
|
],
|
|
14241
|
-
box: [-4.15, -1.95, 32.3, 27.9]
|
|
14532
|
+
box: [-4.15, -1.95, 32.3, 27.9],
|
|
14533
|
+
controlBoxes: { checklist: [17.666666666666668, 15, 3] }
|
|
14242
14534
|
},
|
|
14243
14535
|
newspaper: {
|
|
14244
14536
|
viewBox: "0 0 24 24",
|
|
@@ -14248,7 +14540,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14248
14540
|
d: "M-1.324 21.023C-1.324 23.355-0.164 24.563 2.215 24.563L21.645 24.563C24.105 24.563 25.324 23.355 25.324 20.941L25.324 3.07C25.324 0.656 24.105-0.563 21.645-0.563L7.523-0.563C5.074-0.563 3.844 0.656 3.844 3.07L3.844 8.66 1.043 8.66C-0.445 8.66-1.324 9.469-1.324 10.863ZM0.563 21.023L0.563 11.227C0.563 10.793 0.82 10.547 1.254 10.547L3.844 10.547 3.844 21.023C3.844 21.996 3.129 22.676 2.215 22.676 1.289 22.676 0.563 21.961 0.563 21.023ZM5.332 22.676C5.59 22.172 5.73 21.586 5.73 20.906L5.73 3.176C5.73 1.957 6.387 1.324 7.559 1.324L21.609 1.324C22.781 1.324 23.438 1.957 23.438 3.176L23.438 20.836C23.438 22.055 22.781 22.676 21.609 22.676ZM8.777 6.422L20.414 6.422C20.824 6.422 21.141 6.094 21.141 5.684 21.141 5.285 20.824 4.98 20.414 4.98L8.777 4.98C8.355 4.98 8.039 5.285 8.039 5.684 8.039 6.094 8.355 6.422 8.777 6.422ZM8.777 10.547L20.414 10.547C20.824 10.547 21.141 10.23 21.141 9.832 21.141 9.422 20.824 9.105 20.414 9.105L8.777 9.105C8.355 9.105 8.039 9.422 8.039 9.832 8.039 10.23 8.355 10.547 8.777 10.547ZM9.469 18.902L12.504 18.902C13.395 18.902 13.934 18.363 13.934 17.473L13.934 14.684C13.934 13.781 13.395 13.242 12.504 13.242L9.469 13.242C8.566 13.242 8.027 13.781 8.027 14.684L8.027 17.473C8.027 18.363 8.566 18.902 9.469 18.902ZM16.043 14.684L20.402 14.684C20.824 14.684 21.129 14.379 21.129 13.98 21.129 13.559 20.824 13.242 20.402 13.242L16.043 13.242C15.621 13.242 15.316 13.559 15.316 13.98 15.316 14.379 15.621 14.684 16.043 14.684ZM16.043 18.902L20.402 18.902C20.824 18.902 21.129 18.598 21.129 18.199 21.129 17.789 20.824 17.461 20.402 17.461L16.043 17.461C15.621 17.461 15.316 17.789 15.316 18.199 15.316 18.598 15.621 18.902 16.043 18.902Z"
|
|
14249
14541
|
}
|
|
14250
14542
|
],
|
|
14251
|
-
box: [-4.325, -2.675, 32.7, 29.367]
|
|
14543
|
+
box: [-4.325, -2.675, 32.7, 29.367],
|
|
14544
|
+
controlBoxes: { newspaper: [18, 15.666666666666666, 3.3333333333333335] }
|
|
14252
14545
|
},
|
|
14253
14546
|
bell: {
|
|
14254
14547
|
viewBox: "0 0 24 24",
|
|
@@ -14258,7 +14551,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14258
14551
|
d: "M0.943 18.445C0.943 19.301 1.6 19.863 2.713 19.863L7.658 19.863C7.752 22.125 9.521 24.105 11.994 24.105 14.479 24.105 16.248 22.137 16.342 19.863L21.287 19.863C22.389 19.863 23.057 19.301 23.057 18.445 23.057 17.273 21.861 16.219 20.854 15.176 20.08 14.367 19.869 12.703 19.775 11.355 19.693 6.738 18.498 3.762 15.381 2.637 14.982 1.102 13.729-0.105 11.994-0.105 10.271-0.105 9.006 1.102 8.619 2.637 5.502 3.762 4.307 6.738 4.225 11.355 4.131 12.703 3.92 14.367 3.146 15.176 2.127 16.219 0.943 17.273 0.943 18.445ZM3.217 18.094L3.217 17.953C3.428 17.613 4.131 16.922 4.74 16.242 5.584 15.305 5.982 13.793 6.088 11.508 6.182 6.387 7.705 4.758 9.709 4.207 10.002 4.137 10.166 3.996 10.178 3.691 10.213 2.473 10.916 1.617 11.994 1.617 13.084 1.617 13.775 2.473 13.822 3.691 13.834 3.996 13.986 4.137 14.279 4.207 16.295 4.758 17.818 6.387 17.912 11.508 18.018 13.793 18.416 15.305 19.248 16.242 19.869 16.922 20.561 17.613 20.771 17.953L20.771 18.094ZM9.486 19.863L14.514 19.863C14.42 21.457 13.412 22.453 11.994 22.453 10.588 22.453 9.568 21.457 9.486 19.863Z"
|
|
14259
14552
|
}
|
|
14260
14553
|
],
|
|
14261
|
-
box: [-1.575, -2.2, 27.167, 28.4]
|
|
14554
|
+
box: [-1.575, -2.2, 27.167, 28.4],
|
|
14555
|
+
controlBoxes: { bell: [14.666666666666666, 15.333333333333334, 3] }
|
|
14262
14556
|
},
|
|
14263
14557
|
"plus.circle": {
|
|
14264
14558
|
viewBox: "0 0 24 24",
|
|
@@ -14268,7 +14562,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14268
14562
|
d: "M12 23.953C18.598 23.953 23.953 18.598 23.953 12 23.953 5.402 18.598 0.047 12 0.047 5.402 0.047 0.047 5.402 0.047 12 0.047 18.598 5.402 23.953 12 23.953ZM12 21.961C6.492 21.961 2.039 17.508 2.039 12 2.039 6.492 6.492 2.039 12 2.039 17.508 2.039 21.961 6.492 21.961 12 21.961 17.508 17.508 21.961 12 21.961ZM12.973 16.418L12.973 7.559C12.973 6.961 12.563 6.551 11.977 6.551 11.402 6.551 11.004 6.961 11.004 7.559L11.004 16.418C11.004 17.004 11.402 17.414 11.977 17.414 12.563 17.414 12.973 17.016 12.973 16.418ZM7.559 12.961L16.43 12.961C17.016 12.961 17.426 12.574 17.426 12 17.426 11.414 17.016 11.004 16.43 11.004L7.559 11.004C6.961 11.004 6.563 11.414 6.563 12 6.563 12.574 6.961 12.961 7.559 12.961Z"
|
|
14269
14563
|
}
|
|
14270
14564
|
],
|
|
14271
|
-
box: [-2.075, -2.05, 28.167, 28.1]
|
|
14565
|
+
box: [-2.075, -2.05, 28.167, 28.1],
|
|
14566
|
+
controlBoxes: { "plus.circle": [15, 15, 3] }
|
|
14272
14567
|
},
|
|
14273
14568
|
"book.closed": {
|
|
14274
14569
|
viewBox: "0 0 24 24",
|
|
@@ -14278,7 +14573,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14278
14573
|
d: "M5.742 24.557L20.918 24.557C21.434 24.557 21.855 24.146 21.855 23.619 21.855 23.209 21.574 22.846 21.199 22.717 19.723 22.131 19.418 20.221 20.871 18.756 21.316 18.311 21.855 17.736 21.855 16.564L21.855 3.123C21.855 0.686 20.648-0.557 18.223-0.557L5.777-0.557C3.352-0.557 2.145 0.674 2.145 3.123L2.145 20.936C2.145 23.35 3.363 24.557 5.742 24.557ZM4.031 17.783L4.031 3.158C4.031 1.986 4.652 1.33 5.859 1.33L18.129 1.33C19.348 1.33 19.969 1.986 19.969 3.158L19.969 16.307C19.969 16.939 19.605 17.303 18.949 17.303L5.941 17.303C5.18 17.303 4.547 17.467 4.031 17.783ZM5.848 22.67C4.664 22.67 4.031 22.037 4.031 20.924 4.031 19.869 4.781 19.189 5.953 19.189L17.977 19.189C18.129 19.189 18.27 19.178 18.387 19.154 17.836 20.373 17.93 21.662 18.551 22.67ZM5.414 18.311L6.949 18.311 6.949 0.873 5.414 0.873Z"
|
|
14279
14574
|
}
|
|
14280
14575
|
],
|
|
14281
|
-
box: [-0.875, -2.675, 25.767, 29.367]
|
|
14576
|
+
box: [-0.875, -2.675, 25.767, 29.367],
|
|
14577
|
+
controlBoxes: {
|
|
14578
|
+
"book.closed": [14.333333333333334, 15.666666666666666, 3.3333333333333335]
|
|
14579
|
+
}
|
|
14282
14580
|
},
|
|
14283
14581
|
plus: {
|
|
14284
14582
|
viewBox: "0 0 24 24",
|
|
@@ -14288,7 +14586,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14288
14586
|
d: "M13.055 20.625L13.055 3.375C13.055 2.813 12.574 2.332 12 2.332 11.426 2.332 10.957 2.813 10.957 3.375L10.957 20.625C10.957 21.188 11.426 21.668 12 21.668 12.574 21.668 13.055 21.188 13.055 20.625ZM3.375 13.043L20.625 13.043C21.188 13.043 21.668 12.574 21.668 12 21.668 11.426 21.188 10.945 20.625 10.945L3.375 10.945C2.813 10.945 2.332 11.426 2.332 12 2.332 12.574 2.813 13.043 3.375 13.043Z"
|
|
14289
14587
|
}
|
|
14290
14588
|
],
|
|
14291
|
-
box: [-0.675, 0.225, 25.367, 23.567]
|
|
14589
|
+
box: [-0.675, 0.225, 25.367, 23.567],
|
|
14590
|
+
controlBoxes: { plus: [14, 12.666666666666666, 1.6666666666666667] }
|
|
14292
14591
|
},
|
|
14293
14592
|
grid: {
|
|
14294
14593
|
viewBox: "0 0 24 24",
|
|
@@ -14298,7 +14597,8 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14298
14597
|
d: "M7.676 23.104C8.215 23.104 8.555 22.752 8.555 22.178L8.555 1.834C8.555 1.26 8.215 0.896 7.676 0.896 7.113 0.896 6.785 1.26 6.785 1.834L6.785 22.178C6.785 22.752 7.113 23.104 7.676 23.104ZM16.266 23.104C16.805 23.104 17.145 22.752 17.145 22.178L17.145 1.834C17.145 1.26 16.805 0.896 16.266 0.896 15.703 0.896 15.375 1.26 15.375 1.834L15.375 22.178C15.375 22.752 15.703 23.104 16.266 23.104ZM1.605 17.092L22.395 17.092C22.98 17.092 23.332 16.752 23.332 16.201 23.332 15.65 22.98 15.322 22.395 15.322L1.605 15.322C1.02 15.322 0.668 15.65 0.668 16.201 0.668 16.752 1.02 17.092 1.605 17.092ZM1.605 8.725L22.395 8.725C22.98 8.725 23.332 8.385 23.332 7.846 23.332 7.295 22.98 6.955 22.395 6.955L1.605 6.955C1.02 6.955 0.668 7.295 0.668 7.846 0.668 8.385 1.02 8.725 1.605 8.725Z"
|
|
14299
14598
|
}
|
|
14300
14599
|
],
|
|
14301
|
-
box: [-2.35, -1.225, 28.667, 26.467]
|
|
14600
|
+
box: [-2.35, -1.225, 28.667, 26.467],
|
|
14601
|
+
controlBoxes: { grid: [15.666666666666666, 14.333333333333334, 2.3333333333333335] }
|
|
14302
14602
|
},
|
|
14303
14603
|
banknote: {
|
|
14304
14604
|
viewBox: "0 0 24 24",
|
|
@@ -14308,7 +14608,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14308
14608
|
d: "M-3.469 20.748C-3.469 21.311-3.094 21.686-2.531 21.686L26.543 21.686C27.105 21.686 27.469 21.311 27.469 20.748L27.469 3.24C27.469 2.678 27.105 2.314 26.543 2.314L-2.531 2.314C-3.094 2.314-3.469 2.678-3.469 3.24ZM-1.582 19.459L-1.582 4.541C-1.582 4.283-1.488 4.201-1.242 4.201L25.242 4.201C25.5 4.201 25.582 4.283 25.582 4.541L25.582 19.459C25.582 19.705 25.5 19.799 25.242 19.799L-1.242 19.799C-1.488 19.799-1.582 19.705-1.582 19.459ZM-0.316 17.842C-0.316 18.287-0.07 18.533 0.363 18.533L23.648 18.533C24.07 18.533 24.328 18.287 24.328 17.842L24.328 6.146C24.328 5.713 24.07 5.455 23.648 5.455L0.363 5.455C-0.07 5.455-0.316 5.713-0.316 6.146ZM0.867 17.08L0.867 6.908C0.867 6.732 0.949 6.639 1.125 6.639L22.875 6.639C23.051 6.639 23.145 6.732 23.145 6.908L23.145 17.08C23.145 17.256 23.051 17.35 22.875 17.35L1.125 17.35C0.949 17.35 0.867 17.256 0.867 17.08ZM11.953 18.533C14.484 18.533 16.5 15.99 16.5 11.982 16.5 7.986 14.484 5.455 11.953 5.455 9.492 5.455 7.512 7.986 7.512 11.982 7.512 15.99 9.492 18.533 11.953 18.533ZM11.953 17.15C10.289 17.15 8.871 15.17 8.871 11.982 8.871 8.807 10.289 6.838 11.953 6.838 13.688 6.838 15.152 8.807 15.152 11.982 15.152 15.17 13.688 17.15 11.953 17.15Z"
|
|
14309
14609
|
}
|
|
14310
14610
|
],
|
|
14311
|
-
box: [-6.475, 0.2, 36.933, 23.567]
|
|
14611
|
+
box: [-6.475, 0.2, 36.933, 23.567],
|
|
14612
|
+
controlBoxes: {
|
|
14613
|
+
banknote: [20.333333333333332, 12.666666666666666, 1.6666666666666667]
|
|
14614
|
+
}
|
|
14312
14615
|
},
|
|
14313
14616
|
"banknote.fill": {
|
|
14314
14617
|
viewBox: "0 0 24 24",
|
|
@@ -14318,7 +14621,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14318
14621
|
d: "M-3.469 20.748C-3.469 21.311-3.094 21.686-2.531 21.686L26.543 21.686C27.105 21.686 27.469 21.311 27.469 20.748L27.469 3.24C27.469 2.678 27.105 2.314 26.543 2.314L-2.531 2.314C-3.094 2.314-3.469 2.678-3.469 3.24ZM-1.324 18.826L-1.324 5.174C-1.324 4.705-1.055 4.459-0.621 4.459L24.621 4.459C25.066 4.459 25.324 4.705 25.324 5.174L25.324 18.826C25.324 19.283 25.066 19.541 24.621 19.541L-0.621 19.541C-1.055 19.541-1.324 19.283-1.324 18.826ZM-0.105 18.041C-0.105 18.229 0 18.322 0.176 18.322L9.34 18.322C8.098 17.057 7.371 14.818 7.371 11.982 7.371 9.158 8.098 6.932 9.316 5.678L0.176 5.678C0 5.678-0.105 5.771-0.105 5.959ZM8.777 11.982C8.777 15.639 10.043 18.088 11.953 18.088 13.922 18.088 15.246 15.639 15.246 11.982 15.246 8.326 13.922 5.889 11.953 5.889 10.043 5.889 8.777 8.326 8.777 11.982ZM14.637 18.322L23.824 18.322C24 18.322 24.105 18.229 24.105 18.041L24.105 5.959C24.105 5.771 24 5.678 23.824 5.678L14.648 5.678C15.902 6.932 16.641 9.158 16.641 11.982 16.641 14.818 15.891 17.057 14.637 18.322Z"
|
|
14319
14622
|
}
|
|
14320
14623
|
],
|
|
14321
|
-
box: [-6.475, 0.2, 36.933, 23.567]
|
|
14624
|
+
box: [-6.475, 0.2, 36.933, 23.567],
|
|
14625
|
+
controlBoxes: {
|
|
14626
|
+
"banknote.fill": [20.333333333333332, 12.666666666666666, 1.6666666666666667]
|
|
14627
|
+
}
|
|
14322
14628
|
},
|
|
14323
14629
|
"wallet.pass": {
|
|
14324
14630
|
viewBox: "0 0 24 24",
|
|
@@ -14328,7 +14634,10 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14328
14634
|
d: "M5.777 24.563L18.223 24.563C20.637 24.563 21.855 23.332 21.855 20.895L21.855 3.117C21.855 0.668 20.648-0.563 18.223-0.563L14.742-0.563C14.344-0.563 14.086-0.281 14.086 0.141 14.086 1.359 13.242 2.215 12 2.215 10.758 2.215 9.902 1.359 9.902 0.141 9.902-0.281 9.645-0.563 9.246-0.563L5.777-0.563C3.352-0.563 2.145 0.668 2.145 3.117L2.145 20.895C2.145 23.332 3.363 24.563 5.777 24.563ZM5.871 22.676C4.652 22.676 4.031 22.02 4.031 20.859L4.031 3.152C4.031 1.98 4.652 1.324 5.871 1.324L9.211 1.324 8.121 0.656C8.332 2.707 9.855 4.043 12 4.043 14.145 4.043 15.668 2.707 15.891 0.656L14.789 1.324 18.129 1.324C19.348 1.324 19.969 1.98 19.969 3.152L19.969 20.859C19.969 22.02 19.348 22.676 18.129 22.676ZM7.559 8.168L16.453 8.168C16.863 8.168 17.168 7.852 17.168 7.43 17.168 7.031 16.863 6.715 16.453 6.715L7.559 6.715C7.137 6.715 6.832 7.031 6.832 7.43 6.832 7.852 7.137 8.168 7.559 8.168ZM7.559 12.328L11.766 12.328C12.188 12.328 12.492 12.012 12.492 11.613 12.492 11.203 12.188 10.887 11.766 10.887L7.559 10.887C7.137 10.887 6.832 11.203 6.832 11.613 6.832 12.012 7.137 12.328 7.559 12.328Z"
|
|
14329
14635
|
}
|
|
14330
14636
|
],
|
|
14331
|
-
box: [-0.875, -2.675, 25.767, 29.367]
|
|
14637
|
+
box: [-0.875, -2.675, 25.767, 29.367],
|
|
14638
|
+
controlBoxes: {
|
|
14639
|
+
"wallet.pass": [14.333333333333334, 15.666666666666666, 3.3333333333333335]
|
|
14640
|
+
}
|
|
14332
14641
|
},
|
|
14333
14642
|
"chevron.backward": {
|
|
14334
14643
|
viewBox: "0 0 24 24",
|
|
@@ -14338,7 +14647,11 @@ var COMMON_SF_SYMBOL_VECTORS = {
|
|
|
14338
14647
|
d: "M6.27 12C6.27 12.293 6.375 12.551 6.598 12.773L15.891 21.855C16.09 22.066 16.348 22.172 16.652 22.172 17.262 22.172 17.73 21.715 17.73 21.105 17.73 20.801 17.602 20.543 17.414 20.344L8.883 12 17.414 3.656C17.602 3.457 17.73 3.188 17.73 2.895 17.73 2.285 17.262 1.828 16.652 1.828 16.348 1.828 16.09 1.934 15.891 2.133L6.598 11.227C6.375 11.438 6.27 11.707 6.27 12Z"
|
|
14339
14648
|
}
|
|
14340
14649
|
],
|
|
14341
|
-
box: [4.75, -0.275, 17.5, 24.567]
|
|
14650
|
+
box: [4.75, -0.275, 17.5, 24.567],
|
|
14651
|
+
controlBoxes: {
|
|
14652
|
+
"chevron.backward": [9.333333333333334, 13.333333333333334, 2],
|
|
14653
|
+
"chevron.left": [9.333333333333334, 13.333333333333334, 2]
|
|
14654
|
+
}
|
|
14342
14655
|
}
|
|
14343
14656
|
};
|
|
14344
14657
|
|
|
@@ -14352,11 +14665,11 @@ var symbolPromises2 = /* @__PURE__ */ new Map();
|
|
|
14352
14665
|
var failedVectors2 = /* @__PURE__ */ new Set();
|
|
14353
14666
|
var loadedPalettes = /* @__PURE__ */ new Map();
|
|
14354
14667
|
var palettePromises = /* @__PURE__ */ new Map();
|
|
14355
|
-
var
|
|
14668
|
+
var listeners7 = /* @__PURE__ */ new Map();
|
|
14356
14669
|
var catalogBaseUrl = null;
|
|
14357
14670
|
var onCatalogRegister = null;
|
|
14358
14671
|
function isRecord(value) {
|
|
14359
|
-
return typeof value === "object" && value !== null;
|
|
14672
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14360
14673
|
}
|
|
14361
14674
|
function isVectorLayer(value) {
|
|
14362
14675
|
if (!isRecord(value) || typeof value.d !== "string") return false;
|
|
@@ -14368,8 +14681,24 @@ function parseVector(value) {
|
|
|
14368
14681
|
}
|
|
14369
14682
|
const layers = value.layers.filter(isVectorLayer);
|
|
14370
14683
|
if (layers.length === 0) return null;
|
|
14684
|
+
let controlBoxes;
|
|
14685
|
+
if (value.controlBoxes !== void 0) {
|
|
14686
|
+
if (!isRecord(value.controlBoxes)) return null;
|
|
14687
|
+
controlBoxes = {};
|
|
14688
|
+
for (const [name, metrics] of Object.entries(value.controlBoxes)) {
|
|
14689
|
+
if (!Array.isArray(metrics) || metrics.length !== 3 || !metrics.every((item) => typeof item === "number" && Number.isFinite(item)) || metrics[0] <= 0 || metrics[1] <= 0)
|
|
14690
|
+
return null;
|
|
14691
|
+
controlBoxes[name] = [metrics[0], metrics[1], metrics[2]];
|
|
14692
|
+
}
|
|
14693
|
+
}
|
|
14371
14694
|
const box = value.box;
|
|
14372
|
-
return Array.isArray(box) && box.length === 4 && box.every((item) => typeof item === "number") ? {
|
|
14695
|
+
return Array.isArray(box) && box.length === 4 && box.every((item) => typeof item === "number") ? {
|
|
14696
|
+
viewBox: "0 0 24 24",
|
|
14697
|
+
advance: value.advance,
|
|
14698
|
+
box: [box[0], box[1], box[2], box[3]],
|
|
14699
|
+
controlBoxes,
|
|
14700
|
+
layers
|
|
14701
|
+
} : { viewBox: "0 0 24 24", advance: value.advance, controlBoxes, layers };
|
|
14373
14702
|
}
|
|
14374
14703
|
function nameBucket(name) {
|
|
14375
14704
|
let hash = 2166136261;
|
|
@@ -14452,16 +14781,16 @@ function isSfSymbolCatalogConfigured() {
|
|
|
14452
14781
|
return catalogBaseUrl !== null;
|
|
14453
14782
|
}
|
|
14454
14783
|
function subscribeSfSymbolVector(name, listener) {
|
|
14455
|
-
const nameListeners =
|
|
14784
|
+
const nameListeners = listeners7.get(name) ?? /* @__PURE__ */ new Set();
|
|
14456
14785
|
nameListeners.add(listener);
|
|
14457
|
-
|
|
14786
|
+
listeners7.set(name, nameListeners);
|
|
14458
14787
|
return () => {
|
|
14459
14788
|
nameListeners.delete(listener);
|
|
14460
|
-
if (nameListeners.size === 0)
|
|
14789
|
+
if (nameListeners.size === 0) listeners7.delete(name);
|
|
14461
14790
|
};
|
|
14462
14791
|
}
|
|
14463
14792
|
function notifyLoaded(name, loaded) {
|
|
14464
|
-
for (const listener of
|
|
14793
|
+
for (const listener of listeners7.get(name) ?? []) listener();
|
|
14465
14794
|
if (loaded) onCatalogRegister?.();
|
|
14466
14795
|
}
|
|
14467
14796
|
function requestSfSymbolVector(name) {
|
|
@@ -15291,6 +15620,7 @@ onDeviceSpecChange(_updateExports);
|
|
|
15291
15620
|
var DEFAULT_AUX_SHELL_SCENE = {
|
|
15292
15621
|
state: "home",
|
|
15293
15622
|
activeAppId: null,
|
|
15623
|
+
systemAlertAppId: null,
|
|
15294
15624
|
prewarmAppId: null,
|
|
15295
15625
|
showSwitcher: false,
|
|
15296
15626
|
isLocked: false,
|
|
@@ -15327,6 +15657,7 @@ var DEFAULT_AUX_SHELL_SCENE = {
|
|
|
15327
15657
|
recentApps: []
|
|
15328
15658
|
};
|
|
15329
15659
|
var currentScene = DEFAULT_AUX_SHELL_SCENE;
|
|
15660
|
+
var systemAlertAppId = createSignal(null);
|
|
15330
15661
|
function readAuxShellScene() {
|
|
15331
15662
|
return currentScene;
|
|
15332
15663
|
}
|
|
@@ -15440,7 +15771,7 @@ var pendingActionSheets = /* @__PURE__ */ new Map();
|
|
|
15440
15771
|
var pendingAndroidPermissions = /* @__PURE__ */ new Map();
|
|
15441
15772
|
var pendingShareSheets = /* @__PURE__ */ new Map();
|
|
15442
15773
|
var nextRequestId = 1;
|
|
15443
|
-
function showAlert(title, message, buttons, onDismiss, options, prompt, traitScheme) {
|
|
15774
|
+
function showAlert(title, message, buttons, onDismiss, options, prompt, traitScheme, systemPresentation) {
|
|
15444
15775
|
const config = {
|
|
15445
15776
|
title,
|
|
15446
15777
|
message,
|
|
@@ -15462,7 +15793,8 @@ function showAlert(title, message, buttons, onDismiss, options, prompt, traitSch
|
|
|
15462
15793
|
})),
|
|
15463
15794
|
prompt
|
|
15464
15795
|
};
|
|
15465
|
-
|
|
15796
|
+
const request = systemPresentation ? { kind: "systemAlert.show", requestId, spec, ...systemPresentation } : { kind: "alert.show", requestId, spec, traitScheme };
|
|
15797
|
+
if (!postTenantNativeUIRequest(request)) {
|
|
15466
15798
|
handleAlertResult(requestId, null);
|
|
15467
15799
|
}
|
|
15468
15800
|
return requestId;
|
|
@@ -15724,15 +16056,6 @@ function createToastAndroidNativeModule(toastAndroid) {
|
|
|
15724
16056
|
};
|
|
15725
16057
|
}
|
|
15726
16058
|
|
|
15727
|
-
// ../peach-engine/src/react-native/source-code-native-module.ts
|
|
15728
|
-
var SourceCodeNativeModule = {
|
|
15729
|
-
getConstants: () => {
|
|
15730
|
-
const g = globalThis;
|
|
15731
|
-
const scriptURL = g.__sootsim_bundle_url || (g.__sootsim_bundle_origin ? `${g.__sootsim_bundle_origin}/index.bundle` : "http://localhost:8081/index.bundle");
|
|
15732
|
-
return { scriptURL };
|
|
15733
|
-
}
|
|
15734
|
-
};
|
|
15735
|
-
|
|
15736
16059
|
// ../peach-engine/src/react-native/AppState.ts
|
|
15737
16060
|
var currentState = "active";
|
|
15738
16061
|
var AppStateNativeModule = {
|
|
@@ -15776,14 +16099,17 @@ function configureNextLayoutAnimation(config, onComplete, onError) {
|
|
|
15776
16099
|
})
|
|
15777
16100
|
);
|
|
15778
16101
|
let completionHasRun = false;
|
|
15779
|
-
let
|
|
16102
|
+
let cancelCompletion = null;
|
|
15780
16103
|
const complete = () => {
|
|
15781
16104
|
if (completionHasRun) return;
|
|
15782
16105
|
completionHasRun = true;
|
|
15783
|
-
|
|
16106
|
+
cancelCompletion?.();
|
|
15784
16107
|
onComplete?.();
|
|
15785
16108
|
};
|
|
15786
|
-
|
|
16109
|
+
cancelCompletion = scheduleAnimationDeadline(
|
|
16110
|
+
getAnimationTime() + duration + 17,
|
|
16111
|
+
complete
|
|
16112
|
+
);
|
|
15787
16113
|
setPendingLayoutAnimation(config);
|
|
15788
16114
|
}
|
|
15789
16115
|
|
|
@@ -16054,6 +16380,15 @@ var Settings = {
|
|
|
16054
16380
|
}
|
|
16055
16381
|
};
|
|
16056
16382
|
|
|
16383
|
+
// ../peach-engine/src/react-native/source-code-native-module.ts
|
|
16384
|
+
var SourceCodeNativeModule = {
|
|
16385
|
+
getConstants: () => {
|
|
16386
|
+
const g = globalThis;
|
|
16387
|
+
const scriptURL = g.__sootsim_bundle_url || (g.__sootsim_bundle_origin ? `${g.__sootsim_bundle_origin}/index.bundle` : "http://localhost:8081/index.bundle");
|
|
16388
|
+
return { scriptURL };
|
|
16389
|
+
}
|
|
16390
|
+
};
|
|
16391
|
+
|
|
16057
16392
|
// ../peach-engine/src/components/Text.tsx
|
|
16058
16393
|
var import_react8 = require("react");
|
|
16059
16394
|
function Text(props) {
|
|
@@ -17142,8 +17477,9 @@ function AndroidRipple({
|
|
|
17142
17477
|
const progressAv = (0, import_react15.useRef)(new AnimatedValue(0)).current;
|
|
17143
17478
|
const opacityAv = (0, import_react15.useRef)(new AnimatedValue(0)).current;
|
|
17144
17479
|
const completedRef = (0, import_react15.useRef)(false);
|
|
17145
|
-
const enteredAtRef = (0, import_react15.useRef)(
|
|
17480
|
+
const enteredAtRef = (0, import_react15.useRef)(getAnimationTime());
|
|
17146
17481
|
(0, import_react15.useEffect)(() => {
|
|
17482
|
+
enteredAtRef.current = getAnimationTime();
|
|
17147
17483
|
const expand = timing(progressAv, {
|
|
17148
17484
|
toValue: 1,
|
|
17149
17485
|
duration: RIPPLE_EXPAND_MS,
|
|
@@ -17164,25 +17500,24 @@ function AndroidRipple({
|
|
|
17164
17500
|
(0, import_react15.useEffect)(() => {
|
|
17165
17501
|
if (!released) return;
|
|
17166
17502
|
let fade = null;
|
|
17167
|
-
const
|
|
17168
|
-
|
|
17169
|
-
|
|
17503
|
+
const cancelFadeDeadline = scheduleAnimationDeadline(
|
|
17504
|
+
enteredAtRef.current + RIPPLE_EXPAND_MS,
|
|
17505
|
+
() => {
|
|
17506
|
+
fade = timing(opacityAv, {
|
|
17507
|
+
toValue: 0,
|
|
17508
|
+
duration: RIPPLE_FADE_MS,
|
|
17509
|
+
easing: Easing.linear
|
|
17510
|
+
});
|
|
17511
|
+
fade.start(() => {
|
|
17512
|
+
if (!completedRef.current) {
|
|
17513
|
+
completedRef.current = true;
|
|
17514
|
+
onComplete();
|
|
17515
|
+
}
|
|
17516
|
+
});
|
|
17517
|
+
}
|
|
17170
17518
|
);
|
|
17171
|
-
const timeout = setTimeout(() => {
|
|
17172
|
-
fade = timing(opacityAv, {
|
|
17173
|
-
toValue: 0,
|
|
17174
|
-
duration: RIPPLE_FADE_MS,
|
|
17175
|
-
easing: Easing.linear
|
|
17176
|
-
});
|
|
17177
|
-
fade.start(() => {
|
|
17178
|
-
if (!completedRef.current) {
|
|
17179
|
-
completedRef.current = true;
|
|
17180
|
-
onComplete();
|
|
17181
|
-
}
|
|
17182
|
-
});
|
|
17183
|
-
}, remainingEnterMs);
|
|
17184
17519
|
return () => {
|
|
17185
|
-
|
|
17520
|
+
cancelFadeDeadline();
|
|
17186
17521
|
fade?.stop();
|
|
17187
17522
|
};
|
|
17188
17523
|
}, [released, opacityAv, onComplete]);
|
|
@@ -17335,10 +17670,7 @@ function PressableInner(props, ref) {
|
|
|
17335
17670
|
onLongPress,
|
|
17336
17671
|
onInteractionFinished,
|
|
17337
17672
|
minPressDuration,
|
|
17338
|
-
onPress
|
|
17339
|
-
console.log("[probe-press] signInButton onPress fired");
|
|
17340
|
-
onPress?.(e);
|
|
17341
|
-
}) : onPress,
|
|
17673
|
+
onPress,
|
|
17342
17674
|
onPressIn(event) {
|
|
17343
17675
|
if (shouldUpdatePressed) {
|
|
17344
17676
|
setPressed(true);
|
|
@@ -17377,7 +17709,6 @@ function PressableInner(props, ref) {
|
|
|
17377
17709
|
onPressMove,
|
|
17378
17710
|
onPressOut,
|
|
17379
17711
|
pressRetentionOffset,
|
|
17380
|
-
props.testID,
|
|
17381
17712
|
releaseRipple,
|
|
17382
17713
|
shouldUpdatePressed,
|
|
17383
17714
|
startRipple,
|
|
@@ -17432,23 +17763,37 @@ Pressable.displayName = "Pressable";
|
|
|
17432
17763
|
var import_react17 = require("react");
|
|
17433
17764
|
|
|
17434
17765
|
// ../peach-engine/src/components/touchable-core.ts
|
|
17435
|
-
function
|
|
17766
|
+
function useTouchablePressability(props, wrapped) {
|
|
17767
|
+
return usePressability_default({
|
|
17768
|
+
cancelable: !props.rejectResponderTermination,
|
|
17769
|
+
disabled: props.disabled,
|
|
17770
|
+
hitSlop: props.hitSlop,
|
|
17771
|
+
delayLongPress: props.delayLongPress,
|
|
17772
|
+
delayPressIn: props.delayPressIn,
|
|
17773
|
+
delayPressOut: props.delayPressOut,
|
|
17774
|
+
minPressDuration: 0,
|
|
17775
|
+
pressRectOffset: props.pressRetentionOffset,
|
|
17776
|
+
onLongPress: props.onLongPress,
|
|
17777
|
+
onPress: wrapped.onPress ?? props.onPress,
|
|
17778
|
+
onPressIn: wrapped.onPressIn,
|
|
17779
|
+
onPressOut: wrapped.onPressOut
|
|
17780
|
+
});
|
|
17781
|
+
}
|
|
17782
|
+
function buildTouchableViewProps(props, ref) {
|
|
17436
17783
|
const {
|
|
17437
17784
|
// destructured only to transform or drop them; `rest` carries everything
|
|
17438
|
-
// else (
|
|
17439
|
-
//
|
|
17785
|
+
// else (hitSlop, onLayout, focusable, TV focus props, a11y props, etc.)
|
|
17786
|
+
// straight through to the underlying view.
|
|
17440
17787
|
children: _children,
|
|
17441
17788
|
disabled = false,
|
|
17442
|
-
onPress,
|
|
17443
|
-
onPressIn:
|
|
17444
|
-
onPressOut:
|
|
17445
|
-
onLongPress,
|
|
17789
|
+
onPress: _onPress,
|
|
17790
|
+
onPressIn: _onPressIn,
|
|
17791
|
+
onPressOut: _onPressOut,
|
|
17792
|
+
onLongPress: _onLongPress,
|
|
17446
17793
|
accessibilityRole,
|
|
17447
17794
|
accessibilityState,
|
|
17448
17795
|
id,
|
|
17449
17796
|
nativeID,
|
|
17450
|
-
// RN-specific knobs that sootsim doesn't wire — keep the names so
|
|
17451
|
-
// component authors don't see a typed regression, but don't forward.
|
|
17452
17797
|
rejectResponderTermination: _rejectResponderTermination,
|
|
17453
17798
|
touchSoundDisabled: _touchSoundDisabled,
|
|
17454
17799
|
...rest
|
|
@@ -17456,10 +17801,6 @@ function buildTouchableViewProps(props, ref, wrapped) {
|
|
|
17456
17801
|
return {
|
|
17457
17802
|
...rest,
|
|
17458
17803
|
ref,
|
|
17459
|
-
onPress: disabled ? void 0 : onPress,
|
|
17460
|
-
onPressIn: disabled ? void 0 : wrapped.onPressIn,
|
|
17461
|
-
onPressOut: disabled ? void 0 : wrapped.onPressOut,
|
|
17462
|
-
onLongPress: disabled ? void 0 : onLongPress,
|
|
17463
17804
|
id,
|
|
17464
17805
|
nativeID: nativeID ?? id,
|
|
17465
17806
|
accessibilityRole: accessibilityRole ?? "button",
|
|
@@ -17540,11 +17881,16 @@ function TouchableOpacityInner(props, ref) {
|
|
|
17540
17881
|
animationRef.current?.stop();
|
|
17541
17882
|
};
|
|
17542
17883
|
}, []);
|
|
17543
|
-
const viewProps = buildTouchableViewProps(props, ref
|
|
17884
|
+
const viewProps = buildTouchableViewProps(props, ref);
|
|
17885
|
+
const eventHandlers = useTouchablePressability(props, {
|
|
17544
17886
|
onPressIn: handlePressIn,
|
|
17545
17887
|
onPressOut: handlePressOut
|
|
17546
17888
|
});
|
|
17547
|
-
return (0, import_react17.createElement)(
|
|
17889
|
+
return (0, import_react17.createElement)(
|
|
17890
|
+
"sootsim-view",
|
|
17891
|
+
{ ...viewProps, ...eventHandlers, style: animatedStyle },
|
|
17892
|
+
children
|
|
17893
|
+
);
|
|
17548
17894
|
}
|
|
17549
17895
|
var TouchableOpacity = (0, import_react17.forwardRef)(TouchableOpacityInner);
|
|
17550
17896
|
TouchableOpacity.displayName = "TouchableOpacity";
|
|
@@ -20000,6 +20346,11 @@ function resolveSfSymbolIconName(name) {
|
|
|
20000
20346
|
}
|
|
20001
20347
|
function makeRoot(size, name, children, vector, box = "square") {
|
|
20002
20348
|
const imageBox = box === "image" ? vector?.box : void 0;
|
|
20349
|
+
const controlBox = box === "footnote" ? vector?.controlBoxes?.[name] : void 0;
|
|
20350
|
+
const footnote = IOS_UIKIT_TEXT_METRICS.l.footnote;
|
|
20351
|
+
if (box === "footnote" && (!controlBox || size !== footnote.fontSize)) {
|
|
20352
|
+
throw new Error(`SF Symbol footnote metrics unavailable: ${name} at ${size}pt`);
|
|
20353
|
+
}
|
|
20003
20354
|
const [boxX, boxY, boxWidth, boxHeight] = imageBox ?? [
|
|
20004
20355
|
12 - (vector && box !== "square" ? vector.advance : 24) / 2,
|
|
20005
20356
|
0,
|
|
@@ -20008,20 +20359,26 @@ function makeRoot(size, name, children, vector, box = "square") {
|
|
|
20008
20359
|
];
|
|
20009
20360
|
const scale = PixelRatio.get();
|
|
20010
20361
|
const snap = (points) => imageBox ? Math.ceil(points * scale - 1e-6) / scale : points;
|
|
20011
|
-
const width = snap(boxWidth * size / 24);
|
|
20012
|
-
const height = snap(boxHeight * size / 24);
|
|
20362
|
+
const width = controlBox ? controlBox[0] : snap(boxWidth * size / 24);
|
|
20363
|
+
const height = controlBox ? controlBox[1] : snap(boxHeight * size / 24);
|
|
20013
20364
|
const advance = width * 24 / size;
|
|
20014
20365
|
const tall = height * 24 / size;
|
|
20015
|
-
const left = boxX + boxWidth / 2 - advance / 2;
|
|
20016
|
-
const top = boxY + boxHeight / 2 - tall / 2;
|
|
20366
|
+
const left = controlBox ? 12 - advance / 2 : boxX + boxWidth / 2 - advance / 2;
|
|
20367
|
+
const top = controlBox ? 12 - tall / 2 : boxY + boxHeight / 2 - tall / 2;
|
|
20368
|
+
const baselineShift = controlBox ? Math.round(footnote.ascent * scale) / scale - Math.ceil(footnote.lineHeight * scale) / scale / 2 - (height / 2 - controlBox[2]) : 0;
|
|
20017
20369
|
return (0, import_react20.createElement)(
|
|
20018
20370
|
"svg-root",
|
|
20019
20371
|
{
|
|
20020
20372
|
width,
|
|
20021
20373
|
height,
|
|
20022
20374
|
viewBox: `${left} ${top} ${advance} ${tall}`,
|
|
20023
|
-
style: {
|
|
20024
|
-
|
|
20375
|
+
style: {
|
|
20376
|
+
width,
|
|
20377
|
+
height,
|
|
20378
|
+
...controlBox ? { transform: [{ translateY: baselineShift }] } : {}
|
|
20379
|
+
},
|
|
20380
|
+
sfSymbolName: name,
|
|
20381
|
+
...controlBox ? { sfSymbolControlImage: true } : {}
|
|
20025
20382
|
},
|
|
20026
20383
|
...children
|
|
20027
20384
|
);
|
|
@@ -20180,34 +20537,6 @@ function SfSymbolIcon(props) {
|
|
|
20180
20537
|
);
|
|
20181
20538
|
}
|
|
20182
20539
|
|
|
20183
|
-
// ../peach-engine/src/platform/adapter.ts
|
|
20184
|
-
var IOS_ADAPTER = Object.freeze({
|
|
20185
|
-
id: "ios",
|
|
20186
|
-
displayName: "iOS",
|
|
20187
|
-
isIOS: true,
|
|
20188
|
-
isAndroid: false,
|
|
20189
|
-
select: (registry) => registry.ios
|
|
20190
|
-
});
|
|
20191
|
-
var ANDROID_ADAPTER = Object.freeze({
|
|
20192
|
-
id: "android",
|
|
20193
|
-
displayName: "Android",
|
|
20194
|
-
isIOS: false,
|
|
20195
|
-
isAndroid: true,
|
|
20196
|
-
select: (registry) => registry.android
|
|
20197
|
-
});
|
|
20198
|
-
var RUNTIME_PLATFORM_ADAPTERS = Object.freeze({
|
|
20199
|
-
ios: IOS_ADAPTER,
|
|
20200
|
-
android: ANDROID_ADAPTER
|
|
20201
|
-
});
|
|
20202
|
-
function getRuntimePlatformAdapter(platform) {
|
|
20203
|
-
return RUNTIME_PLATFORM_ADAPTERS[platform];
|
|
20204
|
-
}
|
|
20205
|
-
|
|
20206
|
-
// ../peach-engine/src/platform/current-platform.ts
|
|
20207
|
-
function currentRuntimePlatform() {
|
|
20208
|
-
return Platform.OS;
|
|
20209
|
-
}
|
|
20210
|
-
|
|
20211
20540
|
// ../peach-engine/src/components/text-input-submit-behavior.ts
|
|
20212
20541
|
function resolveTextInputSubmitBehavior(props) {
|
|
20213
20542
|
const multiline = props?.multiline === true;
|
|
@@ -20922,8 +21251,24 @@ var TextInput = (0, import_react21.forwardRef)(function TextInput2(props, ref) {
|
|
|
20922
21251
|
placeholderTextColor = DEFAULT_TEXT_INPUT_PLACEHOLDER_COLOR,
|
|
20923
21252
|
onContentSizeChange,
|
|
20924
21253
|
clearButtonMode = "never",
|
|
21254
|
+
onPress,
|
|
21255
|
+
onPressIn,
|
|
21256
|
+
onPressOut,
|
|
21257
|
+
rejectResponderTermination = true,
|
|
20925
21258
|
...rest
|
|
20926
21259
|
} = props;
|
|
21260
|
+
const isAndroid = getRuntimePlatformAdapter(currentRuntimePlatform()).isAndroid;
|
|
21261
|
+
const pressabilityConfig = (0, import_react21.useMemo)(
|
|
21262
|
+
() => ({
|
|
21263
|
+
cancelable: isAndroid ? null : !rejectResponderTermination,
|
|
21264
|
+
hitSlop: rest.hitSlop,
|
|
21265
|
+
onPress,
|
|
21266
|
+
onPressIn,
|
|
21267
|
+
onPressOut
|
|
21268
|
+
}),
|
|
21269
|
+
[isAndroid, onPress, onPressIn, onPressOut, rejectResponderTermination, rest.hitSlop]
|
|
21270
|
+
);
|
|
21271
|
+
const pressHandlers = usePressability_default(pressabilityConfig) ?? {};
|
|
20927
21272
|
const nativeText = typeof text === "string" ? text : void 0;
|
|
20928
21273
|
const controlledValue = value;
|
|
20929
21274
|
const hostRef = (0, import_react21.useRef)(null);
|
|
@@ -20940,10 +21285,10 @@ var TextInput = (0, import_react21.forwardRef)(function TextInput2(props, ref) {
|
|
|
20940
21285
|
const showPlaceholder = !rawDisplayText && placeholder;
|
|
20941
21286
|
const isMultiline = rest.multiline === true;
|
|
20942
21287
|
const [editing, setEditing] = (0, import_react21.useState)(false);
|
|
20943
|
-
const showClearButton = !isMultiline && rawDisplayText.length > 0 && !
|
|
21288
|
+
const showClearButton = !isMultiline && rawDisplayText.length > 0 && !isAndroid && (clearButtonMode === "always" || clearButtonMode === "while-editing" && editing || clearButtonMode === "unless-editing" && !editing);
|
|
20944
21289
|
const justifyContent = isMultiline ? "flex-start" : "center";
|
|
20945
21290
|
const scrollEnabledProp = rest.scrollEnabled;
|
|
20946
|
-
const
|
|
21291
|
+
const clipsToBounds = !isMultiline || scrollEnabledProp !== false || !isAndroid;
|
|
20947
21292
|
(0, import_react21.useEffect)(() => {
|
|
20948
21293
|
if (isControlled) {
|
|
20949
21294
|
lastControlledValueRef.current = controlledValue;
|
|
@@ -21290,14 +21635,13 @@ var TextInput = (0, import_react21.forwardRef)(function TextInput2(props, ref) {
|
|
|
21290
21635
|
// `flexDirection: 'row'` (e.g. Mattermost's FloatingTextInput).
|
|
21291
21636
|
flexDirection: "column",
|
|
21292
21637
|
justifyContent,
|
|
21293
|
-
//
|
|
21294
|
-
//
|
|
21295
|
-
//
|
|
21296
|
-
|
|
21297
|
-
// so the clip becomes a no-op rather than a behavior change.
|
|
21298
|
-
...scrollsInternally ? { overflow: "hidden" } : null
|
|
21638
|
+
// without this, a long single-line value or a tall multiline value
|
|
21639
|
+
// paints outside the input border and the caret floats in
|
|
21640
|
+
// no-mans-land.
|
|
21641
|
+
...clipsToBounds ? { overflow: "hidden" } : null
|
|
21299
21642
|
},
|
|
21300
21643
|
...rest,
|
|
21644
|
+
...pressHandlers,
|
|
21301
21645
|
...onContentSizeChange ? { onLayout: handleHostLayout } : null,
|
|
21302
21646
|
onFocus: handleFocus,
|
|
21303
21647
|
onBlur: handleBlur,
|
|
@@ -21395,8 +21739,8 @@ var import_react23 = require("react");
|
|
|
21395
21739
|
|
|
21396
21740
|
// ../peach-engine/src/vendor/react-native-lists/deepDiffer.ts
|
|
21397
21741
|
var logListeners;
|
|
21398
|
-
function unstable_setLogListeners(
|
|
21399
|
-
logListeners =
|
|
21742
|
+
function unstable_setLogListeners(listeners8) {
|
|
21743
|
+
logListeners = listeners8 ?? void 0;
|
|
21400
21744
|
}
|
|
21401
21745
|
function deepDiffer(one, two, maxDepthOrOptions = -1, maybeOptions) {
|
|
21402
21746
|
const options = typeof maxDepthOrOptions === "number" ? maybeOptions : maxDepthOrOptions;
|
|
@@ -23100,7 +23444,6 @@ var {
|
|
|
23100
23444
|
thumbMargin: THUMB_MARGIN
|
|
23101
23445
|
} = IOS_SWITCH_METRICS;
|
|
23102
23446
|
var ON_POS = TRACK_WIDTH - IOS_THUMB_WIDTH - THUMB_MARGIN;
|
|
23103
|
-
var LIFT_MIN_MS = 14 * 1e3 / 60;
|
|
23104
23447
|
var THUMB_LAYER = {
|
|
23105
23448
|
position: "absolute",
|
|
23106
23449
|
left: 0,
|
|
@@ -23561,6 +23904,7 @@ function TouchableHighlightInner(props, ref) {
|
|
|
23561
23904
|
onHideUnderlay,
|
|
23562
23905
|
onPressIn,
|
|
23563
23906
|
onPressOut,
|
|
23907
|
+
onPress,
|
|
23564
23908
|
delayPressOut,
|
|
23565
23909
|
style,
|
|
23566
23910
|
children
|
|
@@ -23619,31 +23963,40 @@ function TouchableHighlightInner(props, ref) {
|
|
|
23619
23963
|
);
|
|
23620
23964
|
const handlePressOut = (0, import_react36.useCallback)(
|
|
23621
23965
|
(e) => {
|
|
23622
|
-
|
|
23966
|
+
if (hideTimerRef.current === null) hide();
|
|
23967
|
+
onPressOut?.(e);
|
|
23968
|
+
},
|
|
23969
|
+
[hide, onPressOut]
|
|
23970
|
+
);
|
|
23971
|
+
const handlePress = (0, import_react36.useCallback)(
|
|
23972
|
+
(e) => {
|
|
23623
23973
|
clearHideTimer();
|
|
23624
|
-
|
|
23625
|
-
|
|
23626
|
-
|
|
23627
|
-
hide();
|
|
23628
|
-
}, delay);
|
|
23629
|
-
} else {
|
|
23974
|
+
show();
|
|
23975
|
+
hideTimerRef.current = setTimeout(() => {
|
|
23976
|
+
hideTimerRef.current = null;
|
|
23630
23977
|
hide();
|
|
23631
|
-
}
|
|
23632
|
-
|
|
23978
|
+
}, delayPressOut ?? 0);
|
|
23979
|
+
onPress?.(e);
|
|
23633
23980
|
},
|
|
23634
|
-
[clearHideTimer, delayPressOut, hide,
|
|
23981
|
+
[clearHideTimer, delayPressOut, hide, onPress, show]
|
|
23635
23982
|
);
|
|
23636
23983
|
(0, import_react36.useEffect)(() => {
|
|
23637
23984
|
return () => clearHideTimer();
|
|
23638
23985
|
}, [clearHideTimer]);
|
|
23639
|
-
const viewProps = buildTouchableViewProps(props, ref
|
|
23986
|
+
const viewProps = buildTouchableViewProps(props, ref);
|
|
23987
|
+
const eventHandlers = useTouchablePressability(props, {
|
|
23988
|
+
onPress: handlePress,
|
|
23640
23989
|
onPressIn: handlePressIn,
|
|
23641
23990
|
onPressOut: handlePressOut
|
|
23642
23991
|
});
|
|
23643
23992
|
const renderedChild = (0, import_react36.isValidElement)(child) ? (0, import_react36.cloneElement)(child, {
|
|
23644
23993
|
style: [child.props?.style, childOpacityOverlay]
|
|
23645
23994
|
}) : child;
|
|
23646
|
-
return (0, import_react36.createElement)(
|
|
23995
|
+
return (0, import_react36.createElement)(
|
|
23996
|
+
"sootsim-view",
|
|
23997
|
+
{ ...viewProps, ...eventHandlers, style: outerStyle },
|
|
23998
|
+
renderedChild
|
|
23999
|
+
);
|
|
23647
24000
|
}
|
|
23648
24001
|
var TouchableHighlight = (0, import_react36.forwardRef)(TouchableHighlightInner);
|
|
23649
24002
|
TouchableHighlight.displayName = "TouchableHighlight";
|
|
@@ -23852,6 +24205,16 @@ var VirtualRow = createVirtualCollectionView(
|
|
|
23852
24205
|
VirtualRowGenerator
|
|
23853
24206
|
);
|
|
23854
24207
|
|
|
24208
|
+
// ../peach-compat/src/stubs/rn-libraries/AssetRegistry.ts
|
|
24209
|
+
function createHostAssetRegistry() {
|
|
24210
|
+
const assets = [];
|
|
24211
|
+
return {
|
|
24212
|
+
registerAsset: (asset) => assets.push(asset),
|
|
24213
|
+
getAssetByID: (assetId) => assets[assetId - 1]
|
|
24214
|
+
};
|
|
24215
|
+
}
|
|
24216
|
+
var activeRegistry = createHostAssetRegistry();
|
|
24217
|
+
|
|
23855
24218
|
// ../peach-engine/src/react-native/RefreshControl.ts
|
|
23856
24219
|
var import_react42 = require("react");
|
|
23857
24220
|
|
|
@@ -25035,7 +25398,7 @@ function scalarAnimation(kind, value, config) {
|
|
|
25035
25398
|
var nextScalarDriverId = 1;
|
|
25036
25399
|
var activeScalarDriverIds = /* @__PURE__ */ new Set();
|
|
25037
25400
|
function createScalarDriver(kind, value, config) {
|
|
25038
|
-
let
|
|
25401
|
+
let rafId2 = null;
|
|
25039
25402
|
let workerBridge = null;
|
|
25040
25403
|
let done = false;
|
|
25041
25404
|
let onEnd = null;
|
|
@@ -25044,7 +25407,7 @@ function createScalarDriver(kind, value, config) {
|
|
|
25044
25407
|
const finish = (result, finalValue) => {
|
|
25045
25408
|
if (done) return;
|
|
25046
25409
|
done = true;
|
|
25047
|
-
|
|
25410
|
+
rafId2 = null;
|
|
25048
25411
|
workerBridge = null;
|
|
25049
25412
|
if (scalarDriverId !== null) activeScalarDriverIds.delete(scalarDriverId);
|
|
25050
25413
|
scalarDriverId = null;
|
|
@@ -25099,9 +25462,9 @@ function createScalarDriver(kind, value, config) {
|
|
|
25099
25462
|
const progress = Math.min((timestamp - startedAt3) / duration, 1);
|
|
25100
25463
|
update(fromValue + easing(progress) * (config.toValue - fromValue));
|
|
25101
25464
|
if (progress === 1) finish({ finished: true });
|
|
25102
|
-
else
|
|
25465
|
+
else rafId2 = requestAnimationFrame(tick2);
|
|
25103
25466
|
};
|
|
25104
|
-
|
|
25467
|
+
rafId2 = requestAnimationFrame(tick2);
|
|
25105
25468
|
return;
|
|
25106
25469
|
}
|
|
25107
25470
|
if (kind === "spring") {
|
|
@@ -25137,10 +25500,10 @@ function createScalarDriver(kind, value, config) {
|
|
|
25137
25500
|
update(config.toValue);
|
|
25138
25501
|
finish({ finished: true });
|
|
25139
25502
|
} else {
|
|
25140
|
-
|
|
25503
|
+
rafId2 = requestAnimationFrame(tick2);
|
|
25141
25504
|
}
|
|
25142
25505
|
};
|
|
25143
|
-
|
|
25506
|
+
rafId2 = requestAnimationFrame(tick2);
|
|
25144
25507
|
return;
|
|
25145
25508
|
}
|
|
25146
25509
|
const deceleration = config.deceleration ?? 0.998;
|
|
@@ -25170,10 +25533,10 @@ function createScalarDriver(kind, value, config) {
|
|
|
25170
25533
|
if (Math.abs(lastValue - next) < 0.1) finish({ finished: true });
|
|
25171
25534
|
else {
|
|
25172
25535
|
lastValue = next;
|
|
25173
|
-
|
|
25536
|
+
rafId2 = requestAnimationFrame(tick);
|
|
25174
25537
|
}
|
|
25175
25538
|
};
|
|
25176
|
-
|
|
25539
|
+
rafId2 = requestAnimationFrame(tick);
|
|
25177
25540
|
};
|
|
25178
25541
|
const delay = config.delay ?? 0;
|
|
25179
25542
|
if (delay <= 0) {
|
|
@@ -25184,13 +25547,13 @@ function createScalarDriver(kind, value, config) {
|
|
|
25184
25547
|
const waitForDelay = (timestamp) => {
|
|
25185
25548
|
if (done) return;
|
|
25186
25549
|
if (timestamp - startedAt >= delay) start();
|
|
25187
|
-
else
|
|
25550
|
+
else rafId2 = requestAnimationFrame(waitForDelay);
|
|
25188
25551
|
};
|
|
25189
|
-
|
|
25552
|
+
rafId2 = requestAnimationFrame(waitForDelay);
|
|
25190
25553
|
},
|
|
25191
25554
|
stop(onStopped) {
|
|
25192
25555
|
if (done) return;
|
|
25193
|
-
if (
|
|
25556
|
+
if (rafId2 !== null) cancelAnimationFrame(rafId2);
|
|
25194
25557
|
if (workerBridge) {
|
|
25195
25558
|
afterStop = onStopped ?? null;
|
|
25196
25559
|
stopNative();
|
|
@@ -25560,7 +25923,7 @@ function canOpenTenantUrl(url) {
|
|
|
25560
25923
|
}
|
|
25561
25924
|
function openSettings() {
|
|
25562
25925
|
const open = (0, engine_config_exports.getOptionalEngineConfig)()?.nativePermissions?.openSettings;
|
|
25563
|
-
return open ? open() : Promise.reject(
|
|
25926
|
+
return open ? open({ kind: "app" }) : Promise.reject(
|
|
25564
25927
|
new Error(
|
|
25565
25928
|
"[sootsim] app settings are unavailable before the native bridge installs"
|
|
25566
25929
|
)
|
|
@@ -25850,7 +26213,7 @@ var NativeEventEmitter = class {
|
|
|
25850
26213
|
if (count > 0) this._nativeModule?.removeListeners?.(count);
|
|
25851
26214
|
} else {
|
|
25852
26215
|
const count = [..._deviceEventListeners.values()].reduce(
|
|
25853
|
-
(total,
|
|
26216
|
+
(total, listeners8) => total + listeners8.size,
|
|
25854
26217
|
0
|
|
25855
26218
|
);
|
|
25856
26219
|
for (const registrations of Array.from(_nativeEventRegistrations.values())) {
|
|
@@ -25869,9 +26232,9 @@ var NativeEventEmitter = class {
|
|
|
25869
26232
|
return _deviceEventListeners.get(eventType)?.size ?? 0;
|
|
25870
26233
|
}
|
|
25871
26234
|
emit(eventType, ...args) {
|
|
25872
|
-
const
|
|
25873
|
-
if (!
|
|
25874
|
-
for (const listener of Array.from(
|
|
26235
|
+
const listeners8 = _deviceEventListeners.get(eventType);
|
|
26236
|
+
if (!listeners8) return;
|
|
26237
|
+
for (const listener of Array.from(listeners8)) listener(...args);
|
|
25875
26238
|
}
|
|
25876
26239
|
};
|
|
25877
26240
|
var DeviceEventEmitter = new NativeEventEmitter();
|
|
@@ -26410,17 +26773,17 @@ function createSootSimRnfsManagerModule() {
|
|
|
26410
26773
|
};
|
|
26411
26774
|
}
|
|
26412
26775
|
function createSootSimFileAccessModule() {
|
|
26413
|
-
const
|
|
26776
|
+
const listeners8 = {
|
|
26414
26777
|
complete: /* @__PURE__ */ new Set(),
|
|
26415
26778
|
error: /* @__PURE__ */ new Set(),
|
|
26416
26779
|
progress: /* @__PURE__ */ new Set()
|
|
26417
26780
|
};
|
|
26418
26781
|
const emit2 = (kind, event) => {
|
|
26419
|
-
for (const listener of Array.from(
|
|
26782
|
+
for (const listener of Array.from(listeners8[kind])) listener(event);
|
|
26420
26783
|
};
|
|
26421
26784
|
const subscribe = (kind, listener) => {
|
|
26422
|
-
|
|
26423
|
-
return { remove: () =>
|
|
26785
|
+
listeners8[kind].add(listener);
|
|
26786
|
+
return { remove: () => listeners8[kind].delete(listener) };
|
|
26424
26787
|
};
|
|
26425
26788
|
const readText = (pathLike) => getSootSimStorage().getItem(getSootSimRnfsStorageKey(pathLike)) ?? "";
|
|
26426
26789
|
const writeText = (pathLike, value) => {
|
|
@@ -27097,26 +27460,26 @@ var EventEmitter = class {
|
|
|
27097
27460
|
"EventEmitter.addListener(...): 2nd argument must be a function."
|
|
27098
27461
|
);
|
|
27099
27462
|
}
|
|
27100
|
-
let
|
|
27101
|
-
if (!
|
|
27102
|
-
|
|
27103
|
-
this._listeners.set(eventType,
|
|
27463
|
+
let listeners8 = this._listeners.get(eventType);
|
|
27464
|
+
if (!listeners8) {
|
|
27465
|
+
listeners8 = /* @__PURE__ */ new Set();
|
|
27466
|
+
this._listeners.set(eventType, listeners8);
|
|
27104
27467
|
}
|
|
27105
27468
|
const registration = {
|
|
27106
27469
|
listener,
|
|
27107
27470
|
context,
|
|
27108
27471
|
remove: () => {
|
|
27109
|
-
|
|
27110
|
-
if (
|
|
27472
|
+
listeners8.delete(registration);
|
|
27473
|
+
if (listeners8.size === 0) this._listeners.delete(eventType);
|
|
27111
27474
|
}
|
|
27112
27475
|
};
|
|
27113
|
-
|
|
27476
|
+
listeners8.add(registration);
|
|
27114
27477
|
return registration;
|
|
27115
27478
|
}
|
|
27116
27479
|
removeListener(eventType, listener) {
|
|
27117
|
-
const
|
|
27118
|
-
if (!
|
|
27119
|
-
for (const registration of
|
|
27480
|
+
const listeners8 = this._listeners.get(eventType);
|
|
27481
|
+
if (!listeners8) return;
|
|
27482
|
+
for (const registration of listeners8) {
|
|
27120
27483
|
if (registration.listener === listener) registration.remove();
|
|
27121
27484
|
}
|
|
27122
27485
|
}
|
|
@@ -27125,9 +27488,9 @@ var EventEmitter = class {
|
|
|
27125
27488
|
else this._listeners.clear();
|
|
27126
27489
|
}
|
|
27127
27490
|
emit(eventType, ...args) {
|
|
27128
|
-
const
|
|
27129
|
-
if (!
|
|
27130
|
-
for (const registration of Array.from(
|
|
27491
|
+
const listeners8 = this._listeners.get(eventType);
|
|
27492
|
+
if (!listeners8) return;
|
|
27493
|
+
for (const registration of Array.from(listeners8)) {
|
|
27131
27494
|
registration.listener.apply(registration.context, args);
|
|
27132
27495
|
}
|
|
27133
27496
|
}
|
|
@@ -27175,7 +27538,8 @@ var VerticalBarColumnRegistryContext = (0, import_react44.createContext)(
|
|
|
27175
27538
|
var VerticalBarSceneFocusContext = (0, import_react44.createContext)(true);
|
|
27176
27539
|
var VerticalBarColumnMetricsContext = (0, import_react44.createContext)({
|
|
27177
27540
|
availableHeaderHeight: null,
|
|
27178
|
-
availableToolbarHeight: null
|
|
27541
|
+
availableToolbarHeight: null,
|
|
27542
|
+
availableTopToolbarHeight: null
|
|
27179
27543
|
});
|
|
27180
27544
|
var SPLIT_COLUMN_CHROME_KEY = "__peachSplitColumnChromeContext";
|
|
27181
27545
|
var splitColumnChromeGlobals = globalThis;
|
|
@@ -27198,6 +27562,7 @@ var import_react46 = require("react");
|
|
|
27198
27562
|
// ../peach-engine/src/components/SegmentedControl.tsx
|
|
27199
27563
|
var import_react47 = require("react");
|
|
27200
27564
|
var SYSTEM_TEXT = dynamicColor("#000000", "#ffffff");
|
|
27565
|
+
var STRETCH_GAIN = 1.87 / 60;
|
|
27201
27566
|
|
|
27202
27567
|
// ../peach-compat/src/stubs/blur-utils.ts
|
|
27203
27568
|
var import_react48 = require("react");
|
|
@@ -27390,10 +27755,10 @@ function getDuoFoldRest() {
|
|
|
27390
27755
|
}
|
|
27391
27756
|
}
|
|
27392
27757
|
function subscribeDuoFoldProgress(fn) {
|
|
27393
|
-
const
|
|
27394
|
-
|
|
27758
|
+
const listeners8 = getListenerSet2();
|
|
27759
|
+
listeners8.add(fn);
|
|
27395
27760
|
return () => {
|
|
27396
|
-
|
|
27761
|
+
listeners8.delete(fn);
|
|
27397
27762
|
};
|
|
27398
27763
|
}
|
|
27399
27764
|
|
|
@@ -29625,6 +29990,7 @@ var NODE_COMPONENTS = {
|
|
|
29625
29990
|
StyledToggle: import_ui.ZStack,
|
|
29626
29991
|
SwipeActions: import_ui.SwipeActions,
|
|
29627
29992
|
Text: import_ui.Text,
|
|
29993
|
+
TextEditor: import_ui.TextField,
|
|
29628
29994
|
TextField: import_ui.TextField,
|
|
29629
29995
|
Toggle: import_ui.Toggle,
|
|
29630
29996
|
Tab: SwiftTabScene,
|
|
@@ -30187,6 +30553,9 @@ function nodeProps(node, deliver) {
|
|
|
30187
30553
|
);
|
|
30188
30554
|
return {
|
|
30189
30555
|
...align === void 0 ? {} : { style: align },
|
|
30556
|
+
// a vertical field grows with its lines and wraps a long one instead
|
|
30557
|
+
// of scrolling a single line (textfieldaxis, ios 27)
|
|
30558
|
+
...props.axis === "vertical" ? { axis: "vertical" } : {},
|
|
30190
30559
|
// a prompt is what the empty field shows, in the title's place; the
|
|
30191
30560
|
// title still names the field (ios 27 controls oracle: SecureField
|
|
30192
30561
|
// "Code" with prompt "6 digits" reads 6 digits)
|
|
@@ -30207,6 +30576,34 @@ function nodeProps(node, deliver) {
|
|
|
30207
30576
|
...focusProps(node, deliver)
|
|
30208
30577
|
};
|
|
30209
30578
|
}
|
|
30579
|
+
case "TextEditor": {
|
|
30580
|
+
const onChangeText = handlerId(node, "onChangeText");
|
|
30581
|
+
return {
|
|
30582
|
+
axis: "vertical",
|
|
30583
|
+
scrollEnabled: props.scrollEnabled !== false,
|
|
30584
|
+
// the tree's text-field control: describe collapses the engine input
|
|
30585
|
+
// host, so the role rides on the node describe keeps, as a
|
|
30586
|
+
// TextField's does
|
|
30587
|
+
accessibilityRole: "text-field",
|
|
30588
|
+
// a UITextView fills its offer on both axes and insets its text 8pt
|
|
30589
|
+
// from the top and bottom and 5pt from the sides, and its lines are
|
|
30590
|
+
// body lines (texteditor, ios 27: an empty editor in a padded stack
|
|
30591
|
+
// spans 370 and the rest of the height; text ink starts 5.33pt in and
|
|
30592
|
+
// 11.67pt down, and lines are 22pt apart)
|
|
30593
|
+
style: {
|
|
30594
|
+
lineHeight: textStyleAt("large", "body").lineHeight,
|
|
30595
|
+
flex: 1,
|
|
30596
|
+
alignSelf: "stretch",
|
|
30597
|
+
paddingTop: 8,
|
|
30598
|
+
paddingBottom: 8,
|
|
30599
|
+
paddingHorizontal: 5,
|
|
30600
|
+
textAlignVertical: "top"
|
|
30601
|
+
},
|
|
30602
|
+
...typeof props.value === "string" ? { value: props.value } : {},
|
|
30603
|
+
...onChangeText === void 0 ? {} : { onChangeText: (value) => deliver(onChangeText, value) },
|
|
30604
|
+
...focusProps(node, deliver)
|
|
30605
|
+
};
|
|
30606
|
+
}
|
|
30210
30607
|
case "Slider": {
|
|
30211
30608
|
const onValueChange = handlerId(node, "onValueChange");
|
|
30212
30609
|
return {
|
|
@@ -32328,7 +32725,7 @@ function createRoot(mountTree) {
|
|
|
32328
32725
|
let state5 = { tree: null, isView: false, error: null };
|
|
32329
32726
|
let swap = Promise.resolve();
|
|
32330
32727
|
let disposed = false;
|
|
32331
|
-
const
|
|
32728
|
+
const listeners8 = /* @__PURE__ */ new Set();
|
|
32332
32729
|
const cache2 = { entries: /* @__PURE__ */ new Map() };
|
|
32333
32730
|
let lastSwift = null;
|
|
32334
32731
|
let lastWasm = null;
|
|
@@ -32344,7 +32741,7 @@ function createRoot(mountTree) {
|
|
|
32344
32741
|
exitSlots.delete(id);
|
|
32345
32742
|
if (state5.tree === null || lastSwift === null) return;
|
|
32346
32743
|
state5 = { ...state5, tree: restoreSlots(lastSwift) };
|
|
32347
|
-
for (const listener of
|
|
32744
|
+
for (const listener of listeners8) listener();
|
|
32348
32745
|
};
|
|
32349
32746
|
const stampExit = (node, transaction) => {
|
|
32350
32747
|
const transition = (0, import_ui.readTransitionModifier)(node.m);
|
|
@@ -32497,7 +32894,7 @@ function createRoot(mountTree) {
|
|
|
32497
32894
|
const display = lastSwift === null ? null : restoreSlots(lastSwift);
|
|
32498
32895
|
const changed = display !== state5.tree || next.error !== state5.error || next.isView !== state5.isView;
|
|
32499
32896
|
state5 = { tree: display, isView: next.isView, error: next.error, transaction };
|
|
32500
|
-
if (changed) for (const listener of
|
|
32897
|
+
if (changed) for (const listener of listeners8) listener();
|
|
32501
32898
|
if (timer !== null) clearTimeout(timer);
|
|
32502
32899
|
timer = null;
|
|
32503
32900
|
if (timelineTimer !== null) {
|
|
@@ -32661,8 +33058,8 @@ function createRoot(mountTree) {
|
|
|
32661
33058
|
const component = function SwiftRoot() {
|
|
32662
33059
|
const rendered = (0, import_react53.useSyncExternalStore)(
|
|
32663
33060
|
(listener) => {
|
|
32664
|
-
|
|
32665
|
-
return () =>
|
|
33061
|
+
listeners8.add(listener);
|
|
33062
|
+
return () => listeners8.delete(listener);
|
|
32666
33063
|
},
|
|
32667
33064
|
() => state5
|
|
32668
33065
|
);
|
|
@@ -32697,7 +33094,7 @@ function createRoot(mountTree) {
|
|
|
32697
33094
|
instance?.unmount();
|
|
32698
33095
|
appearance.remove();
|
|
32699
33096
|
dimensions2.remove();
|
|
32700
|
-
|
|
33097
|
+
listeners8.clear();
|
|
32701
33098
|
instance = null;
|
|
32702
33099
|
cache2.entries.clear();
|
|
32703
33100
|
},
|