@jsenv/dom 0.17.43 → 0.17.44
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 +30 -2
- package/package.json +1 -1
package/dist/jsenv_dom.js
CHANGED
|
@@ -15229,6 +15229,22 @@ const getVisibleViewportRect = () => {
|
|
|
15229
15229
|
};
|
|
15230
15230
|
};
|
|
15231
15231
|
|
|
15232
|
+
// The window is not always all the app's: an app simulating a narrower
|
|
15233
|
+
// screen (say a 600px column centered in a wide window) wants everything
|
|
15234
|
+
// pickPositionRelativeTo places against the viewport — dialogs, popovers,
|
|
15235
|
+
// side panels — kept to its own rectangle rather than the window's. The
|
|
15236
|
+
// embedder declares that rectangle here, as insets from the window's edges
|
|
15237
|
+
// ({ left, top, right, bottom } in px — see @jsenv/navi's
|
|
15238
|
+
// --navi-app-inset-*, the CSS twin of this). A callback rather than a
|
|
15239
|
+
// value so it stays live without a subscription; read on each placement.
|
|
15240
|
+
// Placement only: visibleRectEffect keeps reading the real viewport —
|
|
15241
|
+
// whether something is on screen is a fact about the window, not about
|
|
15242
|
+
// the rectangle an app confines itself to.
|
|
15243
|
+
let getPlacementViewportInsets = null;
|
|
15244
|
+
const setPlacementViewportInsets = (getInsets) => {
|
|
15245
|
+
getPlacementViewportInsets = getInsets;
|
|
15246
|
+
};
|
|
15247
|
+
|
|
15232
15248
|
const isEditableElement = (element) => {
|
|
15233
15249
|
if (!element) {
|
|
15234
15250
|
return false;
|
|
@@ -16268,12 +16284,24 @@ const pickPositionRelativeTo = (
|
|
|
16268
16284
|
} = {},
|
|
16269
16285
|
) => {
|
|
16270
16286
|
// Needed before hasValidAnchor below.
|
|
16271
|
-
|
|
16287
|
+
let {
|
|
16272
16288
|
left: viewportLeft,
|
|
16273
16289
|
top: viewportTop,
|
|
16274
16290
|
width: viewportWidth,
|
|
16275
16291
|
height: viewportHeight,
|
|
16276
16292
|
} = getVisibleViewportRect();
|
|
16293
|
+
// Narrowed to the embedder's own rectangle (see setPlacementViewportInsets)
|
|
16294
|
+
// before anything reads it: the available area, the flip decisions, the
|
|
16295
|
+
// clamps and the viewport-as-anchor rect below all follow, so an element
|
|
16296
|
+
// docked to an edge lands flush against the app's edge rather than the
|
|
16297
|
+
// window's.
|
|
16298
|
+
if (getPlacementViewportInsets) {
|
|
16299
|
+
const placementInsets = getPlacementViewportInsets();
|
|
16300
|
+
viewportLeft += placementInsets.left;
|
|
16301
|
+
viewportTop += placementInsets.top;
|
|
16302
|
+
viewportWidth -= placementInsets.left + placementInsets.right;
|
|
16303
|
+
viewportHeight -= placementInsets.top + placementInsets.bottom;
|
|
16304
|
+
}
|
|
16277
16305
|
|
|
16278
16306
|
// Resolved early: everything below that would otherwise reach for
|
|
16279
16307
|
// viewportLeft/Top/Width/Height instead uses these, so a "local" popover
|
|
@@ -20334,4 +20362,4 @@ const useResizeStatus = (elementRef, { as = "number" } = {}) => {
|
|
|
20334
20362
|
};
|
|
20335
20363
|
};
|
|
20336
20364
|
|
|
20337
|
-
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 };
|
|
20365
|
+
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, setPlacementViewportInsets, setStyles, setVirtualKeyboardOverlaysContent, snapToPixel, startDragTo, startDragToResizeGesture, startDragToTravel, stickyAsRelativeCoords, stringifyStyle, subscribeVirtualKeyboardGeometryChange, subscribeVisualViewportResizeSettled, subscribeWindowResizeSettled, suppressClickAfterGesture, trapFocusInside, trapScrollInside, useActiveElement, useAvailableHeight, useAvailableWidth, useMaxHeight, useMaxWidth, useResizeStatus, visibleRectEffect, waitForPressHeld, watchWheelTravel, wheelGestureIsTakenFrom };
|