@jsenv/navi 0.29.162 → 0.29.163
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_navi.js +23 -5
- package/dist/jsenv_navi.js.map +3 -3
- package/package.json +2 -2
package/dist/jsenv_navi.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { installImportMetaCssBuild, windowHeightSignal, windowWidthSignal, visualViewportHeightSignal, visualViewportWidthSignal, getAppHeight, getAppWidth, coarsePointerSignal, smallTouchScreenSignal } from "./jsenv_navi_side_effects.js";
|
|
6
6
|
export { disableVirtualKeyboardOverlay } from "./jsenv_navi_side_effects.js";
|
|
7
|
-
import { elementIsFocusable, createIterableWeakSet, dispatchInternalCustomEvent, dispatchCustomEvent, getVisuallyVisibleInfo, getFirstVisuallyVisibleAncestor, getElementSignature, createPubSub, findEvent, createValueEffect, findFocusDelegateTarget, findFocusable, allowWheelThrough, dispatchPublicCustomEvent, resolveCSSColor, ELEMENT_SIZE_CHANGE, findSelfOrAncestorFixedPosition, visibleRectEffect, pickPositionRelativeTo, getBorderSizes, getPaddingSizes, applyNewPosition, measureLongestVisualLineWidth, chainEvent, waitForPressHeld, suppressClickAfterGesture, startDragToTravel, markDragSource, startDragTo, createEventGroupLogger, getKeyboardEventDefaultAction, activeElementSignal, normalizeStyle, mergeOneStyle, getPositionedParent, normalizeStyles, createGroupTransitionController, getBorderRadius, preventIntermediateScrollbar, createOpacityTransition, watchWheelTravel, scrollRoomTowards, getScrollContainer, closestOpenableAncestor, isAncestorOpen, isDisplayedDespiteClosedAncestor, observeAncestorOpenState, getAncestorOpenType, findBefore, findAfter, resolveCSSSize, hasCSSSizeUnit, releaseWheelGesture, getScrollIntoViewScopedOffsets, wheelGestureIsTakenFrom, claimWheelGesture, scrollIntoViewScoped, initFocusGroup, stringifyStyle as stringifyStyle$1, resolveOklchLightness, contrastColor, isTouchDrivenEvent, parsePositionArea, snapToPixel, trapFocusInside, trapScrollInside, onAncestorReopen, canScroll, measureWidestChildRow, performTabNavigation, dragAfterIntent, stickyAsRelativeCoords, createDragToMoveGestureController, getDropTargetInfo, setStyles, useActiveElement } from "@jsenv/dom";
|
|
7
|
+
import { elementIsFocusable, createIterableWeakSet, dispatchInternalCustomEvent, dispatchCustomEvent, getVisuallyVisibleInfo, getFirstVisuallyVisibleAncestor, getElementSignature, createPubSub, findEvent, createValueEffect, findFocusDelegateTarget, findFocusable, allowWheelThrough, dispatchPublicCustomEvent, resolveCSSColor, ELEMENT_SIZE_CHANGE, findSelfOrAncestorFixedPosition, visibleRectEffect, pickPositionRelativeTo, getBorderSizes, getPaddingSizes, applyNewPosition, measureLongestVisualLineWidth, chainEvent, waitForPressHeld, suppressClickAfterGesture, startDragToTravel, markDragSource, startDragTo, createEventGroupLogger, getKeyboardEventDefaultAction, activeElementSignal, normalizeStyle, mergeOneStyle, getPositionedParent, normalizeStyles, createGroupTransitionController, getBorderRadius, preventIntermediateScrollbar, createOpacityTransition, watchWheelTravel, scrollRoomTowards, getScrollContainer, closestOpenableAncestor, isAncestorOpen, isDisplayedDespiteClosedAncestor, observeAncestorOpenState, getAncestorOpenType, findBefore, findAfter, resolveCSSSize, hasCSSSizeUnit, releaseWheelGesture, getScrollIntoViewScopedOffsets, wheelGestureIsTakenFrom, claimWheelGesture, scrollIntoViewScoped, initFocusGroup, stringifyStyle as stringifyStyle$1, resolveOklchLightness, contrastColor, isTouchDrivenEvent, parsePositionArea, snapToPixel, trapFocusInside, trapScrollInside, onAncestorReopen, isPressDisputedByDrag, canScroll, measureWidestChildRow, performTabNavigation, dragAfterIntent, stickyAsRelativeCoords, createDragToMoveGestureController, getDropTargetInfo, setStyles, useActiveElement } from "@jsenv/dom";
|
|
8
8
|
export { chainEvent, clickIsSuppressed, contrastColor, findEvent, startDragTo } from "@jsenv/dom";
|
|
9
9
|
import { signal, computed, effect, untracked, batch, useComputed, useSignal } from "@preact/signals";
|
|
10
10
|
import { isValidElement, h, Fragment, createContext, render, toChildArray, options, cloneElement } from "preact";
|
|
@@ -59776,7 +59776,7 @@ const PickerCustom = props => {
|
|
|
59776
59776
|
// could then never form. So the picker steps back and opens on the click,
|
|
59777
59777
|
// which the browser only delivers if the press stayed a press (a gesture
|
|
59778
59778
|
// swallows the click it leaves behind).
|
|
59779
|
-
const
|
|
59779
|
+
const interactionsDispute = interactionsDisputeThePress(props.interactions);
|
|
59780
59780
|
Object.assign(pickerProps, {
|
|
59781
59781
|
eventReactionDefinitions: {
|
|
59782
59782
|
mouseDown: e => {
|
|
@@ -59795,7 +59795,14 @@ const PickerCustom = props => {
|
|
|
59795
59795
|
})
|
|
59796
59796
|
};
|
|
59797
59797
|
}
|
|
59798
|
-
|
|
59798
|
+
// The same dispute, said by a box AROUND the picker rather than
|
|
59799
|
+
// by the picker itself: a page that travels between tabs under the
|
|
59800
|
+
// finger, a panel that swipes closed, a card carried out of a
|
|
59801
|
+
// list. Asked of the DOM here rather than of the props at render,
|
|
59802
|
+
// because that is where such a box says what it travels by — and
|
|
59803
|
+
// asked at every press, since what the picker sits in is not the
|
|
59804
|
+
// picker's to know at mount.
|
|
59805
|
+
if (interactionsDispute || isPressDisputedByDrag(e.target)) {
|
|
59799
59806
|
return null;
|
|
59800
59807
|
}
|
|
59801
59808
|
return {
|
|
@@ -59814,7 +59821,7 @@ const PickerCustom = props => {
|
|
|
59814
59821
|
}
|
|
59815
59822
|
// When a label is clicked it transfers focus to the select
|
|
59816
59823
|
// in that case we want to open it (otherwise we have already opened on mousedown interaction)
|
|
59817
|
-
// And when a gesture disputes the press (see
|
|
59824
|
+
// And when a gesture disputes the press (see the two disputes
|
|
59818
59825
|
// above), this is where the picker opens for real.
|
|
59819
59826
|
return {
|
|
59820
59827
|
name: e.detail === 0 ? "click (keyboard or progammatic) to open picker" : "click to open picker",
|
|
@@ -68517,7 +68524,18 @@ const PickerInput = props => {
|
|
|
68517
68524
|
as: "input",
|
|
68518
68525
|
...props,
|
|
68519
68526
|
readOnly: readOnlyForced ? true : readOnly,
|
|
68520
|
-
"data-readonly-forced": readOnlyForced ? "" : undefined
|
|
68527
|
+
"data-readonly-forced": readOnlyForced ? "" : undefined
|
|
68528
|
+
// An <input> by tag and a door by nature: this one opens a popup on the
|
|
68529
|
+
// press and reads nothing at all as the pointer moves — no caret dragged
|
|
68530
|
+
// through it (the press selects the whole value and preventDefaults, see
|
|
68531
|
+
// useAutoSelectReadOnly), no content of its own to scroll. So the gesture
|
|
68532
|
+
// readers must not treat it as the field it looks like: without this, a
|
|
68533
|
+
// box that travels by drag refuses to travel from a picker, which is a
|
|
68534
|
+
// hole under the finger in the middle of a page (see PRESS_ONLY_ATTRIBUTE
|
|
68535
|
+
// in @jsenv/dom's drag_to_travel.js).
|
|
68536
|
+
,
|
|
68537
|
+
|
|
68538
|
+
"data-press-only": "",
|
|
68521
68539
|
ui: undefined,
|
|
68522
68540
|
className: "navi_picker_input",
|
|
68523
68541
|
pseudoClasses: PickerInputPseudoClasses,
|