sibujs 1.5.0 → 2.1.0
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/dist/browser.cjs +332 -121
- package/dist/browser.d.cts +5 -0
- package/dist/browser.d.ts +5 -0
- package/dist/browser.js +6 -6
- package/dist/build.cjs +1049 -344
- package/dist/build.js +15 -13
- package/dist/cdn.global.js +17 -16
- package/dist/chunk-2RA7SHDA.js +65 -0
- package/dist/chunk-2UPRY23K.js +80 -0
- package/dist/{chunk-BMPL52BF.js → chunk-3DZP6OIT.js} +118 -66
- package/dist/chunk-3JHCYHWN.js +125 -0
- package/dist/{chunk-CZUGLNJS.js → chunk-45YP72ZQ.js} +3 -3
- package/dist/{chunk-JCDUJN2F.js → chunk-AMK2TYNW.js} +490 -153
- package/dist/{chunk-NHUC2QWH.js → chunk-CWBVQML6.js} +1 -1
- package/dist/{chunk-XHK6BDAJ.js → chunk-DRUZZAK4.js} +25 -8
- package/dist/{chunk-RJ46C3CS.js → chunk-GWWURC5M.js} +71 -20
- package/dist/{chunk-3X2YG6YM.js → chunk-JYD2PWXH.js} +59 -28
- package/dist/{chunk-2BYQDGN3.js → chunk-KGYT6UO6.js} +234 -63
- package/dist/{chunk-5X6PP2UK.js → chunk-LMLD24FC.js} +2 -2
- package/dist/{chunk-M4NLBH4I.js → chunk-LYTCUZ7H.js} +3 -2
- package/dist/{chunk-XUEEGU5O.js → chunk-NASX6ST2.js} +16 -4
- package/dist/{chunk-VQDZK23A.js → chunk-O6EFQ3KT.js} +181 -66
- package/dist/{chunk-BGN5ZMP4.js → chunk-OJ3P4ECI.js} +14 -2
- package/dist/chunk-ON5MMR2J.js +1327 -0
- package/dist/{chunk-SFKNRVCU.js → chunk-P2HSJDDN.js} +135 -79
- package/dist/chunk-QO3WC6FS.js +384 -0
- package/dist/{chunk-WZSPOOER.js → chunk-RDTDJCAB.js} +8 -5
- package/dist/{chunk-7GRNSCFT.js → chunk-TH2ILCYW.js} +312 -185
- package/dist/chunk-UCS6AMJ7.js +79 -0
- package/dist/{chunk-VAPYJN4X.js → chunk-V6C4FADE.js} +93 -23
- package/dist/{chunk-OUZZEE4S.js → chunk-WANSMF2L.js} +17 -11
- package/dist/{chunk-23VV7YD3.js → chunk-WIPZPFBQ.js} +25 -30
- package/dist/chunk-WZA53FXU.js +149 -0
- package/dist/{chunk-BGTHZHJ5.js → chunk-ZAQSMOED.js} +188 -44
- package/dist/{customElement-BL3Uo8dL.d.cts → customElement-CPfIrbvg.d.cts} +14 -10
- package/dist/{customElement-BL3Uo8dL.d.ts → customElement-CPfIrbvg.d.ts} +14 -10
- package/dist/data.cjs +536 -151
- package/dist/data.d.cts +20 -2
- package/dist/data.d.ts +20 -2
- package/dist/data.js +11 -9
- package/dist/devtools.cjs +613 -266
- package/dist/devtools.d.cts +1 -1
- package/dist/devtools.d.ts +1 -1
- package/dist/devtools.js +12 -6
- package/dist/ecosystem.cjs +602 -197
- package/dist/ecosystem.d.cts +9 -7
- package/dist/ecosystem.d.ts +9 -7
- package/dist/ecosystem.js +12 -11
- package/dist/extras.cjs +3500 -1608
- package/dist/extras.d.cts +9 -9
- package/dist/extras.d.ts +9 -9
- package/dist/extras.js +58 -45
- package/dist/index.cjs +1055 -344
- package/dist/index.d.cts +85 -8
- package/dist/index.d.ts +85 -8
- package/dist/index.js +32 -16
- package/dist/{introspect-BumjnBKr.d.cts → introspect-2TOlQ7oa.d.cts} +25 -3
- package/dist/{introspect-CZrlcaYy.d.ts → introspect-DnIpHQQz.d.ts} +25 -3
- package/dist/motion.cjs +122 -63
- package/dist/motion.js +4 -4
- package/dist/patterns.cjs +450 -110
- package/dist/patterns.d.cts +11 -12
- package/dist/patterns.d.ts +11 -12
- package/dist/patterns.js +7 -7
- package/dist/performance.cjs +373 -149
- package/dist/performance.d.cts +23 -16
- package/dist/performance.d.ts +23 -16
- package/dist/performance.js +13 -8
- package/dist/plugin-D30wlGW5.d.cts +71 -0
- package/dist/plugin-D30wlGW5.d.ts +71 -0
- package/dist/plugins.cjs +729 -301
- package/dist/plugins.d.cts +10 -3
- package/dist/plugins.d.ts +10 -3
- package/dist/plugins.js +106 -38
- package/dist/{ssr-Do_SiVoL.d.cts → ssr-CrVNy6Pa.d.cts} +9 -15
- package/dist/{ssr-Do_SiVoL.d.ts → ssr-CrVNy6Pa.d.ts} +9 -15
- package/dist/{ssr-4PBXAOO3.js → ssr-FXD2PPMC.js} +4 -3
- package/dist/ssr.cjs +736 -274
- package/dist/ssr.d.cts +26 -6
- package/dist/ssr.d.ts +26 -6
- package/dist/ssr.js +12 -11
- package/dist/{tagFactory-DaJ0YWX6.d.cts → tagFactory-S17H2qxu.d.cts} +9 -1
- package/dist/{tagFactory-DaJ0YWX6.d.ts → tagFactory-S17H2qxu.d.ts} +9 -1
- package/dist/testing.cjs +303 -76
- package/dist/testing.d.cts +17 -4
- package/dist/testing.d.ts +17 -4
- package/dist/testing.js +100 -44
- package/dist/ui.cjs +589 -178
- package/dist/ui.d.cts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +20 -17
- package/dist/widgets.cjs +1103 -146
- package/dist/widgets.d.cts +104 -2
- package/dist/widgets.d.ts +104 -2
- package/dist/widgets.js +9 -7
- package/package.json +8 -2
- package/dist/chunk-32DY64NT.js +0 -282
- package/dist/chunk-3AIRKM3B.js +0 -1263
- package/dist/chunk-3ARAQO7B.js +0 -398
- package/dist/chunk-3CRQALYP.js +0 -877
- package/dist/chunk-4EI4AG32.js +0 -482
- package/dist/chunk-4MYMUBRS.js +0 -21
- package/dist/chunk-5ZYQ6KDD.js +0 -154
- package/dist/chunk-6BMPXPUW.js +0 -26
- package/dist/chunk-6HLLIF3K.js +0 -398
- package/dist/chunk-6LSNVCS2.js +0 -937
- package/dist/chunk-6SA3QQES.js +0 -61
- package/dist/chunk-77L6NL3X.js +0 -1097
- package/dist/chunk-7BF6TK55.js +0 -1097
- package/dist/chunk-7TQKR4PP.js +0 -294
- package/dist/chunk-7V26P53V.js +0 -712
- package/dist/chunk-AZ3ISID5.js +0 -298
- package/dist/chunk-B7SWRFUT.js +0 -332
- package/dist/chunk-BTU3TJDS.js +0 -365
- package/dist/chunk-BW3WT46K.js +0 -937
- package/dist/chunk-C6KFWOFV.js +0 -616
- package/dist/chunk-CHF5OHIA.js +0 -61
- package/dist/chunk-CHJ27IGK.js +0 -26
- package/dist/chunk-CMBFNA7L.js +0 -27
- package/dist/chunk-DAHRH4ON.js +0 -331
- package/dist/chunk-DKOHBI74.js +0 -924
- package/dist/chunk-DTCOOBMX.js +0 -725
- package/dist/chunk-EBGIRKQY.js +0 -616
- package/dist/chunk-EUZND3CB.js +0 -27
- package/dist/chunk-EVCZO745.js +0 -365
- package/dist/chunk-EWFVA3TJ.js +0 -282
- package/dist/chunk-F3FA4F32.js +0 -292
- package/dist/chunk-FGOEVHY3.js +0 -60
- package/dist/chunk-G3BOQPVO.js +0 -365
- package/dist/chunk-GCOK2LC3.js +0 -282
- package/dist/chunk-GJPXRJ45.js +0 -37
- package/dist/chunk-HGMJFBC7.js +0 -654
- package/dist/chunk-JAKHTMQU.js +0 -1000
- package/dist/chunk-JCI5M6U6.js +0 -956
- package/dist/chunk-K4G4ZQNR.js +0 -286
- package/dist/chunk-K5ZUMYVS.js +0 -89
- package/dist/chunk-KQPDEVVS.js +0 -398
- package/dist/chunk-L6JRBDNS.js +0 -60
- package/dist/chunk-LA6KQEDU.js +0 -712
- package/dist/chunk-MB6QFH3I.js +0 -2776
- package/dist/chunk-MDVXJWFN.js +0 -304
- package/dist/chunk-MEZVEBPN.js +0 -2008
- package/dist/chunk-MK4ERFYL.js +0 -2249
- package/dist/chunk-MLKGABMK.js +0 -9
- package/dist/chunk-MQ5GOYPH.js +0 -2249
- package/dist/chunk-MYRV7VDM.js +0 -742
- package/dist/chunk-N6IZB6KJ.js +0 -567
- package/dist/chunk-NEKUBFPT.js +0 -60
- package/dist/chunk-NMRUZALC.js +0 -1097
- package/dist/chunk-NYVAC6P5.js +0 -37
- package/dist/chunk-NZIIMDWI.js +0 -84
- package/dist/chunk-OF7UZIVB.js +0 -725
- package/dist/chunk-P3XWXJZU.js +0 -282
- package/dist/chunk-P6W3STU4.js +0 -2249
- package/dist/chunk-PBHF5WKN.js +0 -616
- package/dist/chunk-PDZQY43A.js +0 -616
- package/dist/chunk-PTQJDMRT.js +0 -146
- package/dist/chunk-PZEGYCF5.js +0 -61
- package/dist/chunk-QBMDLBU2.js +0 -975
- package/dist/chunk-QWZG56ET.js +0 -2744
- package/dist/chunk-RQGQSLQK.js +0 -725
- package/dist/chunk-SDLZDHKP.js +0 -107
- package/dist/chunk-TDGZL5CU.js +0 -365
- package/dist/chunk-TNQWPPE6.js +0 -37
- package/dist/chunk-TSOKIX5Z.js +0 -654
- package/dist/chunk-UHNL42EF.js +0 -2730
- package/dist/chunk-UNXCEF6S.js +0 -21
- package/dist/chunk-V2XTI523.js +0 -347
- package/dist/chunk-VAU366PN.js +0 -2241
- package/dist/chunk-VMVDTCXB.js +0 -712
- package/dist/chunk-VQNQZCWJ.js +0 -61
- package/dist/chunk-VRW3FULF.js +0 -725
- package/dist/chunk-WADYRCO2.js +0 -304
- package/dist/chunk-WILQZRO4.js +0 -282
- package/dist/chunk-WR5D4EGH.js +0 -26
- package/dist/chunk-WUHJISPP.js +0 -298
- package/dist/chunk-XYU6TZOW.js +0 -182
- package/dist/chunk-Y6GP4QGG.js +0 -276
- package/dist/chunk-YECR7UIA.js +0 -347
- package/dist/chunk-YUTWTI4B.js +0 -654
- package/dist/chunk-Z65KYU7I.js +0 -26
- package/dist/chunk-Z6POF5YC.js +0 -975
- package/dist/chunk-ZBJP6WFL.js +0 -482
- package/dist/chunk-ZD6OAMTH.js +0 -277
- package/dist/chunk-ZWKZCBO6.js +0 -317
- package/dist/contracts-DDrwxvJ-.d.cts +0 -245
- package/dist/contracts-DDrwxvJ-.d.ts +0 -245
- package/dist/contracts-DOrhwbke.d.cts +0 -245
- package/dist/contracts-DOrhwbke.d.ts +0 -245
- package/dist/contracts-xo5ckdRP.d.cts +0 -240
- package/dist/contracts-xo5ckdRP.d.ts +0 -240
- package/dist/customElement-BKQfbSZQ.d.cts +0 -262
- package/dist/customElement-BKQfbSZQ.d.ts +0 -262
- package/dist/customElement-D2DJp_xn.d.cts +0 -313
- package/dist/customElement-D2DJp_xn.d.ts +0 -313
- package/dist/customElement-yz8uyk-0.d.cts +0 -308
- package/dist/customElement-yz8uyk-0.d.ts +0 -308
- package/dist/introspect-Cb0zgpi2.d.cts +0 -477
- package/dist/introspect-Y2xNXGSf.d.ts +0 -477
- package/dist/plugin-Bek4RhJY.d.cts +0 -43
- package/dist/plugin-Bek4RhJY.d.ts +0 -43
- package/dist/ssr-3RXHP5ES.js +0 -38
- package/dist/ssr-6GIMY5MX.js +0 -38
- package/dist/ssr-BA6sxxUd.d.cts +0 -135
- package/dist/ssr-BA6sxxUd.d.ts +0 -135
- package/dist/ssr-WKUPVSSK.js +0 -36
- package/dist/tagFactory-Dl8QCLga.d.cts +0 -23
- package/dist/tagFactory-Dl8QCLga.d.ts +0 -23
package/dist/motion.cjs
CHANGED
|
@@ -283,19 +283,20 @@ function isDev() {
|
|
|
283
283
|
var _isDev = isDev();
|
|
284
284
|
function devWarn(message) {
|
|
285
285
|
if (_isDev) {
|
|
286
|
-
console.warn(`[
|
|
286
|
+
console.warn(`[SibuJS] ${message}`);
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
|
|
290
290
|
// src/reactivity/track.ts
|
|
291
291
|
var _isDev2 = isDev();
|
|
292
|
-
var
|
|
292
|
+
var STACK_INITIAL = 32;
|
|
293
|
+
var subscriberStack = new Array(STACK_INITIAL);
|
|
293
294
|
var currentSubscriber = null;
|
|
294
|
-
var signalSubscribers = /* @__PURE__ */ new WeakMap();
|
|
295
295
|
var SUBS = "__s";
|
|
296
296
|
var notifyDepth = 0;
|
|
297
297
|
var pendingQueue = [];
|
|
298
298
|
var pendingSet = /* @__PURE__ */ new Set();
|
|
299
|
+
var propagateStack = [];
|
|
299
300
|
function safeInvoke(sub) {
|
|
300
301
|
try {
|
|
301
302
|
sub();
|
|
@@ -306,69 +307,123 @@ function safeInvoke(sub) {
|
|
|
306
307
|
function recordDependency(signal2) {
|
|
307
308
|
if (!currentSubscriber) return;
|
|
308
309
|
const sub = currentSubscriber;
|
|
309
|
-
|
|
310
|
+
const epoch = sub._epoch;
|
|
311
|
+
if (sub._dep === signal2) {
|
|
312
|
+
sub._depEpoch = epoch;
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
310
315
|
const deps = sub._deps;
|
|
311
316
|
if (deps) {
|
|
312
|
-
|
|
313
|
-
deps.add(signal2);
|
|
317
|
+
deps.set(signal2, epoch);
|
|
314
318
|
} else if (sub._dep !== void 0) {
|
|
315
|
-
const
|
|
316
|
-
set
|
|
317
|
-
set
|
|
318
|
-
sub._deps =
|
|
319
|
+
const map = /* @__PURE__ */ new Map();
|
|
320
|
+
map.set(sub._dep, sub._depEpoch);
|
|
321
|
+
map.set(signal2, epoch);
|
|
322
|
+
sub._deps = map;
|
|
319
323
|
sub._dep = void 0;
|
|
324
|
+
sub._depEpoch = void 0;
|
|
320
325
|
} else {
|
|
321
326
|
sub._dep = signal2;
|
|
327
|
+
sub._depEpoch = epoch;
|
|
322
328
|
}
|
|
323
|
-
|
|
329
|
+
const sig = signal2;
|
|
330
|
+
let subs = sig[SUBS];
|
|
324
331
|
if (!subs) {
|
|
325
332
|
subs = /* @__PURE__ */ new Set();
|
|
326
|
-
|
|
327
|
-
signal2[SUBS] = subs;
|
|
333
|
+
sig[SUBS] = subs;
|
|
328
334
|
}
|
|
335
|
+
const prevSize = subs.size;
|
|
329
336
|
subs.add(currentSubscriber);
|
|
330
|
-
if (subs.size
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
337
|
+
if (subs.size !== prevSize) {
|
|
338
|
+
if (subs.size === 1) {
|
|
339
|
+
sig.__f = currentSubscriber;
|
|
340
|
+
} else if (sig.__f !== void 0) {
|
|
341
|
+
sig.__f = void 0;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
var maxSubscriberRepeats = 50;
|
|
346
|
+
var maxDrainIterations = 1e6;
|
|
347
|
+
var drainEpoch = 0;
|
|
348
|
+
function tickRepeat(sub) {
|
|
349
|
+
const s = sub;
|
|
350
|
+
if (s._runEpoch !== drainEpoch) {
|
|
351
|
+
s._runEpoch = drainEpoch;
|
|
352
|
+
s._runs = 1;
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
return ++s._runs > maxSubscriberRepeats;
|
|
356
|
+
}
|
|
357
|
+
function cycleError(sub) {
|
|
358
|
+
if (typeof console !== "undefined") {
|
|
359
|
+
const name = sub.__name ?? "<unnamed>";
|
|
360
|
+
console.error(
|
|
361
|
+
`[SibuJS] subscriber "${name}" fired more than ${maxSubscriberRepeats} times \u2014 likely a write-reads-self cycle between effects/signals. Breaking to prevent infinite loop.`
|
|
362
|
+
);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
function absoluteDrainError() {
|
|
366
|
+
if (typeof console !== "undefined") {
|
|
367
|
+
console.error(
|
|
368
|
+
`[SibuJS] Notification drain exceeded ${maxDrainIterations} iterations \u2014 absolute safety net tripped. Breaking to prevent infinite loop.`
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
function drainQueue() {
|
|
373
|
+
let i = 0;
|
|
374
|
+
while (i < pendingQueue.length) {
|
|
375
|
+
if (i >= maxDrainIterations) {
|
|
376
|
+
absoluteDrainError();
|
|
377
|
+
break;
|
|
378
|
+
}
|
|
379
|
+
const sub = pendingQueue[i++];
|
|
380
|
+
if (tickRepeat(sub)) {
|
|
381
|
+
cycleError(sub);
|
|
382
|
+
break;
|
|
383
|
+
}
|
|
384
|
+
pendingSet.delete(sub);
|
|
385
|
+
safeInvoke(sub);
|
|
334
386
|
}
|
|
335
387
|
}
|
|
336
388
|
function propagateDirty(sub) {
|
|
337
389
|
sub();
|
|
338
|
-
|
|
339
|
-
|
|
390
|
+
const rootSig = sub._sig;
|
|
391
|
+
if (!rootSig) return;
|
|
392
|
+
const stack = propagateStack;
|
|
393
|
+
const baseLen = stack.length;
|
|
394
|
+
stack.push(rootSig);
|
|
395
|
+
while (stack.length > baseLen) {
|
|
396
|
+
const sig = stack.pop();
|
|
340
397
|
const first = sig.__f;
|
|
341
398
|
if (first) {
|
|
342
399
|
if (first._c) {
|
|
343
400
|
const nSig = first._sig;
|
|
344
|
-
nSig._d
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
if (!pendingSet.has(first)) {
|
|
401
|
+
if (!nSig._d) {
|
|
402
|
+
nSig._d = true;
|
|
403
|
+
stack.push(nSig);
|
|
404
|
+
}
|
|
405
|
+
} else if (!pendingSet.has(first)) {
|
|
349
406
|
pendingSet.add(first);
|
|
350
407
|
pendingQueue.push(first);
|
|
351
408
|
}
|
|
352
|
-
|
|
409
|
+
continue;
|
|
353
410
|
}
|
|
354
411
|
const subs = sig[SUBS];
|
|
355
|
-
if (!subs)
|
|
356
|
-
let nextSig;
|
|
412
|
+
if (!subs) continue;
|
|
357
413
|
for (const s of subs) {
|
|
358
414
|
if (s._c) {
|
|
359
|
-
s();
|
|
360
415
|
const nSig = s._sig;
|
|
361
|
-
if (nSig && !
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
416
|
+
if (nSig && !nSig._d) {
|
|
417
|
+
nSig._d = true;
|
|
418
|
+
stack.push(nSig);
|
|
419
|
+
} else if (!nSig) {
|
|
420
|
+
s();
|
|
365
421
|
}
|
|
366
422
|
} else if (!pendingSet.has(s)) {
|
|
367
423
|
pendingSet.add(s);
|
|
368
424
|
pendingQueue.push(s);
|
|
369
425
|
}
|
|
370
426
|
}
|
|
371
|
-
sig = nextSig;
|
|
372
427
|
}
|
|
373
428
|
}
|
|
374
429
|
function notifySubscribers(signal2) {
|
|
@@ -384,21 +439,22 @@ function notifySubscribers(signal2) {
|
|
|
384
439
|
return;
|
|
385
440
|
}
|
|
386
441
|
notifyDepth++;
|
|
442
|
+
drainEpoch++;
|
|
387
443
|
try {
|
|
388
444
|
if (first._c) {
|
|
389
445
|
propagateDirty(first);
|
|
446
|
+
} else if (tickRepeat(first)) {
|
|
447
|
+
cycleError(first);
|
|
390
448
|
} else {
|
|
391
449
|
safeInvoke(first);
|
|
392
450
|
}
|
|
393
|
-
|
|
394
|
-
while (i < pendingQueue.length) {
|
|
395
|
-
safeInvoke(pendingQueue[i]);
|
|
396
|
-
i++;
|
|
397
|
-
}
|
|
451
|
+
drainQueue();
|
|
398
452
|
} finally {
|
|
399
|
-
pendingQueue.length = 0;
|
|
400
|
-
pendingSet.clear();
|
|
401
453
|
notifyDepth--;
|
|
454
|
+
if (notifyDepth === 0) {
|
|
455
|
+
pendingQueue.length = 0;
|
|
456
|
+
pendingSet.clear();
|
|
457
|
+
}
|
|
402
458
|
}
|
|
403
459
|
return;
|
|
404
460
|
}
|
|
@@ -416,32 +472,23 @@ function notifySubscribers(signal2) {
|
|
|
416
472
|
return;
|
|
417
473
|
}
|
|
418
474
|
notifyDepth++;
|
|
475
|
+
drainEpoch++;
|
|
419
476
|
try {
|
|
420
|
-
let directCount = 0;
|
|
421
477
|
for (const sub of subs) {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
for (let i2 = 0; i2 < directCount; i2++) {
|
|
430
|
-
if (!pendingQueue[i2]._c) {
|
|
431
|
-
if (!pendingSet.has(pendingQueue[i2])) {
|
|
432
|
-
safeInvoke(pendingQueue[i2]);
|
|
433
|
-
}
|
|
478
|
+
if (sub._c) {
|
|
479
|
+
propagateDirty(sub);
|
|
480
|
+
} else if (!pendingSet.has(sub)) {
|
|
481
|
+
pendingSet.add(sub);
|
|
482
|
+
pendingQueue.push(sub);
|
|
434
483
|
}
|
|
435
484
|
}
|
|
436
|
-
|
|
437
|
-
while (i < pendingQueue.length) {
|
|
438
|
-
safeInvoke(pendingQueue[i]);
|
|
439
|
-
i++;
|
|
440
|
-
}
|
|
485
|
+
drainQueue();
|
|
441
486
|
} finally {
|
|
442
|
-
pendingQueue.length = 0;
|
|
443
|
-
pendingSet.clear();
|
|
444
487
|
notifyDepth--;
|
|
488
|
+
if (notifyDepth === 0) {
|
|
489
|
+
pendingQueue.length = 0;
|
|
490
|
+
pendingSet.clear();
|
|
491
|
+
}
|
|
445
492
|
}
|
|
446
493
|
}
|
|
447
494
|
|
|
@@ -602,15 +649,24 @@ function springSignal(initial, options) {
|
|
|
602
649
|
let velocity = 0;
|
|
603
650
|
let target = initial;
|
|
604
651
|
let rafId = null;
|
|
605
|
-
|
|
652
|
+
let lastTime = 0;
|
|
653
|
+
const REF_DT_MS = 1e3 / 60;
|
|
654
|
+
const MAX_STEP_RATIO = 4;
|
|
655
|
+
function tick(now) {
|
|
656
|
+
if (lastTime === 0) lastTime = now;
|
|
657
|
+
const rawDt = now - lastTime;
|
|
658
|
+
lastTime = now;
|
|
659
|
+
const dt = Number.isFinite(rawDt) && rawDt > 0 ? rawDt : REF_DT_MS;
|
|
660
|
+
const ratio = Math.min(MAX_STEP_RATIO, Math.max(0.1, dt / REF_DT_MS));
|
|
606
661
|
const force = -stiffness * (current - target);
|
|
607
662
|
const dampingForce = -damping * velocity;
|
|
608
|
-
velocity += force + dampingForce;
|
|
609
|
-
current += velocity;
|
|
663
|
+
velocity += (force + dampingForce) * ratio;
|
|
664
|
+
current += velocity * ratio;
|
|
610
665
|
if (Math.abs(current - target) < precision && Math.abs(velocity) < precision) {
|
|
611
666
|
current = target;
|
|
612
667
|
velocity = 0;
|
|
613
668
|
rafId = null;
|
|
669
|
+
lastTime = 0;
|
|
614
670
|
setValue(current);
|
|
615
671
|
return;
|
|
616
672
|
}
|
|
@@ -626,10 +682,12 @@ function springSignal(initial, options) {
|
|
|
626
682
|
cancelAnimationFrame(rafId);
|
|
627
683
|
rafId = null;
|
|
628
684
|
}
|
|
685
|
+
lastTime = 0;
|
|
629
686
|
setValue(current);
|
|
630
687
|
return;
|
|
631
688
|
}
|
|
632
689
|
if (rafId === null) {
|
|
690
|
+
lastTime = 0;
|
|
633
691
|
rafId = requestAnimationFrame(tick);
|
|
634
692
|
}
|
|
635
693
|
}
|
|
@@ -638,6 +696,7 @@ function springSignal(initial, options) {
|
|
|
638
696
|
cancelAnimationFrame(rafId);
|
|
639
697
|
rafId = null;
|
|
640
698
|
}
|
|
699
|
+
lastTime = 0;
|
|
641
700
|
}
|
|
642
701
|
return [value, set, dispose];
|
|
643
702
|
}
|
package/dist/motion.js
CHANGED
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
stagger,
|
|
20
20
|
transition,
|
|
21
21
|
viewTransition
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-NASX6ST2.js";
|
|
23
|
+
import "./chunk-RDTDJCAB.js";
|
|
24
|
+
import "./chunk-QO3WC6FS.js";
|
|
25
|
+
import "./chunk-LMLD24FC.js";
|
|
26
26
|
export {
|
|
27
27
|
TransitionGroup,
|
|
28
28
|
animate,
|