bunnyquery 1.8.15 → 1.8.16
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/bunnyquery.js +40 -11
- package/dist/engine.cjs +28 -10
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.d.mts +11 -0
- package/dist/engine.d.ts +11 -0
- package/dist/engine.mjs +28 -10
- package/dist/engine.mjs.map +1 -1
- package/package.json +1 -1
- package/src/engine/scroll_anchor.ts +50 -12
package/bunnyquery.js
CHANGED
|
@@ -2440,6 +2440,7 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2440
2440
|
var ROW_POS_ATTR = "data-row-pos";
|
|
2441
2441
|
var MAX_ALTS = 2;
|
|
2442
2442
|
var ALT_SCAN_LIMIT = 64;
|
|
2443
|
+
var MAX_RETURN_SETTLES = 3;
|
|
2443
2444
|
var UNKNOWN_ROW_POS = "\0?";
|
|
2444
2445
|
function createScrollAnchor(options) {
|
|
2445
2446
|
var held = null;
|
|
@@ -2527,6 +2528,7 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2527
2528
|
var parked = null;
|
|
2528
2529
|
var parkedStuck = false;
|
|
2529
2530
|
var returning = false;
|
|
2531
|
+
var returnBudget = 0;
|
|
2530
2532
|
var wroteTop = -1;
|
|
2531
2533
|
var restoreExact = true;
|
|
2532
2534
|
var restorePinned = false;
|
|
@@ -2622,17 +2624,13 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2622
2624
|
}
|
|
2623
2625
|
function remember() {
|
|
2624
2626
|
var b0 = options.getBox();
|
|
2625
|
-
if (returning && b0 && b0.scrollTop !== wroteTop)
|
|
2626
|
-
parked = null;
|
|
2627
|
-
parkedStuck = false;
|
|
2628
|
-
returning = false;
|
|
2629
|
-
}
|
|
2627
|
+
if (returning && b0 && b0.scrollTop !== wroteTop) release();
|
|
2630
2628
|
if (frozen()) return;
|
|
2631
2629
|
held = capture();
|
|
2632
2630
|
}
|
|
2633
2631
|
function hold() {
|
|
2634
2632
|
if (frozen()) return;
|
|
2635
|
-
if (sawFrozen
|
|
2633
|
+
if (sawFrozen) {
|
|
2636
2634
|
settleReturn();
|
|
2637
2635
|
return;
|
|
2638
2636
|
}
|
|
@@ -2675,6 +2673,13 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2675
2673
|
parked = capture();
|
|
2676
2674
|
parkedStuck = !!options.isStuck();
|
|
2677
2675
|
returning = true;
|
|
2676
|
+
returnBudget = MAX_RETURN_SETTLES;
|
|
2677
|
+
}
|
|
2678
|
+
function release() {
|
|
2679
|
+
parked = null;
|
|
2680
|
+
parkedStuck = false;
|
|
2681
|
+
returning = false;
|
|
2682
|
+
returnBudget = 0;
|
|
2678
2683
|
}
|
|
2679
2684
|
function pinBottom() {
|
|
2680
2685
|
var box = options.getBox();
|
|
@@ -2684,7 +2689,16 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2684
2689
|
}
|
|
2685
2690
|
function settleReturn() {
|
|
2686
2691
|
if (frozen()) return false;
|
|
2692
|
+
var wasFrozen = sawFrozen;
|
|
2687
2693
|
sawFrozen = false;
|
|
2694
|
+
if (!returning && !wasFrozen) return false;
|
|
2695
|
+
if (returning) {
|
|
2696
|
+
if (returnBudget <= 0) {
|
|
2697
|
+
release();
|
|
2698
|
+
return false;
|
|
2699
|
+
}
|
|
2700
|
+
returnBudget--;
|
|
2701
|
+
}
|
|
2688
2702
|
if (parkedStuck) {
|
|
2689
2703
|
pinBottom();
|
|
2690
2704
|
return true;
|
|
@@ -2694,7 +2708,12 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2694
2708
|
restorePinned = false;
|
|
2695
2709
|
restore(target, true);
|
|
2696
2710
|
parked = !restorePinned || !restoreExact ? target : null;
|
|
2697
|
-
returning = !!parked;
|
|
2711
|
+
returning = !!parked && returnBudget > 0;
|
|
2712
|
+
if (!returning) {
|
|
2713
|
+
parked = null;
|
|
2714
|
+
parkedStuck = false;
|
|
2715
|
+
returnBudget = 0;
|
|
2716
|
+
}
|
|
2698
2717
|
return false;
|
|
2699
2718
|
}
|
|
2700
2719
|
function isReturning() {
|
|
@@ -2720,9 +2739,7 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2720
2739
|
}
|
|
2721
2740
|
function forget() {
|
|
2722
2741
|
held = null;
|
|
2723
|
-
|
|
2724
|
-
parkedStuck = false;
|
|
2725
|
-
returning = false;
|
|
2742
|
+
release();
|
|
2726
2743
|
}
|
|
2727
2744
|
return {
|
|
2728
2745
|
capture,
|
|
@@ -2733,6 +2750,7 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
2733
2750
|
park,
|
|
2734
2751
|
settleReturn,
|
|
2735
2752
|
isReturning,
|
|
2753
|
+
release,
|
|
2736
2754
|
pinBottom,
|
|
2737
2755
|
isFrozen: frozen,
|
|
2738
2756
|
thaw,
|
|
@@ -6547,7 +6565,7 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
6547
6565
|
(function() {
|
|
6548
6566
|
var MCP_PROD = "https://mcp.broadwayinc.computer";
|
|
6549
6567
|
var MCP_DEV = "https://mcp-dev.broadwayinc.computer";
|
|
6550
|
-
var BQ_VERSION = "1.8.
|
|
6568
|
+
var BQ_VERSION = "1.8.16" ;
|
|
6551
6569
|
var ATTACHMENT_URL_EXPIRES_SECONDS = 600;
|
|
6552
6570
|
var GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
|
|
6553
6571
|
var GOOGLE_TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
@@ -8542,12 +8560,21 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
8542
8560
|
}
|
|
8543
8561
|
var _touchStartY = 0;
|
|
8544
8562
|
function onMessagesWheel(e) {
|
|
8563
|
+
chatScrollAnchor.release();
|
|
8545
8564
|
if (e.deltaY < 0) CS.stickToBottom = false;
|
|
8546
8565
|
}
|
|
8547
8566
|
function onMessagesTouchStart(e) {
|
|
8567
|
+
chatScrollAnchor.release();
|
|
8548
8568
|
_touchStartY = e.touches && e.touches[0] ? e.touches[0].clientY : 0;
|
|
8549
8569
|
}
|
|
8570
|
+
function onMessagesKeyDown() {
|
|
8571
|
+
chatScrollAnchor.release();
|
|
8572
|
+
}
|
|
8573
|
+
function onMessagesPointerDown() {
|
|
8574
|
+
chatScrollAnchor.release();
|
|
8575
|
+
}
|
|
8550
8576
|
function onMessagesTouchMove(e) {
|
|
8577
|
+
chatScrollAnchor.release();
|
|
8551
8578
|
var y = e.touches && e.touches[0] ? e.touches[0].clientY : 0;
|
|
8552
8579
|
if (y > _touchStartY + 4) CS.stickToBottom = false;
|
|
8553
8580
|
}
|
|
@@ -10445,6 +10472,8 @@ Index the REMAINING windows - one record per row/item, looking at any page image
|
|
|
10445
10472
|
box.addEventListener("wheel", onMessagesWheel, { passive: true });
|
|
10446
10473
|
box.addEventListener("touchstart", onMessagesTouchStart, { passive: true });
|
|
10447
10474
|
box.addEventListener("touchmove", onMessagesTouchMove, { passive: true });
|
|
10475
|
+
box.addEventListener("keydown", onMessagesKeyDown, { passive: true });
|
|
10476
|
+
box.addEventListener("pointerdown", onMessagesPointerDown, { passive: true });
|
|
10448
10477
|
box.addEventListener("load", onMessagesImageSettled, true);
|
|
10449
10478
|
box.addEventListener("error", onMessagesImageSettled, true);
|
|
10450
10479
|
if (document.fonts && document.fonts.addEventListener) {
|
package/dist/engine.cjs
CHANGED
|
@@ -2582,6 +2582,7 @@ var ROW_KEY_ATTR = "data-row-key";
|
|
|
2582
2582
|
var ROW_POS_ATTR = "data-row-pos";
|
|
2583
2583
|
var MAX_ALTS = 2;
|
|
2584
2584
|
var ALT_SCAN_LIMIT = 64;
|
|
2585
|
+
var MAX_RETURN_SETTLES = 3;
|
|
2585
2586
|
var UNKNOWN_ROW_POS = "\0?";
|
|
2586
2587
|
function createScrollAnchor(options) {
|
|
2587
2588
|
var held = null;
|
|
@@ -2669,6 +2670,7 @@ function createScrollAnchor(options) {
|
|
|
2669
2670
|
var parked = null;
|
|
2670
2671
|
var parkedStuck = false;
|
|
2671
2672
|
var returning = false;
|
|
2673
|
+
var returnBudget = 0;
|
|
2672
2674
|
var wroteTop = -1;
|
|
2673
2675
|
var restoreExact = true;
|
|
2674
2676
|
var restorePinned = false;
|
|
@@ -2764,17 +2766,13 @@ function createScrollAnchor(options) {
|
|
|
2764
2766
|
}
|
|
2765
2767
|
function remember() {
|
|
2766
2768
|
var b0 = options.getBox();
|
|
2767
|
-
if (returning && b0 && b0.scrollTop !== wroteTop)
|
|
2768
|
-
parked = null;
|
|
2769
|
-
parkedStuck = false;
|
|
2770
|
-
returning = false;
|
|
2771
|
-
}
|
|
2769
|
+
if (returning && b0 && b0.scrollTop !== wroteTop) release();
|
|
2772
2770
|
if (frozen()) return;
|
|
2773
2771
|
held = capture();
|
|
2774
2772
|
}
|
|
2775
2773
|
function hold() {
|
|
2776
2774
|
if (frozen()) return;
|
|
2777
|
-
if (sawFrozen
|
|
2775
|
+
if (sawFrozen) {
|
|
2778
2776
|
settleReturn();
|
|
2779
2777
|
return;
|
|
2780
2778
|
}
|
|
@@ -2817,6 +2815,13 @@ function createScrollAnchor(options) {
|
|
|
2817
2815
|
parked = capture();
|
|
2818
2816
|
parkedStuck = !!options.isStuck();
|
|
2819
2817
|
returning = true;
|
|
2818
|
+
returnBudget = MAX_RETURN_SETTLES;
|
|
2819
|
+
}
|
|
2820
|
+
function release() {
|
|
2821
|
+
parked = null;
|
|
2822
|
+
parkedStuck = false;
|
|
2823
|
+
returning = false;
|
|
2824
|
+
returnBudget = 0;
|
|
2820
2825
|
}
|
|
2821
2826
|
function pinBottom() {
|
|
2822
2827
|
var box = options.getBox();
|
|
@@ -2826,7 +2831,16 @@ function createScrollAnchor(options) {
|
|
|
2826
2831
|
}
|
|
2827
2832
|
function settleReturn() {
|
|
2828
2833
|
if (frozen()) return false;
|
|
2834
|
+
var wasFrozen = sawFrozen;
|
|
2829
2835
|
sawFrozen = false;
|
|
2836
|
+
if (!returning && !wasFrozen) return false;
|
|
2837
|
+
if (returning) {
|
|
2838
|
+
if (returnBudget <= 0) {
|
|
2839
|
+
release();
|
|
2840
|
+
return false;
|
|
2841
|
+
}
|
|
2842
|
+
returnBudget--;
|
|
2843
|
+
}
|
|
2830
2844
|
if (parkedStuck) {
|
|
2831
2845
|
pinBottom();
|
|
2832
2846
|
return true;
|
|
@@ -2836,7 +2850,12 @@ function createScrollAnchor(options) {
|
|
|
2836
2850
|
restorePinned = false;
|
|
2837
2851
|
restore(target, true);
|
|
2838
2852
|
parked = !restorePinned || !restoreExact ? target : null;
|
|
2839
|
-
returning = !!parked;
|
|
2853
|
+
returning = !!parked && returnBudget > 0;
|
|
2854
|
+
if (!returning) {
|
|
2855
|
+
parked = null;
|
|
2856
|
+
parkedStuck = false;
|
|
2857
|
+
returnBudget = 0;
|
|
2858
|
+
}
|
|
2840
2859
|
return false;
|
|
2841
2860
|
}
|
|
2842
2861
|
function isReturning() {
|
|
@@ -2862,9 +2881,7 @@ function createScrollAnchor(options) {
|
|
|
2862
2881
|
}
|
|
2863
2882
|
function forget() {
|
|
2864
2883
|
held = null;
|
|
2865
|
-
|
|
2866
|
-
parkedStuck = false;
|
|
2867
|
-
returning = false;
|
|
2884
|
+
release();
|
|
2868
2885
|
}
|
|
2869
2886
|
return {
|
|
2870
2887
|
capture,
|
|
@@ -2875,6 +2892,7 @@ function createScrollAnchor(options) {
|
|
|
2875
2892
|
park,
|
|
2876
2893
|
settleReturn,
|
|
2877
2894
|
isReturning,
|
|
2895
|
+
release,
|
|
2878
2896
|
pinBottom,
|
|
2879
2897
|
isFrozen: frozen,
|
|
2880
2898
|
thaw,
|