sibujs 1.4.0 → 2.0.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/README.md +105 -119
- package/dist/browser.cjs +288 -80
- package/dist/browser.d.cts +19 -9
- package/dist/browser.d.ts +19 -9
- package/dist/browser.js +6 -6
- package/dist/build.cjs +1019 -313
- package/dist/build.d.cts +1 -1
- package/dist/build.d.ts +1 -1
- 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-3JHCYHWN.js +125 -0
- package/dist/{chunk-ZWKZCBO6.js → chunk-3LR7GLWQ.js} +154 -33
- package/dist/{chunk-3AIRKM3B.js → chunk-3NSGB5JN.js} +115 -34
- package/dist/{chunk-3ARAQO7B.js → chunk-52YJLLRO.js} +29 -6
- package/dist/chunk-54EDRCEF.js +93 -0
- package/dist/chunk-7JDB7I65.js +1327 -0
- package/dist/{chunk-WZSPOOER.js → chunk-CC65Y57T.js} +8 -5
- package/dist/{chunk-23VV7YD3.js → chunk-DFPFITST.js} +25 -30
- package/dist/{chunk-WR5D4EGH.js → chunk-GTBNNBJ6.js} +14 -2
- package/dist/chunk-HB24TBAF.js +121 -0
- package/dist/{chunk-CZUGLNJS.js → chunk-ITX6OO3F.js} +3 -3
- package/dist/{chunk-JAKHTMQU.js → chunk-JA6667UN.js} +206 -46
- package/dist/{chunk-77L6NL3X.js → chunk-JXMMDLBY.js} +306 -183
- package/dist/{chunk-3X2YG6YM.js → chunk-JYD2PWXH.js} +59 -28
- package/dist/{chunk-F3FA4F32.js → chunk-KLRMB5ZS.js} +135 -79
- package/dist/{chunk-5X6PP2UK.js → chunk-LMLD24FC.js} +2 -2
- package/dist/{chunk-M4NLBH4I.js → chunk-LYTCUZ7H.js} +3 -2
- package/dist/{chunk-TSOKIX5Z.js → chunk-MIUAXB7K.js} +126 -74
- package/dist/{chunk-QWZG56ET.js → chunk-ND2664SF.js} +558 -190
- package/dist/{chunk-JCI5M6U6.js → chunk-O2MNQFLP.js} +261 -79
- package/dist/{chunk-EWFVA3TJ.js → chunk-R73P76YZ.js} +1 -1
- package/dist/{chunk-2BYQDGN3.js → chunk-SAHNHTFC.js} +234 -63
- package/dist/chunk-UCS6AMJ7.js +79 -0
- package/dist/{chunk-ZD6OAMTH.js → chunk-VLPPXTYG.js} +90 -35
- package/dist/{chunk-OUZZEE4S.js → chunk-WOMYAHHI.js} +17 -11
- package/dist/{contracts-xo5ckdRP.d.cts → contracts-ey_Qh8ef.d.cts} +7 -8
- package/dist/{contracts-xo5ckdRP.d.ts → contracts-ey_Qh8ef.d.ts} +7 -8
- package/dist/{customElement-D2DJp_xn.d.cts → customElement-CPfIrbvg.d.cts} +18 -9
- package/dist/{customElement-D2DJp_xn.d.ts → customElement-CPfIrbvg.d.ts} +18 -9
- package/dist/data.cjs +452 -100
- package/dist/data.d.cts +20 -2
- package/dist/data.d.ts +20 -2
- package/dist/data.js +11 -9
- package/dist/devtools.cjs +535 -247
- package/dist/devtools.d.cts +1 -1
- package/dist/devtools.d.ts +1 -1
- package/dist/devtools.js +34 -30
- package/dist/ecosystem.cjs +499 -143
- package/dist/ecosystem.d.cts +13 -11
- package/dist/ecosystem.d.ts +13 -11
- package/dist/ecosystem.js +12 -11
- package/dist/extras.cjs +3639 -1629
- package/dist/extras.d.cts +11 -11
- package/dist/extras.d.ts +11 -11
- package/dist/extras.js +58 -45
- package/dist/index.cjs +1023 -313
- package/dist/index.d.cts +128 -55
- package/dist/index.d.ts +128 -55
- package/dist/index.js +28 -16
- package/dist/{introspect-BumjnBKr.d.cts → introspect-BWNjNw64.d.cts} +22 -2
- package/dist/{introspect-CZrlcaYy.d.ts → introspect-cY2pg9pW.d.ts} +22 -2
- package/dist/motion.cjs +90 -36
- package/dist/motion.d.cts +1 -1
- package/dist/motion.d.ts +1 -1
- package/dist/motion.js +4 -4
- package/dist/patterns.cjs +414 -81
- package/dist/patterns.d.cts +53 -20
- package/dist/patterns.d.ts +53 -20
- package/dist/patterns.js +7 -7
- package/dist/performance.cjs +364 -108
- package/dist/performance.d.cts +29 -17
- package/dist/performance.d.ts +29 -17
- package/dist/performance.js +13 -6
- package/dist/plugin-D30wlGW5.d.cts +71 -0
- package/dist/plugin-D30wlGW5.d.ts +71 -0
- package/dist/plugins.cjs +652 -271
- package/dist/plugins.d.cts +13 -6
- package/dist/plugins.d.ts +13 -6
- package/dist/plugins.js +116 -50
- 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 +648 -219
- package/dist/ssr.d.cts +27 -7
- package/dist/ssr.d.ts +27 -7
- package/dist/ssr.js +12 -11
- package/dist/{tagFactory-DaJ0YWX6.d.ts → tagFactory-S17H2qxu.d.cts} +9 -1
- package/dist/{tagFactory-DaJ0YWX6.d.cts → tagFactory-S17H2qxu.d.ts} +9 -1
- package/dist/testing.cjs +252 -63
- package/dist/testing.d.cts +17 -4
- package/dist/testing.d.ts +17 -4
- package/dist/testing.js +100 -44
- package/dist/ui.cjs +576 -168
- package/dist/ui.d.cts +13 -16
- package/dist/ui.d.ts +13 -16
- package/dist/ui.js +20 -17
- package/dist/widgets.cjs +1001 -93
- 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-3CRQALYP.js +0 -877
- package/dist/chunk-4EI4AG32.js +0 -482
- package/dist/chunk-4MYMUBRS.js +0 -21
- package/dist/chunk-6HLLIF3K.js +0 -398
- package/dist/chunk-6LSNVCS2.js +0 -937
- package/dist/chunk-6SA3QQES.js +0 -61
- 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-BGN5ZMP4.js +0 -26
- 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-FGOEVHY3.js +0 -60
- package/dist/chunk-G3BOQPVO.js +0 -365
- package/dist/chunk-GCOK2LC3.js +0 -282
- package/dist/chunk-HGMJFBC7.js +0 -654
- 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-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-N6IZB6KJ.js +0 -567
- package/dist/chunk-NEKUBFPT.js +0 -60
- package/dist/chunk-NHUC2QWH.js +0 -282
- package/dist/chunk-NMRUZALC.js +0 -1097
- package/dist/chunk-NYVAC6P5.js +0 -37
- package/dist/chunk-OF7UZIVB.js +0 -725
- package/dist/chunk-P6W3STU4.js +0 -2249
- package/dist/chunk-PBHF5WKN.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-RQGQSLQK.js +0 -725
- package/dist/chunk-SDLZDHKP.js +0 -107
- package/dist/chunk-TNQWPPE6.js +0 -37
- 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-VRW3FULF.js +0 -725
- package/dist/chunk-WADYRCO2.js +0 -304
- package/dist/chunk-WILQZRO4.js +0 -282
- 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/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/customElement-BKQfbSZQ.d.cts +0 -262
- package/dist/customElement-BKQfbSZQ.d.ts +0 -262
- 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
|
@@ -57,20 +57,29 @@ function transition(element, options = {}) {
|
|
|
57
57
|
onLeaveDone
|
|
58
58
|
} = options;
|
|
59
59
|
const transitionValue = `${property} ${duration}ms ${easing} ${delay}ms`;
|
|
60
|
+
let activeTimer = null;
|
|
61
|
+
function cancelPending() {
|
|
62
|
+
if (activeTimer !== null) {
|
|
63
|
+
clearTimeout(activeTimer);
|
|
64
|
+
activeTimer = null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
60
67
|
function enter() {
|
|
61
68
|
return new Promise((resolve) => {
|
|
69
|
+
cancelPending();
|
|
62
70
|
element.style.transition = transitionValue;
|
|
63
71
|
if (enterClass) element.classList.add(enterClass);
|
|
64
72
|
if (leaveClass) element.classList.remove(leaveClass);
|
|
65
73
|
void element.offsetHeight;
|
|
66
74
|
if (activeClass) element.classList.add(activeClass);
|
|
67
75
|
const done = () => {
|
|
76
|
+
activeTimer = null;
|
|
68
77
|
if (enterClass) element.classList.remove(enterClass);
|
|
69
78
|
onEnterDone?.();
|
|
70
79
|
resolve();
|
|
71
80
|
};
|
|
72
81
|
if (duration > 0) {
|
|
73
|
-
setTimeout(done, duration + delay);
|
|
82
|
+
activeTimer = setTimeout(done, duration + delay);
|
|
74
83
|
} else {
|
|
75
84
|
done();
|
|
76
85
|
}
|
|
@@ -78,17 +87,19 @@ function transition(element, options = {}) {
|
|
|
78
87
|
}
|
|
79
88
|
function leave() {
|
|
80
89
|
return new Promise((resolve) => {
|
|
90
|
+
cancelPending();
|
|
81
91
|
element.style.transition = transitionValue;
|
|
82
92
|
if (activeClass) element.classList.remove(activeClass);
|
|
83
93
|
if (leaveClass) element.classList.add(leaveClass);
|
|
84
94
|
if (enterClass) element.classList.remove(enterClass);
|
|
85
95
|
const done = () => {
|
|
96
|
+
activeTimer = null;
|
|
86
97
|
if (leaveClass) element.classList.remove(leaveClass);
|
|
87
98
|
onLeaveDone?.();
|
|
88
99
|
resolve();
|
|
89
100
|
};
|
|
90
101
|
if (duration > 0) {
|
|
91
|
-
setTimeout(done, duration + delay);
|
|
102
|
+
activeTimer = setTimeout(done, duration + delay);
|
|
92
103
|
} else {
|
|
93
104
|
done();
|
|
94
105
|
}
|
|
@@ -272,7 +283,7 @@ function isDev() {
|
|
|
272
283
|
var _isDev = isDev();
|
|
273
284
|
function devWarn(message) {
|
|
274
285
|
if (_isDev) {
|
|
275
|
-
console.warn(`[
|
|
286
|
+
console.warn(`[SibuJS] ${message}`);
|
|
276
287
|
}
|
|
277
288
|
}
|
|
278
289
|
|
|
@@ -280,11 +291,11 @@ function devWarn(message) {
|
|
|
280
291
|
var _isDev2 = isDev();
|
|
281
292
|
var subscriberStack = new Array(32);
|
|
282
293
|
var currentSubscriber = null;
|
|
283
|
-
var signalSubscribers = /* @__PURE__ */ new WeakMap();
|
|
284
294
|
var SUBS = "__s";
|
|
285
295
|
var notifyDepth = 0;
|
|
286
296
|
var pendingQueue = [];
|
|
287
297
|
var pendingSet = /* @__PURE__ */ new Set();
|
|
298
|
+
var propagateStack = [];
|
|
288
299
|
function safeInvoke(sub) {
|
|
289
300
|
try {
|
|
290
301
|
sub();
|
|
@@ -312,7 +323,6 @@ function recordDependency(signal2) {
|
|
|
312
323
|
let subs = signal2[SUBS];
|
|
313
324
|
if (!subs) {
|
|
314
325
|
subs = /* @__PURE__ */ new Set();
|
|
315
|
-
signalSubscribers.set(signal2, subs);
|
|
316
326
|
signal2[SUBS] = subs;
|
|
317
327
|
}
|
|
318
328
|
subs.add(currentSubscriber);
|
|
@@ -322,42 +332,46 @@ function recordDependency(signal2) {
|
|
|
322
332
|
signal2.__f = void 0;
|
|
323
333
|
}
|
|
324
334
|
}
|
|
335
|
+
var maxDrainIterations = 1e5;
|
|
325
336
|
function propagateDirty(sub) {
|
|
326
337
|
sub();
|
|
327
|
-
|
|
328
|
-
|
|
338
|
+
const rootSig = sub._sig;
|
|
339
|
+
if (!rootSig) return;
|
|
340
|
+
const stack = propagateStack;
|
|
341
|
+
const baseLen = stack.length;
|
|
342
|
+
stack.push(rootSig);
|
|
343
|
+
while (stack.length > baseLen) {
|
|
344
|
+
const sig = stack.pop();
|
|
329
345
|
const first = sig.__f;
|
|
330
346
|
if (first) {
|
|
331
347
|
if (first._c) {
|
|
332
348
|
const nSig = first._sig;
|
|
333
|
-
nSig._d
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
if (!pendingSet.has(first)) {
|
|
349
|
+
if (!nSig._d) {
|
|
350
|
+
nSig._d = true;
|
|
351
|
+
stack.push(nSig);
|
|
352
|
+
}
|
|
353
|
+
} else if (!pendingSet.has(first)) {
|
|
338
354
|
pendingSet.add(first);
|
|
339
355
|
pendingQueue.push(first);
|
|
340
356
|
}
|
|
341
|
-
|
|
357
|
+
continue;
|
|
342
358
|
}
|
|
343
359
|
const subs = sig[SUBS];
|
|
344
|
-
if (!subs)
|
|
345
|
-
let nextSig;
|
|
360
|
+
if (!subs) continue;
|
|
346
361
|
for (const s of subs) {
|
|
347
362
|
if (s._c) {
|
|
348
|
-
s();
|
|
349
363
|
const nSig = s._sig;
|
|
350
|
-
if (nSig && !
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
364
|
+
if (nSig && !nSig._d) {
|
|
365
|
+
nSig._d = true;
|
|
366
|
+
stack.push(nSig);
|
|
367
|
+
} else if (!nSig) {
|
|
368
|
+
s();
|
|
354
369
|
}
|
|
355
370
|
} else if (!pendingSet.has(s)) {
|
|
356
371
|
pendingSet.add(s);
|
|
357
372
|
pendingQueue.push(s);
|
|
358
373
|
}
|
|
359
374
|
}
|
|
360
|
-
sig = nextSig;
|
|
361
375
|
}
|
|
362
376
|
}
|
|
363
377
|
function notifySubscribers(signal2) {
|
|
@@ -381,13 +395,23 @@ function notifySubscribers(signal2) {
|
|
|
381
395
|
}
|
|
382
396
|
let i = 0;
|
|
383
397
|
while (i < pendingQueue.length) {
|
|
398
|
+
if (i >= maxDrainIterations) {
|
|
399
|
+
if (typeof console !== "undefined") {
|
|
400
|
+
console.error(
|
|
401
|
+
`[SibuJS] Notification queue exceeded ${maxDrainIterations} iterations \u2014 likely an effect that writes to a signal it reads. Breaking to prevent infinite loop.`
|
|
402
|
+
);
|
|
403
|
+
}
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
384
406
|
safeInvoke(pendingQueue[i]);
|
|
385
407
|
i++;
|
|
386
408
|
}
|
|
387
409
|
} finally {
|
|
388
|
-
pendingQueue.length = 0;
|
|
389
|
-
pendingSet.clear();
|
|
390
410
|
notifyDepth--;
|
|
411
|
+
if (notifyDepth === 0) {
|
|
412
|
+
pendingQueue.length = 0;
|
|
413
|
+
pendingSet.clear();
|
|
414
|
+
}
|
|
391
415
|
}
|
|
392
416
|
return;
|
|
393
417
|
}
|
|
@@ -407,30 +431,48 @@ function notifySubscribers(signal2) {
|
|
|
407
431
|
notifyDepth++;
|
|
408
432
|
try {
|
|
409
433
|
let directCount = 0;
|
|
434
|
+
let hasComputedSub = false;
|
|
410
435
|
for (const sub of subs) {
|
|
436
|
+
if (sub._c) hasComputedSub = true;
|
|
411
437
|
pendingQueue[directCount++] = sub;
|
|
412
438
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
439
|
+
if (!hasComputedSub) {
|
|
440
|
+
for (let i2 = 0; i2 < directCount; i2++) {
|
|
441
|
+
safeInvoke(pendingQueue[i2]);
|
|
416
442
|
}
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
443
|
+
} else {
|
|
444
|
+
for (let i2 = 0; i2 < directCount; i2++) {
|
|
445
|
+
if (pendingQueue[i2]._c) {
|
|
446
|
+
propagateDirty(pendingQueue[i2]);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
for (let i2 = 0; i2 < directCount; i2++) {
|
|
450
|
+
const sub = pendingQueue[i2];
|
|
451
|
+
if (!sub._c && !pendingSet.has(sub)) {
|
|
452
|
+
pendingSet.add(sub);
|
|
453
|
+
safeInvoke(sub);
|
|
422
454
|
}
|
|
423
455
|
}
|
|
424
456
|
}
|
|
425
457
|
let i = directCount;
|
|
426
458
|
while (i < pendingQueue.length) {
|
|
459
|
+
if (i - directCount >= maxDrainIterations) {
|
|
460
|
+
if (typeof console !== "undefined") {
|
|
461
|
+
console.error(
|
|
462
|
+
`[SibuJS] Notification queue exceeded ${maxDrainIterations} iterations \u2014 likely an effect that writes to a signal it reads. Breaking to prevent infinite loop.`
|
|
463
|
+
);
|
|
464
|
+
}
|
|
465
|
+
break;
|
|
466
|
+
}
|
|
427
467
|
safeInvoke(pendingQueue[i]);
|
|
428
468
|
i++;
|
|
429
469
|
}
|
|
430
470
|
} finally {
|
|
431
|
-
pendingQueue.length = 0;
|
|
432
|
-
pendingSet.clear();
|
|
433
471
|
notifyDepth--;
|
|
472
|
+
if (notifyDepth === 0) {
|
|
473
|
+
pendingQueue.length = 0;
|
|
474
|
+
pendingSet.clear();
|
|
475
|
+
}
|
|
434
476
|
}
|
|
435
477
|
}
|
|
436
478
|
|
|
@@ -591,15 +633,24 @@ function springSignal(initial, options) {
|
|
|
591
633
|
let velocity = 0;
|
|
592
634
|
let target = initial;
|
|
593
635
|
let rafId = null;
|
|
594
|
-
|
|
636
|
+
let lastTime = 0;
|
|
637
|
+
const REF_DT_MS = 1e3 / 60;
|
|
638
|
+
const MAX_STEP_RATIO = 4;
|
|
639
|
+
function tick(now) {
|
|
640
|
+
if (lastTime === 0) lastTime = now;
|
|
641
|
+
const rawDt = now - lastTime;
|
|
642
|
+
lastTime = now;
|
|
643
|
+
const dt = Number.isFinite(rawDt) && rawDt > 0 ? rawDt : REF_DT_MS;
|
|
644
|
+
const ratio = Math.min(MAX_STEP_RATIO, Math.max(0.1, dt / REF_DT_MS));
|
|
595
645
|
const force = -stiffness * (current - target);
|
|
596
646
|
const dampingForce = -damping * velocity;
|
|
597
|
-
velocity += force + dampingForce;
|
|
598
|
-
current += velocity;
|
|
647
|
+
velocity += (force + dampingForce) * ratio;
|
|
648
|
+
current += velocity * ratio;
|
|
599
649
|
if (Math.abs(current - target) < precision && Math.abs(velocity) < precision) {
|
|
600
650
|
current = target;
|
|
601
651
|
velocity = 0;
|
|
602
652
|
rafId = null;
|
|
653
|
+
lastTime = 0;
|
|
603
654
|
setValue(current);
|
|
604
655
|
return;
|
|
605
656
|
}
|
|
@@ -615,10 +666,12 @@ function springSignal(initial, options) {
|
|
|
615
666
|
cancelAnimationFrame(rafId);
|
|
616
667
|
rafId = null;
|
|
617
668
|
}
|
|
669
|
+
lastTime = 0;
|
|
618
670
|
setValue(current);
|
|
619
671
|
return;
|
|
620
672
|
}
|
|
621
673
|
if (rafId === null) {
|
|
674
|
+
lastTime = 0;
|
|
622
675
|
rafId = requestAnimationFrame(tick);
|
|
623
676
|
}
|
|
624
677
|
}
|
|
@@ -627,6 +680,7 @@ function springSignal(initial, options) {
|
|
|
627
680
|
cancelAnimationFrame(rafId);
|
|
628
681
|
rafId = null;
|
|
629
682
|
}
|
|
683
|
+
lastTime = 0;
|
|
630
684
|
}
|
|
631
685
|
return [value, set, dispose];
|
|
632
686
|
}
|
package/dist/motion.d.cts
CHANGED
package/dist/motion.d.ts
CHANGED
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-52YJLLRO.js";
|
|
23
|
+
import "./chunk-CC65Y57T.js";
|
|
24
|
+
import "./chunk-VLPPXTYG.js";
|
|
25
|
+
import "./chunk-LMLD24FC.js";
|
|
26
26
|
export {
|
|
27
27
|
TransitionGroup,
|
|
28
28
|
animate,
|