@jsenv/dom 0.17.38 → 0.17.41
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/jsenv_dom.js +152 -37
- package/package.json +1 -1
package/dist/jsenv_dom.js
CHANGED
|
@@ -7522,17 +7522,50 @@ const getScrollbarState = (
|
|
|
7522
7522
|
* @param {Element} [options.container] - The scroll container to scroll. Defaults to getScrollContainer(el).
|
|
7523
7523
|
* @param {"start"|"center"|"end"|"nearest"} [options.block="nearest"] - Vertical alignment.
|
|
7524
7524
|
* @param {"start"|"center"|"end"|"nearest"} [options.inline="nearest"] - Horizontal alignment.
|
|
7525
|
+
* @param {"auto"|"instant"|"smooth"} [options.behavior] - Left out, the container's CSS scroll-behavior decides; "instant" is for a caller that measures the result in the same tick.
|
|
7525
7526
|
*/
|
|
7526
7527
|
const scrollIntoViewScoped = (
|
|
7527
7528
|
el,
|
|
7528
|
-
{ container = getScrollContainer(el), ...rest } = {},
|
|
7529
|
+
{ container = getScrollContainer(el), behavior, ...rest } = {},
|
|
7529
7530
|
) => {
|
|
7530
7531
|
if (!container) {
|
|
7531
7532
|
return;
|
|
7532
7533
|
}
|
|
7533
|
-
container.scrollTo(
|
|
7534
|
-
|
|
7535
|
-
|
|
7534
|
+
container.scrollTo({
|
|
7535
|
+
behavior,
|
|
7536
|
+
...getScrollIntoViewScopedOffsets(el, { container, ...rest }),
|
|
7537
|
+
});
|
|
7538
|
+
};
|
|
7539
|
+
|
|
7540
|
+
/**
|
|
7541
|
+
* Scrolls `el` into view in every scroll container between it and the
|
|
7542
|
+
* document, innermost first — the chain `Element.prototype.scrollIntoView`
|
|
7543
|
+
* walks, minus the boxes nobody can scroll back.
|
|
7544
|
+
*
|
|
7545
|
+
* `overflow: hidden` is the one that matters: it IS a scroll container, so
|
|
7546
|
+
* the native call spends scroll on it as readily as on any other, and there
|
|
7547
|
+
* it is spent for good — no scrollbar, no wheel, no touch gives it back. A
|
|
7548
|
+
* card clipping a drawing, holding something that overlaps its edge by 2px,
|
|
7549
|
+
* ends up 2px off until it re-renders. Only the containers `isScrollable`
|
|
7550
|
+
* recognizes on its own (without `includeHidden`) are moved; the ones that
|
|
7551
|
+
* merely clip are left where they are.
|
|
7552
|
+
*
|
|
7553
|
+
* Each container measures `el` where the inner ones just put it, so the outer
|
|
7554
|
+
* ones see the final position rather than the one they started from.
|
|
7555
|
+
*
|
|
7556
|
+
* @param {Element} el - The element to scroll into view.
|
|
7557
|
+
* @param {object} options - the same as scrollIntoViewScoped's, minus container.
|
|
7558
|
+
*/
|
|
7559
|
+
const scrollIntoViewThroughScrollables = (el, options) => {
|
|
7560
|
+
for (const scrollContainer of getScrollContainerSet(el)) {
|
|
7561
|
+
// getScrollContainerSet already skips what only clips, except at the end
|
|
7562
|
+
// of the chain: with nothing scrollable left to find it hands back the
|
|
7563
|
+
// document scroller, which a scroll lock may have turned into a clip too.
|
|
7564
|
+
if (!isScrollable(scrollContainer)) {
|
|
7565
|
+
continue;
|
|
7566
|
+
}
|
|
7567
|
+
scrollIntoViewScoped(el, { ...options, container: scrollContainer });
|
|
7568
|
+
}
|
|
7536
7569
|
};
|
|
7537
7570
|
|
|
7538
7571
|
/**
|
|
@@ -7554,7 +7587,6 @@ const getScrollIntoViewScopedOffsets = (
|
|
|
7554
7587
|
inline = "nearest",
|
|
7555
7588
|
} = {},
|
|
7556
7589
|
) => {
|
|
7557
|
-
const containerRect = container.getBoundingClientRect();
|
|
7558
7590
|
const elRect = el.getBoundingClientRect();
|
|
7559
7591
|
const style = getComputedStyle(el);
|
|
7560
7592
|
|
|
@@ -7565,15 +7597,35 @@ const getScrollIntoViewScopedOffsets = (
|
|
|
7565
7597
|
|
|
7566
7598
|
const currentScrollTop = container.scrollTop;
|
|
7567
7599
|
const currentScrollLeft = container.scrollLeft;
|
|
7568
|
-
|
|
7569
|
-
|
|
7600
|
+
|
|
7601
|
+
// Where the container shows its content, in the coordinates
|
|
7602
|
+
// getBoundingClientRect speaks. The document scroller is a case apart: what
|
|
7603
|
+
// it shows is the viewport, sitting at the origin of those coordinates,
|
|
7604
|
+
// while its own box is the whole page and travels with the scroll — reading
|
|
7605
|
+
// that box would count the scroll twice and compare the element to the
|
|
7606
|
+
// height of the document rather than the height of the screen.
|
|
7607
|
+
let containerTop;
|
|
7608
|
+
let containerLeft;
|
|
7609
|
+
let containerHeight;
|
|
7610
|
+
let containerWidth;
|
|
7611
|
+
if (container === container.ownerDocument.scrollingElement) {
|
|
7612
|
+
containerTop = 0;
|
|
7613
|
+
containerLeft = 0;
|
|
7614
|
+
containerHeight = container.clientHeight;
|
|
7615
|
+
containerWidth = container.clientWidth;
|
|
7616
|
+
} else {
|
|
7617
|
+
const containerRect = container.getBoundingClientRect();
|
|
7618
|
+
containerTop = containerRect.top;
|
|
7619
|
+
containerLeft = containerRect.left;
|
|
7620
|
+
containerHeight = containerRect.height;
|
|
7621
|
+
containerWidth = containerRect.width;
|
|
7622
|
+
}
|
|
7570
7623
|
|
|
7571
7624
|
// Element position relative to the container's scroll origin.
|
|
7572
|
-
const elTop =
|
|
7573
|
-
elRect.top - containerRect.top + currentScrollTop - scrollMarginTop;
|
|
7625
|
+
const elTop = elRect.top - containerTop + currentScrollTop - scrollMarginTop;
|
|
7574
7626
|
const elBottom = elTop + elRect.height + scrollMarginTop + scrollMarginBottom;
|
|
7575
7627
|
const elLeft =
|
|
7576
|
-
elRect.left -
|
|
7628
|
+
elRect.left - containerLeft + currentScrollLeft - scrollMarginLeft;
|
|
7577
7629
|
const elRight = elLeft + elRect.width + scrollMarginLeft + scrollMarginRight;
|
|
7578
7630
|
|
|
7579
7631
|
let newScrollTop = currentScrollTop;
|
|
@@ -9455,6 +9507,14 @@ installImportMetaCssBuild(import.meta);/**
|
|
|
9455
9507
|
* A tap is left alone by that: a press that goes nowhere is still a press, which
|
|
9456
9508
|
* is what a piece that is also a link or a card needs.
|
|
9457
9509
|
*
|
|
9510
|
+
* A HOLD is not, and nothing in such a place is text to select. Taking the wait
|
|
9511
|
+
* away takes away the only thing that answered a finger held still, so the
|
|
9512
|
+
* browser answers it alone: its own long press selects the word under the thumb,
|
|
9513
|
+
* and the card the hand meant to carry is left blue and handled. Said to every
|
|
9514
|
+
* pointer — a mouse there drags from the first few pixels, so a selection begun
|
|
9515
|
+
* there is one that could never be finished either. What says its press is its
|
|
9516
|
+
* own keeps its text (see the stylesheet below).
|
|
9517
|
+
*
|
|
9458
9518
|
* It is opt-in and cannot be anything else. Nothing here can see whether the
|
|
9459
9519
|
* surroundings scroll — a page scrolls by default, an overflow is one CSS
|
|
9460
9520
|
* property away, and getting it wrong the wrong way means the list runs away
|
|
@@ -9499,6 +9559,11 @@ const css$4 = /* css */`[data-drag-handle], [data-drag-source] {
|
|
|
9499
9559
|
|
|
9500
9560
|
[data-drag-on-contact] [data-drag-source], [data-drag-source][data-drag-on-contact] {
|
|
9501
9561
|
touch-action: pinch-zoom;
|
|
9562
|
+
user-select: none;
|
|
9563
|
+
}
|
|
9564
|
+
|
|
9565
|
+
[data-drag-on-contact] [data-drag-ignore], [data-drag-on-contact] [popover], [data-drag-on-contact] dialog, [data-drag-on-contact] :is(input:not([data-press-only]), textarea), [data-drag-on-contact] :is([contenteditable=""], [contenteditable="true"]) {
|
|
9566
|
+
user-select: text;
|
|
9502
9567
|
}
|
|
9503
9568
|
|
|
9504
9569
|
[data-drag-ignore], [data-self-interactions~="drag"], [data-self-interactions~="*"], [data-drag-source] [popover], [data-drag-source] dialog {
|
|
@@ -9532,7 +9597,17 @@ import.meta.css = [css$4, "@jsenv/dom/src/interaction/drag/drag_after_intent.js"
|
|
|
9532
9597
|
* on its way home is pressed through the pictures of a view transition, and the
|
|
9533
9598
|
* touch lands on the document root (see letCopyBeCaught in drag_to.js). Same
|
|
9534
9599
|
* rule, other element — and it has to be the same function, or the listener put
|
|
9535
|
-
* down is not the one taken back off.
|
|
9600
|
+
* down is not the one taken back off. A box that TRAVELS says it too, from its
|
|
9601
|
+
* own render: given as a JSX prop (`onTouchMove={keepTouchRefusable}`), next to
|
|
9602
|
+
* the attribute naming its axes.
|
|
9603
|
+
*
|
|
9604
|
+
* Registered `{ passive: false }` where it is added by hand — but a framework's
|
|
9605
|
+
* event prop cannot say that (Preact's third addEventListener argument is only
|
|
9606
|
+
* useCapture), and it does not need to: passive-by-default only covers
|
|
9607
|
+
* touchmove listeners on window, document and document.body, so on any other
|
|
9608
|
+
* element a plain addEventListener is non-passive already. The document root is
|
|
9609
|
+
* exactly the one place this goes down where the explicit option is load-
|
|
9610
|
+
* bearing.
|
|
9536
9611
|
*/
|
|
9537
9612
|
const keepTouchRefusable = () => {
|
|
9538
9613
|
// Being registered IS the whole of it — see above.
|
|
@@ -13405,16 +13480,33 @@ import.meta.css = [/* css */`
|
|
|
13405
13480
|
// How far a pointer goes before it is a travel rather than a click: below this
|
|
13406
13481
|
// a press that wandered a pixel is still a press, and nothing budges.
|
|
13407
13482
|
const DRAG_START_THRESHOLD = 10;
|
|
13483
|
+
// How much the cross axis must dominate the travel axis, over the first
|
|
13484
|
+
// reported pixels, to take the press away from the box (see the axis decision
|
|
13485
|
+
// in onDrag). Sized against the two hands it separates: a thumb's arc leans up
|
|
13486
|
+
// to about twice as far off-axis as along it at the start of a sideways swipe,
|
|
13487
|
+
// while a scroll is four or five times purer than that on its own axis.
|
|
13488
|
+
const AXIS_CROSS_DOMINANCE = 2;
|
|
13408
13489
|
// How much of a box has to be pulled for letting go to carry on rather than put
|
|
13409
13490
|
// things back, when the caller does not say. Under half, because a gesture that
|
|
13410
13491
|
// has clearly begun is an intention: asking for the box to be dragged all the
|
|
13411
13492
|
// way across turns a travel into work.
|
|
13412
13493
|
const DRAG_COMMIT_RATIO = 0.3;
|
|
13413
|
-
// A
|
|
13414
|
-
//
|
|
13415
|
-
//
|
|
13416
|
-
|
|
13417
|
-
|
|
13494
|
+
// A hand still moving towards what it is pulling in when it lets go has said
|
|
13495
|
+
// where this goes, however slowly: an intention still being acted on at the
|
|
13496
|
+
// lift travels whatever the distance. The bar sits just above stillness —
|
|
13497
|
+
// capacitive jitter and a hand settling before it lifts measure under it — so
|
|
13498
|
+
// only a release at rest is left to the position alone (the commit ratio).
|
|
13499
|
+
// It has to sit that low for another reason too: velocity is averaged over
|
|
13500
|
+
// the trailing window (see createVelocityMeter) and the release repeats the
|
|
13501
|
+
// last position a moment later, both pulling the measure down from the speed
|
|
13502
|
+
// the fingertip actually has. A few pixels of pull are asked besides, to tell
|
|
13503
|
+
// a movement from a tap that shook.
|
|
13504
|
+
const DRAG_DRIFT_VELOCITY = 0.03;
|
|
13505
|
+
const DRAG_DRIFT_DISTANCE = 8;
|
|
13506
|
+
// Thrown back: a hand moving AWAY from what it was bringing in this fast asks
|
|
13507
|
+
// for it to be put back, whatever the distance already covered. Well above the
|
|
13508
|
+
// drift bar, so a hand merely wavering as it lets go does not read as a throw.
|
|
13509
|
+
const DRAG_THROW_BACK_VELOCITY = 0.3;
|
|
13418
13510
|
// Pulling towards nothing: what travels follows at a fraction of the finger, so
|
|
13419
13511
|
// the gesture is answered (something moves) while saying there is nothing that
|
|
13420
13512
|
// way. Let go and it comes back — a wall one can lean on, never walk through.
|
|
@@ -13628,21 +13720,23 @@ const travelsAfter = ({
|
|
|
13628
13720
|
return true;
|
|
13629
13721
|
}
|
|
13630
13722
|
const sign = pulled > 0 ? 1 : -1;
|
|
13631
|
-
const goingFast = Math.abs(velocity) > DRAG_FLICK_VELOCITY;
|
|
13632
13723
|
// A hand that is still moving says where it is going, and it says it about
|
|
13633
|
-
// BOTH answers. Going away from what it was bringing in is "put it
|
|
13634
|
-
// whatever the distance already covered — which is the whole of what
|
|
13635
|
-
// for when catching something in flight and throwing it back the
|
|
13636
|
-
// Without this the picture alone decides, and a screen caught at
|
|
13637
|
-
// and thrown back still arrives: the gesture was read as the
|
|
13638
|
-
// go of rather than as a movement.
|
|
13639
|
-
if (
|
|
13724
|
+
// BOTH answers. Going away from what it was bringing in fast is "put it
|
|
13725
|
+
// back", whatever the distance already covered — which is the whole of what
|
|
13726
|
+
// one asks for when catching something in flight and throwing it back the
|
|
13727
|
+
// other way. Without this the picture alone decides, and a screen caught at
|
|
13728
|
+
// two thirds and thrown back still arrives: the gesture was read as the
|
|
13729
|
+
// place it was let go of rather than as a movement.
|
|
13730
|
+
if (Math.abs(velocity) > DRAG_THROW_BACK_VELOCITY && Math.sign(velocity) !== sign) {
|
|
13640
13731
|
return false;
|
|
13641
13732
|
}
|
|
13642
|
-
// …and going towards it travels
|
|
13643
|
-
|
|
13644
|
-
|
|
13645
|
-
|
|
13733
|
+
// …and going towards it travels, however slowly: see DRAG_DRIFT_VELOCITY.
|
|
13734
|
+
const drifting = Math.abs(velocity) > DRAG_DRIFT_VELOCITY && Math.sign(velocity) === sign;
|
|
13735
|
+
if (drifting && Math.abs(pulled) > DRAG_DRIFT_DISTANCE) {
|
|
13736
|
+
return true;
|
|
13737
|
+
}
|
|
13738
|
+
// At rest: the position is the only witness left.
|
|
13739
|
+
return Math.abs(pulled) > size * commitRatio;
|
|
13646
13740
|
};
|
|
13647
13741
|
|
|
13648
13742
|
/**
|
|
@@ -13842,12 +13936,30 @@ const startDragToTravel = (pointerDownEvent, {
|
|
|
13842
13936
|
// ONE axis, decided by the first movement reported and never
|
|
13843
13937
|
// revisited: a diagonal would ask for two travels at once and only
|
|
13844
13938
|
// one thing can arrive.
|
|
13939
|
+
//
|
|
13940
|
+
// The axis this box travels is favoured in that reading: a thumb
|
|
13941
|
+
// swiping a box sideways moves along an ARC, and its first reported
|
|
13942
|
+
// pixels — which are all this decision ever sees — lean off-axis
|
|
13943
|
+
// far more than the gesture does. Read even, that lean hands the
|
|
13944
|
+
// whole gesture to an axis nobody meant (the press is given up, and
|
|
13945
|
+
// the hand's remaining hundred pixels are read by no one). So the
|
|
13946
|
+
// cross axis has to win CLEARLY to take the press — and a gesture
|
|
13947
|
+
// that is really the page's own (a scroll is near-pure on its axis
|
|
13948
|
+
// from the first pixel) still is, at once, whole.
|
|
13845
13949
|
const reachX = Math.abs(coveredOn("x", gestureInfo));
|
|
13846
13950
|
const reachY = Math.abs(coveredOn("y", gestureInfo));
|
|
13847
13951
|
if (!reachX && !reachY) {
|
|
13848
13952
|
return;
|
|
13849
13953
|
}
|
|
13850
|
-
|
|
13954
|
+
const travelsX = axesLeft.includes("x");
|
|
13955
|
+
const travelsY = axesLeft.includes("y");
|
|
13956
|
+
if (travelsX && !travelsY) {
|
|
13957
|
+
axis = reachY > reachX * AXIS_CROSS_DOMINANCE ? "y" : "x";
|
|
13958
|
+
} else if (travelsY && !travelsX) {
|
|
13959
|
+
axis = reachX > reachY * AXIS_CROSS_DOMINANCE ? "x" : "y";
|
|
13960
|
+
} else {
|
|
13961
|
+
axis = reachX >= reachY ? "x" : "y";
|
|
13962
|
+
}
|
|
13851
13963
|
if (!axesLeft.includes(axis)) {
|
|
13852
13964
|
giveUp();
|
|
13853
13965
|
return;
|
|
@@ -13882,13 +13994,16 @@ const startDragToTravel = (pointerDownEvent, {
|
|
|
13882
13994
|
travelBack: Boolean(started.travelBack),
|
|
13883
13995
|
travelOn: Boolean(started.travelOn),
|
|
13884
13996
|
slack: started.slack || 0,
|
|
13885
|
-
//
|
|
13886
|
-
//
|
|
13887
|
-
//
|
|
13888
|
-
//
|
|
13889
|
-
//
|
|
13890
|
-
//
|
|
13891
|
-
|
|
13997
|
+
// Only what the intent threshold cost is withheld, so what travels
|
|
13998
|
+
// does not jump those few pixels at the start — and nothing more:
|
|
13999
|
+
// a fast gesture arrives coalesced, and the first report can carry
|
|
14000
|
+
// most of a flick. Charged whole, the flick would set off with
|
|
14001
|
+
// nothing left of itself to have pulled, move nothing on screen and
|
|
14002
|
+
// be refused at the release for it. Except when the intent was
|
|
14003
|
+
// established before the press (see immediate): there was no
|
|
14004
|
+
// threshold to cross, so every pixel since the grab is the hand's
|
|
14005
|
+
// and is owed to it.
|
|
14006
|
+
origin: immediate ? 0 : covered > DRAG_START_THRESHOLD ? DRAG_START_THRESHOLD : covered < -DRAG_START_THRESHOLD ? -DRAG_START_THRESHOLD : covered,
|
|
13892
14007
|
pulled: started.slack || 0
|
|
13893
14008
|
};
|
|
13894
14009
|
document.documentElement.setAttribute(WALKING_ATTRIBUTE, axis);
|
|
@@ -20174,4 +20289,4 @@ const useResizeStatus = (elementRef, { as = "number" } = {}) => {
|
|
|
20174
20289
|
};
|
|
20175
20290
|
};
|
|
20176
20291
|
|
|
20177
|
-
export { EASING, ELEMENT_SIZE_CHANGE, activeElementSignal, addActiveElementEffect, addAttributeEffect, allowWheelThrough, appendStyles, applyNewPosition, canScroll, captureScrollState, chainEvent, claimWheelGesture, clickIsSuppressed, closestOpenableAncestor, contrastColor, createBackgroundColorTransition, createBackgroundTransition, createBorderRadiusTransition, createBorderTransition, createDragGestureController, createDragToMoveGestureController, createEventGroupLogger, createGroupTransitionController, createHeightTransition, createIterableWeakSet, createOpacityTransition, createPubSub, createStyleController, createTimelineTransition, createTransition, createTranslateXTransition, createValueEffect, createWidthTransition, cubicBezier, dispatchCustomEvent, dispatchInternalCustomEvent, dispatchPublicCustomEvent, dragAfterIntent, elementIsFocusable, elementIsVisibleForFocus, elementIsVisuallyVisible, findAfter, findAncestor, findBefore, findDescendant, findEvent, findFocusDelegateTarget, findFocusable, findSelfOrAncestorFixedPosition, formatEventSideEffect, getAncestorOpenType, getAvailableHeight, getAvailableWidth, getBackground, getBackgroundColor, getBorder, getBorderRadius, getBorderSizes, getContrastRatio, getDefaultStyles, getDragCoordinates, getDropTargetInfo, getElementSignature, getFirstVisuallyVisibleAncestor, getFocusVisibilityInfo, getHeight, getHeightWithoutTransition, getInnerHeight, getInnerWidth, getKeyboardEventDefaultAction, getLuminance, getMarginSizes, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpacity, getOpacityWithoutTransition, getPaddingSizes, getPositionedParent, getPositioningScrollOffset, getPreferedColorScheme, getScrollBox, getScrollContainer, getScrollContainerSet, getScrollIntoViewScopedOffsets, getScrollRelativeRect, getSelfAndAncestorScrolls, getStyle, getTranslateX, getTranslateXWithoutTransition, getTranslateY, getVirtualKeyboardOverlayHeight, getVisuallyVisibleInfo, getWidth, getWidthWithoutTransition, hasCSSSizeUnit, initFlexDetailsSet, initFocusGroup, initPositionSticky, isAncestorOpen, isDisplayedDespiteClosedAncestor, isPressDisputedByDrag, isPrimaryButtonEvent, isSameColor, isScrollable, isTouchDrivenEvent, markDragSource, measureLongestVisualLineWidth, measureScrollbar, measureWidestChildRow, mergeOneStyle, mergeTwoStyles, normalizeKeyboardKey, normalizeStyle, normalizeStyles, observeAncestorOpenState, onAncestorReopen, parsePositionArea, parseStyle, performTabNavigation, pickPositionRelativeTo, prefersDarkColors, prefersLightColors, preventFocusNav, preventFocusNavViaKeyboard, preventIntermediateScrollbar, releaseWheelGesture, resolveCSSColor, resolveCSSSize, resolveColorLuminance, resolveOklchLightness, scrollIntoViewScoped, scrollIntoViewWithStickyAwareness, scrollRoomTowards, setAttribute, setAttributes, setStyles, setVirtualKeyboardOverlaysContent, snapToPixel, startDragTo, startDragToResizeGesture, startDragToTravel, stickyAsRelativeCoords, stringifyStyle, subscribeVirtualKeyboardGeometryChange, subscribeVisualViewportResizeSettled, subscribeWindowResizeSettled, suppressClickAfterGesture, trapFocusInside, trapScrollInside, useActiveElement, useAvailableHeight, useAvailableWidth, useMaxHeight, useMaxWidth, useResizeStatus, visibleRectEffect, waitForPressHeld, watchWheelTravel, wheelGestureIsTakenFrom };
|
|
20292
|
+
export { EASING, ELEMENT_SIZE_CHANGE, activeElementSignal, addActiveElementEffect, addAttributeEffect, allowWheelThrough, appendStyles, applyNewPosition, canScroll, captureScrollState, chainEvent, claimWheelGesture, clickIsSuppressed, closestOpenableAncestor, contrastColor, createBackgroundColorTransition, createBackgroundTransition, createBorderRadiusTransition, createBorderTransition, createDragGestureController, createDragToMoveGestureController, createEventGroupLogger, createGroupTransitionController, createHeightTransition, createIterableWeakSet, createOpacityTransition, createPubSub, createStyleController, createTimelineTransition, createTransition, createTranslateXTransition, createValueEffect, createWidthTransition, cubicBezier, dispatchCustomEvent, dispatchInternalCustomEvent, dispatchPublicCustomEvent, dragAfterIntent, elementIsFocusable, elementIsVisibleForFocus, elementIsVisuallyVisible, findAfter, findAncestor, findBefore, findDescendant, findEvent, findFocusDelegateTarget, findFocusable, findSelfOrAncestorFixedPosition, formatEventSideEffect, getAncestorOpenType, getAvailableHeight, getAvailableWidth, getBackground, getBackgroundColor, getBorder, getBorderRadius, getBorderSizes, getContrastRatio, getDefaultStyles, getDragCoordinates, getDropTargetInfo, getElementSignature, getFirstVisuallyVisibleAncestor, getFocusVisibilityInfo, getHeight, getHeightWithoutTransition, getInnerHeight, getInnerWidth, getKeyboardEventDefaultAction, getLuminance, getMarginSizes, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpacity, getOpacityWithoutTransition, getPaddingSizes, getPositionedParent, getPositioningScrollOffset, getPreferedColorScheme, getScrollBox, getScrollContainer, getScrollContainerSet, getScrollIntoViewScopedOffsets, getScrollRelativeRect, getSelfAndAncestorScrolls, getStyle, getTranslateX, getTranslateXWithoutTransition, getTranslateY, getVirtualKeyboardOverlayHeight, getVisuallyVisibleInfo, getWidth, getWidthWithoutTransition, hasCSSSizeUnit, initFlexDetailsSet, initFocusGroup, initPositionSticky, isAncestorOpen, isDisplayedDespiteClosedAncestor, isPressDisputedByDrag, isPrimaryButtonEvent, isSameColor, isScrollable, isTouchDrivenEvent, keepTouchRefusable, markDragSource, measureLongestVisualLineWidth, measureScrollbar, measureWidestChildRow, mergeOneStyle, mergeTwoStyles, normalizeKeyboardKey, normalizeStyle, normalizeStyles, observeAncestorOpenState, onAncestorReopen, parsePositionArea, parseStyle, performTabNavigation, pickPositionRelativeTo, prefersDarkColors, prefersLightColors, preventFocusNav, preventFocusNavViaKeyboard, preventIntermediateScrollbar, releaseWheelGesture, resolveCSSColor, resolveCSSSize, resolveColorLuminance, resolveOklchLightness, scrollIntoViewScoped, scrollIntoViewThroughScrollables, scrollIntoViewWithStickyAwareness, scrollRoomTowards, setAttribute, setAttributes, setStyles, setVirtualKeyboardOverlaysContent, snapToPixel, startDragTo, startDragToResizeGesture, startDragToTravel, stickyAsRelativeCoords, stringifyStyle, subscribeVirtualKeyboardGeometryChange, subscribeVisualViewportResizeSettled, subscribeWindowResizeSettled, suppressClickAfterGesture, trapFocusInside, trapScrollInside, useActiveElement, useAvailableHeight, useAvailableWidth, useMaxHeight, useMaxWidth, useResizeStatus, visibleRectEffect, waitForPressHeld, watchWheelTravel, wheelGestureIsTakenFrom };
|