@astryxdesign/core 0.7.6-canary.d669762 → 0.7.6-canary.df8928a
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/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +4 -37
- package/dist/Layer/useLayer.d.ts +1 -1
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +59 -93
- package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +6 -7
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +8 -21
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +0 -3
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +0 -1
- package/dist/gestures/GestureArena.d.ts +0 -6
- package/dist/gestures/GestureArena.d.ts.map +1 -1
- package/dist/gestures/GestureArena.js +0 -39
- package/dist/gestures/GestureRecognizer.d.ts +0 -10
- package/dist/gestures/GestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/GestureRecognizer.js +0 -16
- package/dist/gestures/LongPressGestureRecognizer.d.ts +0 -1
- package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/LongPressGestureRecognizer.js +0 -3
- package/dist/gestures/PanGestureRecognizer.d.ts +0 -1
- package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/PanGestureRecognizer.js +0 -3
- package/dist/gestures/PinchGestureRecognizer.d.ts +0 -1
- package/dist/gestures/PinchGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/PinchGestureRecognizer.js +0 -3
- package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts +0 -1
- package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/ScreenEdgePanGestureRecognizer.js +0 -3
- package/dist/gestures/SwipeGestureRecognizer.d.ts +0 -1
- package/dist/gestures/SwipeGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/SwipeGestureRecognizer.js +0 -3
- package/dist/gestures/TapGestureRecognizer.d.ts +0 -1
- package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/TapGestureRecognizer.js +0 -3
- package/dist/gestures/types.d.ts +0 -7
- package/dist/gestures/types.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/modalAnnounce.d.ts.map +1 -1
- package/dist/hooks/modalAnnounce.js +61 -107
- package/dist/hooks/useAnnounce.d.ts +42 -101
- package/dist/hooks/useAnnounce.d.ts.map +1 -1
- package/dist/hooks/useAnnounce.js +75 -161
- package/dist/hooks/useAnnounceRenderedText.d.ts +3 -11
- package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
- package/dist/hooks/useAnnounceRenderedText.js +3 -5
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +12 -6
- package/package.json +4 -4
- package/src/ClickableCard/ClickableCard.test.tsx +0 -96
- package/src/ClickableCard/ClickableCard.tsx +4 -48
- package/src/Kbd/Kbd.spec.md +38 -81
- package/src/Layer/useLayer.test.tsx +1 -348
- package/src/Layer/useLayer.tsx +71 -118
- package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +8 -7
- package/src/MultiSelector/MultiSelector.test.tsx +0 -152
- package/src/MultiSelector/MultiSelector.tsx +8 -19
- package/src/TopNav/TopNavMegaMenu.test.tsx +0 -21
- package/src/TopNav/TopNavMegaMenu.tsx +1 -4
- package/src/TopNav/TopNavMenu.test.tsx +0 -17
- package/src/TopNav/TopNavMenu.tsx +0 -1
- package/src/gestures/GestureArena.ts +0 -35
- package/src/gestures/GestureRecognizer.ts +0 -18
- package/src/gestures/LongPressGestureRecognizer.ts +0 -4
- package/src/gestures/PanGestureRecognizer.ts +0 -4
- package/src/gestures/PinchGestureRecognizer.ts +0 -4
- package/src/gestures/ScreenEdgePanGestureRecognizer.ts +0 -4
- package/src/gestures/SwipeGestureRecognizer.ts +0 -4
- package/src/gestures/TapGestureRecognizer.ts +0 -4
- package/src/gestures/__tests__/arena.test.ts +0 -5
- package/src/gestures/__tests__/arenaPinchSwipeEdge.test.ts +0 -5
- package/src/gestures/types.ts +0 -7
- package/src/hooks/index.ts +1 -5
- package/src/hooks/modalAnnounce.ts +72 -129
- package/src/hooks/useAnnounce.doc.mjs +3 -35
- package/src/hooks/useAnnounce.ts +102 -209
- package/src/hooks/useAnnounceRenderedText.ts +3 -17
- package/src/hooks/useBusyAnnouncement.ts +10 -7
- package/dist/Layer/popoverOperations.d.ts +0 -27
- package/dist/Layer/popoverOperations.d.ts.map +0 -1
- package/dist/Layer/popoverOperations.js +0 -159
- package/dist/gestures/GestureHost.d.ts +0 -352
- package/dist/gestures/GestureHost.d.ts.map +0 -1
- package/dist/gestures/GestureHost.js +0 -1773
- package/dist/gestures/haptics.d.ts +0 -65
- package/dist/gestures/haptics.d.ts.map +0 -1
- package/dist/gestures/haptics.js +0 -182
- package/dist/gestures/nativeScroll.d.ts +0 -42
- package/dist/gestures/nativeScroll.d.ts.map +0 -1
- package/dist/gestures/nativeScroll.js +0 -228
- package/dist/gestures/touchAction.d.ts +0 -60
- package/dist/gestures/touchAction.d.ts.map +0 -1
- package/dist/gestures/touchAction.js +0 -157
- package/dist/gestures/touchActionRule.d.ts +0 -34
- package/dist/gestures/touchActionRule.d.ts.map +0 -1
- package/dist/gestures/touchActionRule.js +0 -140
- package/dist/utils/primaryClick.d.ts +0 -11
- package/dist/utils/primaryClick.d.ts.map +0 -1
- package/dist/utils/primaryClick.js +0 -25
- package/src/Layer/__tests__/LayerBrowserHide.a11y.chromium.spec.ts +0 -126
- package/src/Layer/popoverOperations.test.ts +0 -205
- package/src/Layer/popoverOperations.ts +0 -172
- package/src/gestures/GestureHost.ts +0 -2065
- package/src/gestures/__tests__/GestureHost.test.ts +0 -2087
- package/src/gestures/__tests__/browser/build-fixture.mjs +0 -46
- package/src/gestures/__tests__/browser/fixture.ts +0 -307
- package/src/gestures/__tests__/browser/gestures.interaction.browser.spec.ts +0 -1137
- package/src/gestures/__tests__/browserNegotiation.test.ts +0 -293
- package/src/gestures/__tests__/haptics.test.ts +0 -187
- package/src/gestures/__tests__/recognizerKind.test.ts +0 -78
- package/src/gestures/__tests__/touchActionRule.test.ts +0 -54
- package/src/gestures/haptics.ts +0 -203
- package/src/gestures/nativeScroll.ts +0 -277
- package/src/gestures/touchAction.ts +0 -191
- package/src/gestures/touchActionRule.ts +0 -157
- package/src/hooks/useAnnounce.replace.test.tsx +0 -516
- package/src/utils/primaryClick.test.ts +0 -38
- package/src/utils/primaryClick.ts +0 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickableCard.d.ts","sourceRoot":"","sources":["../../src/ClickableCard/ClickableCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ClickableCard.d.ts","sourceRoot":"","sources":["../../src/ClickableCard/ClickableCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAE,KAAK,UAAU,EAAU,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AASxE,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAwJ5C,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAE1B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEnD;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,yBAAyB;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,IAAI,EACJ,MAAM,EACN,UAAkB,EAClB,QAAQ,EACR,OAAO,EACP,OAAmB,EACnB,SAAkB,EAClB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,aAAa,EACxB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,kBAAkB,+BAyFpB;yBA5Ge,aAAa"}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* For static display, use Card.
|
|
29
29
|
* For toggle selection, use SelectableCard.
|
|
30
30
|
*/
|
|
31
|
-
import {
|
|
31
|
+
import { useRef } from 'react';
|
|
32
32
|
import * as stylex from '@stylexjs/stylex';
|
|
33
33
|
import "../theme/tokens.stylex.js";
|
|
34
34
|
import { borderVars, colorVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
@@ -166,36 +166,6 @@ export function ClickableCard({
|
|
|
166
166
|
const pressable = usePressFeedback();
|
|
167
167
|
const containerRef = useRef(null);
|
|
168
168
|
const interactiveRef = useRef(null);
|
|
169
|
-
const restoreFocusRef = useRef(false);
|
|
170
|
-
// The isDisabled value of the link that just detached: a link card that
|
|
171
|
-
// flips it replaces its hidden link (router component and plain anchor),
|
|
172
|
-
// and only that replacement takes focus back.
|
|
173
|
-
const detachedDisabledRef = useRef(null);
|
|
174
|
-
|
|
175
|
-
// A focused link remounts when isDisabled changes: the replacement takes
|
|
176
|
-
// focus back, without scrolling, if focus fell to the page. Any other
|
|
177
|
-
// detach and attach (a hidden Activity or Suspense boundary revealed
|
|
178
|
-
// again) leaves focus where the person put it.
|
|
179
|
-
const setInteractiveRef = useCallback(node => {
|
|
180
|
-
if (node == null) {
|
|
181
|
-
const previous = interactiveRef.current;
|
|
182
|
-
restoreFocusRef.current = previous != null && previous === previous.ownerDocument.activeElement;
|
|
183
|
-
detachedDisabledRef.current = isDisabled;
|
|
184
|
-
interactiveRef.current = null;
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
interactiveRef.current = node;
|
|
188
|
-
const isFlip = detachedDisabledRef.current != null && detachedDisabledRef.current !== isDisabled;
|
|
189
|
-
const active = node.ownerDocument.activeElement;
|
|
190
|
-
const hasFallen = active == null || active === node.ownerDocument.body;
|
|
191
|
-
if (restoreFocusRef.current && isFlip && hasFallen) {
|
|
192
|
-
node.focus({
|
|
193
|
-
preventScroll: true
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
restoreFocusRef.current = false;
|
|
197
|
-
detachedDisabledRef.current = null;
|
|
198
|
-
}, [isDisabled]);
|
|
199
169
|
const LinkComponent = useLinkComponent();
|
|
200
170
|
const {
|
|
201
171
|
onClick,
|
|
@@ -214,9 +184,6 @@ export function ClickableCard({
|
|
|
214
184
|
} : onMouseUp;
|
|
215
185
|
const isLink = href != null;
|
|
216
186
|
|
|
217
|
-
// Disabled links have no href, so bypass the router and render an anchor.
|
|
218
|
-
const LinkRoot = isDisabled ? 'a' : LinkComponent;
|
|
219
|
-
|
|
220
187
|
// Only the `default` variant has a visible border. Card draws a transparent
|
|
221
188
|
// 1px border on every other variant purely to avoid layout jitter; we drop
|
|
222
189
|
// it here so the hover overlay covers the full box with no untinted ring.
|
|
@@ -240,8 +207,8 @@ export function ClickableCard({
|
|
|
240
207
|
onClick: !isDisabled ? onClick : undefined,
|
|
241
208
|
onMouseUp: !isDisabled ? handleMouseUp : undefined,
|
|
242
209
|
...props,
|
|
243
|
-
children: [isLink ? /*#__PURE__*/_jsx(
|
|
244
|
-
ref:
|
|
210
|
+
children: [isLink ? /*#__PURE__*/_jsx(LinkComponent, {
|
|
211
|
+
ref: interactiveRef,
|
|
245
212
|
href: isDisabled ? undefined : href,
|
|
246
213
|
target: isDisabled ? undefined : target,
|
|
247
214
|
role: isDisabled ? 'link' : undefined,
|
|
@@ -255,7 +222,7 @@ export function ClickableCard({
|
|
|
255
222
|
className: "x10l6tqk x1i1rx1s xjm9jq1 x1717udv xkdpibf xb3r6kr xzpqnlu xuxw1ft xc342km"
|
|
256
223
|
}
|
|
257
224
|
}) : /*#__PURE__*/_jsx("button", {
|
|
258
|
-
ref:
|
|
225
|
+
ref: interactiveRef,
|
|
259
226
|
type: "button",
|
|
260
227
|
"aria-label": label,
|
|
261
228
|
"aria-disabled": isDisabled || undefined,
|
package/dist/Layer/useLayer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file useLayer.tsx
|
|
3
|
-
* @input Uses React hooks, Popover API
|
|
3
|
+
* @input Uses React hooks, Popover API, CSS anchor positioning, shared text/provider boundaries
|
|
4
4
|
* @output Exports the public useLayer hook plus internal trigger helpers.
|
|
5
5
|
* @position Core layer utility; used by useHoverCard, useTooltip, etc.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAQZ,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useLayer.d.ts","sourceRoot":"","sources":["../../src/Layer/useLayer.tsx"],"names":[],"mappings":"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"}
|
package/dist/Layer/useLayer.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file useLayer.tsx
|
|
7
|
-
* @input Uses React hooks, Popover API
|
|
7
|
+
* @input Uses React hooks, Popover API, CSS anchor positioning, shared text/provider boundaries
|
|
8
8
|
* @output Exports the public useLayer hook plus internal trigger helpers.
|
|
9
9
|
* @position Core layer utility; used by useHoverCard, useTooltip, etc.
|
|
10
10
|
*
|
|
@@ -26,7 +26,6 @@ import "./layerViewportInset.stylex.js";
|
|
|
26
26
|
import { layerViewportInset } from "./layerViewportInset.stylex.js";
|
|
27
27
|
import { layerInsetProperties } from "./layerInset.js";
|
|
28
28
|
import { LAYER_CLEARANCE_PROPERTY, LAYER_CLEARS_ANCHOR_ATTRIBUTE, LAYER_SCROLLS_ATTRIBUTE, LAYER_CLEAR_FALLBACKS_PROPERTY, LAYER_TRY_FALLBACKS_PROPERTY, ensureSlideRules, getAnchorClearFallbacks, slideRuleName } from "./layerSlideRules.js";
|
|
29
|
-
import { afterPopoverOperations, isBrowserHideInFlight, isPopoverOperationInFlight, observeBrowserHide, runPopoverOperation } from "./popoverOperations.js";
|
|
30
29
|
import { preserveAnimations } from "./preserveAnimations.js";
|
|
31
30
|
import { useLayerContext } from "./LayerContext.js";
|
|
32
31
|
import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
|
|
@@ -501,6 +500,35 @@ function observeAnchorClearance(layer, anchor, isCurrent) {
|
|
|
501
500
|
};
|
|
502
501
|
}
|
|
503
502
|
|
|
503
|
+
/**
|
|
504
|
+
* Popover operations in flight, per document.
|
|
505
|
+
*
|
|
506
|
+
* The Popover API refuses to show a popover while the document is in the
|
|
507
|
+
* middle of showing or hiding ANY popover: `showPopover()` throws an
|
|
508
|
+
* `InvalidStateError` ("Invalid to show a popover during another show
|
|
509
|
+
* operation"); an engine still rolling the rule out instead refuses silently
|
|
510
|
+
* with a console warning, which would leave this hook open with nothing
|
|
511
|
+
* shown. Hiding a popover restores focus to the element that had it —
|
|
512
|
+
* synchronously, inside that window — so a focus-driven layer on the element
|
|
513
|
+
* receiving focus (a tooltip on the trigger that just closed a popover) asks
|
|
514
|
+
* to show while the hide is still running. Every layer's show and hide passes
|
|
515
|
+
* through here, so the window is observable: a `show()` that arrives inside
|
|
516
|
+
* it is replayed in a microtask, which runs once the script that started the
|
|
517
|
+
* operation — and the event dispatch it answered — has unwound.
|
|
518
|
+
*/
|
|
519
|
+
const popoverOperationsByDocument = new WeakMap();
|
|
520
|
+
function runPopoverOperation(doc, operation) {
|
|
521
|
+
popoverOperationsByDocument.set(doc, (popoverOperationsByDocument.get(doc) ?? 0) + 1);
|
|
522
|
+
try {
|
|
523
|
+
operation();
|
|
524
|
+
} finally {
|
|
525
|
+
popoverOperationsByDocument.set(doc, (popoverOperationsByDocument.get(doc) ?? 1) - 1);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
function isPopoverOperationInFlight(doc) {
|
|
529
|
+
return (popoverOperationsByDocument.get(doc) ?? 0) > 0;
|
|
530
|
+
}
|
|
531
|
+
|
|
504
532
|
/**
|
|
505
533
|
* Where a context layer is hosted, published to the one component that
|
|
506
534
|
* renders it. The hook resolves the mount from the marker's parent once the
|
|
@@ -823,56 +851,34 @@ function useLayerImplementation(options) {
|
|
|
823
851
|
const gesture = currentGesture();
|
|
824
852
|
return dismissedByGestureRef.current === gesture;
|
|
825
853
|
}, []);
|
|
826
|
-
|
|
827
|
-
/**
|
|
828
|
-
* Asks the browser to show the popover. Returns false when the browser
|
|
829
|
-
* refused with an `InvalidStateError` while a hide it runs itself is still
|
|
830
|
-
* in flight (the ledger counts it from `beforetoggle`); the caller then
|
|
831
|
-
* replays the show once that hide has ended. Any other failure, and a
|
|
832
|
-
* refusal outside such a hide, reaches the caller: a replay runs outside
|
|
833
|
-
* the hide, so one that fails is not caught here.
|
|
834
|
-
*/
|
|
835
854
|
const showPopoverElement = useCallback(popover => {
|
|
836
855
|
// Finding infra-4: the Popover API is unsupported on Safari <17 and
|
|
837
856
|
// Firefox <125. On those browsers `showPopover` does not exist, so fall
|
|
838
857
|
// back to plain visibility instead of throwing.
|
|
839
858
|
if (typeof popover.showPopover === 'function') {
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
const trigger = triggerRef.current;
|
|
858
|
-
const triggerView = trigger?.ownerDocument.defaultView;
|
|
859
|
-
popover.showPopover({
|
|
860
|
-
source: triggerView != null && trigger instanceof triggerView.HTMLElement ? trigger : undefined
|
|
861
|
-
});
|
|
859
|
+
runPopoverOperation(popover.ownerDocument, () => {
|
|
860
|
+
// The trigger is passed as the popover's invoker `source`: a layer
|
|
861
|
+
// hosted away from its trigger then still takes its sequential focus
|
|
862
|
+
// order (and its popover nesting) from the trigger rather than from
|
|
863
|
+
// its own DOM position. Browsers without the option ignore it.
|
|
864
|
+
// `source` is declared as an `HTMLElement`. A caller-rendered icon
|
|
865
|
+
// trigger is an `SVGElement`, whose dictionary conversion throws
|
|
866
|
+
// before the popover opens. Omitting the option for it still anchors
|
|
867
|
+
// the layer, because positioning reads the anchor-name pair, and only
|
|
868
|
+
// gives up the invoker's focus order. The check asks the trigger's own
|
|
869
|
+
// window: an HTML trigger rendered into another document (an iframe,
|
|
870
|
+
// a Picture-in-Picture window) is not an instance of this window's
|
|
871
|
+
// `HTMLElement`, and keeps its source.
|
|
872
|
+
const trigger = triggerRef.current;
|
|
873
|
+
const triggerView = trigger?.ownerDocument.defaultView;
|
|
874
|
+
popover.showPopover({
|
|
875
|
+
source: triggerView != null && trigger instanceof triggerView.HTMLElement ? trigger : undefined
|
|
862
876
|
});
|
|
863
|
-
}
|
|
864
|
-
// The name, not the constructor: a popover in another document throws
|
|
865
|
-
// that document's `DOMException`.
|
|
866
|
-
if (duringBrowserHide && error?.name === 'InvalidStateError') {
|
|
867
|
-
return false;
|
|
868
|
-
}
|
|
869
|
-
throw error;
|
|
870
|
-
}
|
|
877
|
+
});
|
|
871
878
|
} else {
|
|
872
879
|
popover.style.display = 'block';
|
|
873
880
|
}
|
|
874
881
|
openedPopoverRef.current = popover;
|
|
875
|
-
return true;
|
|
876
882
|
}, []);
|
|
877
883
|
const isCurrentContextPopover = useCallback(popover => {
|
|
878
884
|
if (mode !== 'context') {
|
|
@@ -964,35 +970,23 @@ function useLayerImplementation(options) {
|
|
|
964
970
|
return;
|
|
965
971
|
}
|
|
966
972
|
if (!isOpenRef.current) {
|
|
967
|
-
|
|
973
|
+
// Another popover is mid show/hide (typically one whose hide is handing
|
|
974
|
+
// focus back to this layer's trigger): the browser would refuse the
|
|
975
|
+
// show, so replay this call once that operation has returned.
|
|
976
|
+
if (isPopoverOperationInFlight(popover.ownerDocument)) {
|
|
968
977
|
pendingShowRef.current = true;
|
|
969
|
-
|
|
978
|
+
queueMicrotask(() => {
|
|
970
979
|
if (pendingShowRef.current) {
|
|
971
980
|
pendingShowRef.current = false;
|
|
972
981
|
showRef.current();
|
|
973
982
|
}
|
|
974
983
|
});
|
|
975
|
-
};
|
|
976
|
-
// Another layer's own show or hide is running (typically a hide that is
|
|
977
|
-
// handing focus back to this layer's trigger): the browser would refuse
|
|
978
|
-
// the show, so replay this call once that operation has returned.
|
|
979
|
-
if (isPopoverOperationInFlight(popover.ownerDocument)) {
|
|
980
|
-
replayWhenSettled();
|
|
981
984
|
return;
|
|
982
985
|
}
|
|
983
986
|
popover.removeAttribute(LAYER_CLEARS_ANCHOR_ATTRIBUTE);
|
|
984
987
|
popover.removeAttribute(LAYER_SCROLLS_ATTRIBUTE);
|
|
985
988
|
applyDeferredWritingContext(popover);
|
|
986
|
-
|
|
987
|
-
// is counted too, from `beforetoggle` until the element's `toggle`, a
|
|
988
|
-
// task after the hide has returned. The show is asked of the browser
|
|
989
|
-
// first, because the browser accepts it once its hide has returned (a
|
|
990
|
-
// light dismiss at pointerup, then this show at the click); only a show
|
|
991
|
-
// it refuses replays once the hide's count has ended.
|
|
992
|
-
if (!showPopoverElement(popover)) {
|
|
993
|
-
replayWhenSettled();
|
|
994
|
-
return;
|
|
995
|
-
}
|
|
989
|
+
showPopoverElement(popover);
|
|
996
990
|
if (keepsAnchorClear) {
|
|
997
991
|
keepAnchorClear(popover, triggerRef.current);
|
|
998
992
|
}
|
|
@@ -1124,21 +1118,6 @@ function useLayerImplementation(options) {
|
|
|
1124
1118
|
// The isOpenRef guard prevents double-firing: when our hide() already set
|
|
1125
1119
|
// the ref to false, the subsequent toggle event (which the browser fires
|
|
1126
1120
|
// as a side-effect of hidePopover) sees false and skips.
|
|
1127
|
-
// A hide the browser runs itself (light dismiss, popover="auto" stack
|
|
1128
|
-
// eviction, an Escape its close watcher answers) never passes through
|
|
1129
|
-
// hide(), so the ledger of popover operations would not know the document
|
|
1130
|
-
// is mid-hide, and a layer that the hide's focus restore wakes would ask the
|
|
1131
|
-
// browser to show inside it. `beforetoggle` fires synchronously as such a
|
|
1132
|
-
// hide starts; the ledger counts the hide from there until the element's
|
|
1133
|
-
// own `toggle`, independent of this hook's bindings, which a render inside
|
|
1134
|
-
// the hide can replace.
|
|
1135
|
-
const handleBeforeToggle = useCallback(e => {
|
|
1136
|
-
const toggleEvent = e;
|
|
1137
|
-
const el = e.currentTarget;
|
|
1138
|
-
if (toggleEvent.newState === 'closed' && isOpenRef.current && el != null) {
|
|
1139
|
-
observeBrowserHide(el);
|
|
1140
|
-
}
|
|
1141
|
-
}, []);
|
|
1142
1121
|
const handleToggle = useCallback(e => {
|
|
1143
1122
|
const toggleEvent = e;
|
|
1144
1123
|
if (toggleEvent.newState === 'closed' && isOpenRef.current) {
|
|
@@ -1161,17 +1140,15 @@ function useLayerImplementation(options) {
|
|
|
1161
1140
|
const bindToggleListener = useCallback((el, handler) => {
|
|
1162
1141
|
if (listenedElRef.current && listenedHandlerRef.current && (listenedElRef.current !== el || listenedHandlerRef.current !== handler)) {
|
|
1163
1142
|
listenedElRef.current.removeEventListener('toggle', listenedHandlerRef.current);
|
|
1164
|
-
listenedElRef.current.removeEventListener('beforetoggle', handleBeforeToggle);
|
|
1165
1143
|
listenedElRef.current = null;
|
|
1166
1144
|
listenedHandlerRef.current = null;
|
|
1167
1145
|
}
|
|
1168
1146
|
if (el && listenedElRef.current !== el) {
|
|
1169
1147
|
el.addEventListener('toggle', handler);
|
|
1170
|
-
el.addEventListener('beforetoggle', handleBeforeToggle);
|
|
1171
1148
|
listenedElRef.current = el;
|
|
1172
1149
|
listenedHandlerRef.current = handler;
|
|
1173
1150
|
}
|
|
1174
|
-
}, [
|
|
1151
|
+
}, []);
|
|
1175
1152
|
const popoverRefCallback = useCallback(el => {
|
|
1176
1153
|
popoverRef.current = el;
|
|
1177
1154
|
bindToggleListener(el, handleToggle);
|
|
@@ -1181,19 +1158,9 @@ function useLayerImplementation(options) {
|
|
|
1181
1158
|
} else if (el && isOpenRef.current && openedPopoverRef.current !== el && isCurrentContextPopover(el)) {
|
|
1182
1159
|
// Changing a portal target remounts the popover. Preserve the logical
|
|
1183
1160
|
// open state without firing onShow again for the replacement element.
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
if (keepsAnchorClear) {
|
|
1188
|
-
keepAnchorClear(el, triggerRef.current);
|
|
1189
|
-
}
|
|
1190
|
-
} else {
|
|
1191
|
-
afterPopoverOperations(el.ownerDocument, () => {
|
|
1192
|
-
const current = popoverRef.current;
|
|
1193
|
-
if (isOpenRef.current && current === el && openedPopoverRef.current !== el && showPopoverElement(el) && keepsAnchorClear) {
|
|
1194
|
-
keepAnchorClear(el, triggerRef.current);
|
|
1195
|
-
}
|
|
1196
|
-
});
|
|
1161
|
+
showPopoverElement(el);
|
|
1162
|
+
if (keepsAnchorClear) {
|
|
1163
|
+
keepAnchorClear(el, triggerRef.current);
|
|
1197
1164
|
}
|
|
1198
1165
|
}
|
|
1199
1166
|
}, [handleToggle, bindToggleListener, show, showPopoverElement, isCurrentContextPopover, keepsAnchorClear]);
|
|
@@ -1216,12 +1183,11 @@ function useLayerImplementation(options) {
|
|
|
1216
1183
|
return () => {
|
|
1217
1184
|
if (listenedElRef.current && listenedHandlerRef.current) {
|
|
1218
1185
|
listenedElRef.current.removeEventListener('toggle', listenedHandlerRef.current);
|
|
1219
|
-
listenedElRef.current.removeEventListener('beforetoggle', handleBeforeToggle);
|
|
1220
1186
|
listenedElRef.current = null;
|
|
1221
1187
|
listenedHandlerRef.current = null;
|
|
1222
1188
|
}
|
|
1223
1189
|
};
|
|
1224
|
-
}, [handleToggle, bindToggleListener
|
|
1190
|
+
}, [handleToggle, bindToggleListener]);
|
|
1225
1191
|
|
|
1226
1192
|
// Anchor visibility (FR5). The first frame must already be right (FR8), so
|
|
1227
1193
|
// the opening read is synchronous — a layout effect runs before paint, and a
|
|
@@ -58,11 +58,10 @@ async function politeSince(page, since) {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
|
-
* Matches a polite region whose newest message is `message`. Messages
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* (its `hasReplace` announcer), so they are read whole.
|
|
61
|
+
* Matches a polite region whose newest message is `message`. Messages written
|
|
62
|
+
* before the region exposes the previous one are joined in order
|
|
63
|
+
* (spec:AST-086 FR9), so typing faster than a frame can leave the previous
|
|
64
|
+
* keystroke's message ahead of the one under test.
|
|
66
65
|
*/
|
|
67
66
|
function newestMessage(message) {
|
|
68
67
|
const escaped = message.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
@@ -85,7 +84,7 @@ test('the create row is announced as it appears and the highlight survives it va
|
|
|
85
84
|
// "Bu": a partial match plus the create row above it.
|
|
86
85
|
await search.pressSequentially('Bu');
|
|
87
86
|
await expect(page.getByRole('option')).toHaveText(['Create "Bu"', 'Bug']);
|
|
88
|
-
await expect.poll(async () => politeSince(page, 0)).
|
|
87
|
+
await expect.poll(async () => politeSince(page, 0)).toMatch(newestMessage('1 result'));
|
|
89
88
|
|
|
90
89
|
// Highlight the create row, then type the letter that makes it vanish: the
|
|
91
90
|
// highlight must not be left pointing at a row that no longer exists.
|
|
@@ -103,7 +102,7 @@ test('the create row is announced as it appears and the highlight survives it va
|
|
|
103
102
|
await search.fill('');
|
|
104
103
|
await search.pressSequentially('Urgent');
|
|
105
104
|
await expect(page.getByRole('option')).toHaveText(['Create "Urgent"']);
|
|
106
|
-
await expect.poll(async () => politeSince(page, beforeUrgent)).
|
|
105
|
+
await expect.poll(async () => politeSince(page, beforeUrgent)).toMatch(newestMessage('Create "Urgent"'));
|
|
107
106
|
|
|
108
107
|
// Enter commits: the caller adds the option, the search clears, and the new
|
|
109
108
|
// label is a real row.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelector.d.ts","sourceRoot":"","sources":["../../src/MultiSelector/MultiSelector.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiSelector.d.ts","sourceRoot":"","sources":["../../src/MultiSelector/MultiSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -735,28 +735,20 @@ export function MultiSelector({
|
|
|
735
735
|
// Announce the filtered result count from the query-change handler (matching
|
|
736
736
|
// BaseTypeahead) rather than a reactive effect: computing the count for the
|
|
737
737
|
// next query here fires the announcement exactly once per keystroke and does
|
|
738
|
-
// not re-speak on unrelated re-renders.
|
|
739
|
-
//
|
|
740
|
-
// through the search's own `hasReplace` announcer: one the next keystroke
|
|
741
|
-
// replaces before it is exposed is withdrawn rather than joined
|
|
742
|
-
// (`spec:AST-086` FR9, FR13), and keystrokes arriving within one frame,
|
|
743
|
-
// from a scanner, dictation or automation, say only the last query's.
|
|
744
|
-
// Selection changes keep the plain announcer above, so they still join.
|
|
745
|
-
const announceSearch = useAnnounce({
|
|
746
|
-
hasReplace: true
|
|
747
|
-
});
|
|
738
|
+
// not re-speak on unrelated re-renders. Reuses the announce instance shared
|
|
739
|
+
// with the selection-count announcements above.
|
|
748
740
|
const handleSearchChange = useCallback(nextQuery => {
|
|
749
741
|
setSearchQuery(nextQuery);
|
|
750
742
|
if (nextQuery.length === 0) {
|
|
751
743
|
// Emptying the query clears the region rather than announcing a count.
|
|
752
|
-
|
|
744
|
+
announce('');
|
|
753
745
|
return;
|
|
754
746
|
}
|
|
755
747
|
// While isLoading the panel deliberately shows nothing, so announcing a
|
|
756
748
|
// result would put a claim in the one channel the screen has gone quiet
|
|
757
749
|
// for.
|
|
758
750
|
if (isLoading) {
|
|
759
|
-
|
|
751
|
+
announce('');
|
|
760
752
|
return;
|
|
761
753
|
}
|
|
762
754
|
const count = filterOptionsByQuery(selectableItems, nextQuery).length;
|
|
@@ -766,7 +758,7 @@ export function MultiSelector({
|
|
|
766
758
|
// The create row is the one result on screen, so the panel is not
|
|
767
759
|
// empty and the rendered-message route below stays silent; say the
|
|
768
760
|
// row.
|
|
769
|
-
|
|
761
|
+
announce(t('@astryx.multiSelector.createOption', {
|
|
770
762
|
query: nextCreateQuery
|
|
771
763
|
}));
|
|
772
764
|
return;
|
|
@@ -777,10 +769,10 @@ export function MultiSelector({
|
|
|
777
769
|
// keystroke — an async load landing with nothing that matches.
|
|
778
770
|
return;
|
|
779
771
|
}
|
|
780
|
-
|
|
772
|
+
announce(t('@astryx.multiSelector.resultCount', {
|
|
781
773
|
count
|
|
782
774
|
}));
|
|
783
|
-
}, [
|
|
775
|
+
}, [announce, isLoading, selectableItems, getCreateQuery, t]);
|
|
784
776
|
|
|
785
777
|
// The panel's empty message is role="presentation" — role="listbox" permits
|
|
786
778
|
// only option and group children — so this region is its only route to
|
|
@@ -803,12 +795,7 @@ export function MultiSelector({
|
|
|
803
795
|
const leadingCount = (hasCreateRow ? 1 : 0) + (hasSelectAll ? 1 : 0);
|
|
804
796
|
const realItemCount = sortedItems.length - leadingCount;
|
|
805
797
|
const isPanelEmpty = surface.isOpen && !isLoading && realItemCount === 0 && !hasCreateRow;
|
|
806
|
-
|
|
807
|
-
// so it and the count replace each other while not yet exposed
|
|
808
|
-
// (`spec:AST-086` FR13).
|
|
809
|
-
useAnnounceRenderedText(emptyStateRef, isPanelEmpty, searchQuery, {
|
|
810
|
-
announce: announceSearch
|
|
811
|
-
});
|
|
798
|
+
useAnnounceRenderedText(emptyStateRef, isPanelEmpty, searchQuery);
|
|
812
799
|
|
|
813
800
|
// Handle toggle
|
|
814
801
|
// Clear all selected values. Shared by the clear button and the keyboard
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopNavMegaMenu.d.ts","sourceRoot":"","sources":["../../src/TopNav/TopNavMegaMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAkBf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAiO5C,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACvE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAW,EACX,SAAe,EACf,YAAY,EACZ,GAAG,IAAI,EACR,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"TopNavMegaMenu.d.ts","sourceRoot":"","sources":["../../src/TopNav/TopNavMegaMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAkBf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAiO5C,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACvE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAW,EACX,SAAe,EACf,YAAY,EACZ,GAAG,IAAI,EACR,EAAE,mBAAmB,4BAuCrB;yBAhDe,cAAc"}
|
|
@@ -217,7 +217,6 @@ export function TopNavMegaMenu({
|
|
|
217
217
|
// =========================================================================
|
|
218
218
|
if (renderMode === 'drawer') {
|
|
219
219
|
return /*#__PURE__*/_jsx(DrawerMegaMenu, {
|
|
220
|
-
ref: ref,
|
|
221
220
|
label: label,
|
|
222
221
|
items: items,
|
|
223
222
|
featured: featured,
|
|
@@ -376,7 +375,6 @@ function DefaultMegaMenu({
|
|
|
376
375
|
// =============================================================================
|
|
377
376
|
|
|
378
377
|
function DrawerMegaMenu({
|
|
379
|
-
ref,
|
|
380
378
|
label,
|
|
381
379
|
items,
|
|
382
380
|
featured,
|
|
@@ -394,7 +392,6 @@ function DrawerMegaMenu({
|
|
|
394
392
|
className: "x78zum5 xdt5ytf"
|
|
395
393
|
},
|
|
396
394
|
children: [/*#__PURE__*/_jsxs("button", {
|
|
397
|
-
ref: ref,
|
|
398
395
|
type: "button",
|
|
399
396
|
...rest,
|
|
400
397
|
onClick: composeEventHandlers(onClickProp, () => setIsExpanded(v => !v)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopNavMenu.d.ts","sourceRoot":"","sources":["../../src/TopNav/TopNavMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoN5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACnE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAW,EACX,SAAe,EACf,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,GAAG,IAAI,EACR,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"TopNavMenu.d.ts","sourceRoot":"","sources":["../../src/TopNav/TopNavMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAoN5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACnE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAW,EACX,SAAe,EACf,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,GAAG,IAAI,EACR,EAAE,eAAe,4BAqSjB;yBAlTe,UAAU"}
|
|
@@ -97,12 +97,6 @@ export declare class GestureArena {
|
|
|
97
97
|
get involvedRecognizers(): ReadonlyArray<GestureRecognizer>;
|
|
98
98
|
/** New contacts, each with the recognizers on its hit path. */
|
|
99
99
|
began(inputs: ReadonlyArray<ArenaBeganInput>): void;
|
|
100
|
-
/**
|
|
101
|
-
* A contact began where nothing takes part (plain page content). It is
|
|
102
|
-
* never tracked and stays the browser's; recognizers already tracking a
|
|
103
|
-
* gesture hear of it, as of any touch off their hit path.
|
|
104
|
-
*/
|
|
105
|
-
untrackedBegan(input: TouchBeganInput): void;
|
|
106
100
|
/** Contacts moved. */
|
|
107
101
|
moved(inputs: ReadonlyArray<TouchInput>): void;
|
|
108
102
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GestureArena.d.ts","sourceRoot":"","sources":["../../src/gestures/GestureArena.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,kBAAkB,EAElB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EAEX,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,YAAY;IAC3B,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAED,+EAA+E;AAC/E,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACvD,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACpD,qEAAqE;IACrE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClE,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CACb,UAAU,EAAE,iBAAiB,EAC7B,IAAI,EAAE,YAAY,EAClB,EAAE,EAAE,YAAY,KACb,IAAI,CAAC;CACX;AAoBD,qBAAa,YAAY;IACvB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,iBAAiB,CAA4B;IACrD,yEAAyE;IACzE,OAAO,CAAC,WAAW,CAAuB;IAC1C,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,KAAK,CAAK;gBAEN,OAAO,GAAE,mBAAwB;IAQ7C,2CAA2C;IAC3C,GAAG,IAAI,MAAM;IAIb,oFAAoF;IACpF,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI9B,mCAAmC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI9C,8EAA8E;IAC9E,IAAI,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC,CAEzC;IAED,+EAA+E;IAC/E,IAAI,mBAAmB,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAE1D;IAID,+DAA+D;IAC/D,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI;IA2FnD
|
|
1
|
+
{"version":3,"file":"GestureArena.d.ts","sourceRoot":"","sources":["../../src/gestures/GestureArena.ts"],"names":[],"mappings":"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"}
|
|
@@ -195,45 +195,6 @@ export class GestureArena {
|
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
/**
|
|
199
|
-
* A contact began where nothing takes part (plain page content). It is
|
|
200
|
-
* never tracked and stays the browser's; recognizers already tracking a
|
|
201
|
-
* gesture hear of it, as of any touch off their hit path.
|
|
202
|
-
*/
|
|
203
|
-
untrackedBegan(input) {
|
|
204
|
-
if (!this.active.some(recognizer => recognizer.numberOfTouches > 0)) {
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
this.run(input.time, () => {
|
|
208
|
-
const time = this.clampTime(input.time);
|
|
209
|
-
const touch = {
|
|
210
|
-
id: input.id,
|
|
211
|
-
pointerType: input.pointerType,
|
|
212
|
-
phase: 'began',
|
|
213
|
-
x: input.x,
|
|
214
|
-
y: input.y,
|
|
215
|
-
time,
|
|
216
|
-
startX: input.x,
|
|
217
|
-
startY: input.y,
|
|
218
|
-
startTime: time,
|
|
219
|
-
samples: [{
|
|
220
|
-
x: input.x,
|
|
221
|
-
y: input.y,
|
|
222
|
-
time
|
|
223
|
-
}],
|
|
224
|
-
target: input.target,
|
|
225
|
-
scroll: input.scroll ?? null,
|
|
226
|
-
takenByBrowser: false
|
|
227
|
-
};
|
|
228
|
-
const context = this.context();
|
|
229
|
-
for (const recognizer of [...this.active]) {
|
|
230
|
-
if (recognizer.numberOfTouches > 0) {
|
|
231
|
-
recognizer.deliverBeganElsewhere([touch], context);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
|
|
237
198
|
/** Contacts moved. */
|
|
238
199
|
moved(inputs) {
|
|
239
200
|
if (inputs.length === 0) {
|