@trebired/frontend 12.10.0 → 12.10.2
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/CHANGELOG.md +45 -0
- package/dist/inputs/advanced/dropdown/styles/portaled.scss +19 -0
- package/dist/layer/index.d.ts +6 -1
- package/dist/layer/index.d.ts.map +1 -1
- package/dist/layer/index.js +23 -2
- package/dist/layer/index.js.map +1 -1
- package/dist/primitives/styles/_card.scss +8 -0
- package/dist/spa/navigate.d.ts.map +1 -1
- package/dist/spa/navigate.js +19 -5
- package/dist/spa/navigate.js.map +1 -1
- package/dist/spa/overlay-dom.d.ts.map +1 -1
- package/dist/spa/overlay-dom.js +27 -2
- package/dist/spa/overlay-dom.js.map +1 -1
- package/dist/src/layer/index.d.ts +6 -1
- package/dist/src/layer/index.d.ts.map +1 -1
- package/dist/src/layer/index.js +23 -2
- package/dist/src/layer/index.js.map +1 -1
- package/dist/src/spa/navigate.d.ts.map +1 -1
- package/dist/src/spa/navigate.js +19 -5
- package/dist/src/spa/navigate.js.map +1 -1
- package/dist/src/spa/overlay-dom.d.ts.map +1 -1
- package/dist/src/spa/overlay-dom.js +27 -2
- package/dist/src/spa/overlay-dom.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,51 @@ All notable changes to `@trebired/frontend` will be documented here.
|
|
|
4
4
|
|
|
5
5
|
This project follows semantic versioning once published.
|
|
6
6
|
|
|
7
|
+
## 12.10.2
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- App-shell overlays (a header's notifications modal, the user menu) stopped working after
|
|
12
|
+
any soft navigation — their triggers stayed clickable but did nothing, because the
|
|
13
|
+
overlay element had been deleted from the DOM. `replaceContent()` sweeps portaled
|
|
14
|
+
overlays it considers stale, and judged staleness by "is this node inside the content
|
|
15
|
+
root being replaced?". A portaled node lives in a layer root and is therefore *never*
|
|
16
|
+
inside the content root, so the test matched every portaled overlay indiscriminately,
|
|
17
|
+
shell-owned ones included. It only bit overlays that had been opened at least once,
|
|
18
|
+
since opening is what portals them — which is why the failure looked arbitrary.
|
|
19
|
+
`portalElement()` now records where each element was portaled from, and the sweep
|
|
20
|
+
removes only overlays that originated inside the root being replaced. Overlays with no
|
|
21
|
+
recorded origin (authored inside a portal root, or created detached) are left alone.
|
|
22
|
+
- Chrome-hosted overlays re-rendered by `swapChrome()` (a sidebar's theme and language
|
|
23
|
+
menus) accumulated one duplicate copy per soft navigation. `reconcilePortaledDuplicates()`
|
|
24
|
+
is meant to collapse exactly this, but skipped any candidate satisfying
|
|
25
|
+
`root.contains(node)` — and it runs as `rehydrate(document)` during soft navigation,
|
|
26
|
+
where that is true of every node in the page, making it a no-op on the one path that
|
|
27
|
+
needed it. It now distinguishes copies by portal-root membership instead, so a freshly
|
|
28
|
+
rendered inline copy correctly supersedes the stale portaled one.
|
|
29
|
+
|
|
30
|
+
## 12.10.1
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- `.card-row[role="button"]` (the select-card layout used by `select()`, e.g. "Empty
|
|
35
|
+
repository" / "Upload or import" / "Clone repository" mode pickers) never showed
|
|
36
|
+
`cursor: pointer` despite being interactive — plain `cursor: auto` throughout. Added
|
|
37
|
+
`cursor: pointer` (and `cursor: not-allowed` for the `aria-disabled="true"` case).
|
|
38
|
+
- The static dropdown's options panel could render far from its trigger when flipped to
|
|
39
|
+
open *above* it, worse the more times the same dropdown was opened/closed. Root cause:
|
|
40
|
+
`.dropdown-list li` uses `content-visibility: auto` (a real perf win for long lists), but
|
|
41
|
+
right after the panel goes from collapsed to measured/shown, the browser doesn't always
|
|
42
|
+
have an up-to-date relevance check yet, so `positionStaticOptions()`'s
|
|
43
|
+
`getBoundingClientRect()` measurement could read a stale/placeholder height instead of
|
|
44
|
+
the option list's true rendered height — worse and inconsistent on repeated opens of the
|
|
45
|
+
same dropdown. The flip-above offset is computed directly from that height, so a wrong
|
|
46
|
+
measurement lands the panel well off from the trigger once flipped, overlapping whatever
|
|
47
|
+
else is on the page above it. Fixed by forcing `content-visibility: visible` on the list
|
|
48
|
+
items specifically while the panel is being measured or is shown (`data-dropdown-measuring`
|
|
49
|
+
/ `data-dropdown-show`), leaving `auto` deferral in place for the collapsed/hidden state
|
|
50
|
+
where it doesn't matter because nothing is visible anyway.
|
|
51
|
+
|
|
7
52
|
## 12.10.0
|
|
8
53
|
|
|
9
54
|
### Fixed
|
|
@@ -107,6 +107,25 @@
|
|
|
107
107
|
contain-intrinsic-height: auto var(--height-input);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* `content-visibility: auto` above defers layout of off-screen options for
|
|
112
|
+
* long lists, using `contain-intrinsic-height` as a placeholder size. Right
|
|
113
|
+
* after the panel goes from collapsed (see the zero-size rule below) to
|
|
114
|
+
* either being measured or shown, the browser hasn't always run the
|
|
115
|
+
* relevance check that would make it lay these out for real yet — so
|
|
116
|
+
* `getBoundingClientRect()` on the panel during `positionStaticOptions()`
|
|
117
|
+
* can read the placeholder-based (wrong, and inconsistent run to run) height
|
|
118
|
+
* instead of the true one, landing the panel far from its trigger once
|
|
119
|
+
* flipped above it. Forcing full layout only while genuinely measuring or
|
|
120
|
+
* shown keeps the (still real, list can be scrolled) auto behavior for the
|
|
121
|
+
* collapsed/hidden state, where it doesn't matter because nothing is visible
|
|
122
|
+
* anyway.
|
|
123
|
+
*/
|
|
124
|
+
.options[data-dropdown-portaled="true"][data-dropdown-measuring="true"] .dropdown-list li,
|
|
125
|
+
.options[data-dropdown-portaled="true"][data-dropdown-show="true"] .dropdown-list li {
|
|
126
|
+
content-visibility: visible;
|
|
127
|
+
}
|
|
128
|
+
|
|
110
129
|
.options[data-dropdown-portaled="true"] .dropdown-list li:hover {
|
|
111
130
|
background: var(#{ns.css-var("ui-dropdown-option-state-hover-bg")}, var(--background-surface-2, transparent));
|
|
112
131
|
}
|
package/dist/layer/index.d.ts
CHANGED
|
@@ -8,6 +8,11 @@ type ZIndexOptions = {
|
|
|
8
8
|
};
|
|
9
9
|
declare function ensureLayerRoot(): HTMLElement;
|
|
10
10
|
declare function mountLayerPortalElement(element: HTMLElement | null): HTMLElement;
|
|
11
|
+
/**
|
|
12
|
+
* The node this element was portaled out of, or null when it was never
|
|
13
|
+
* portaled (already sat in a portal root, or was created detached).
|
|
14
|
+
*/
|
|
15
|
+
declare function layerPortalOrigin(element: HTMLElement | null): Node;
|
|
11
16
|
declare function moveLayerElementToTop(element: HTMLElement | null): HTMLElement;
|
|
12
17
|
declare function stackZIndex(base?: number, depth?: number): number;
|
|
13
18
|
declare function resolveElementZIndex(element: HTMLElement | null, fallback?: any): any;
|
|
@@ -17,6 +22,6 @@ declare function promoteZIndex(element: HTMLElement | null, options?: ZIndexOpti
|
|
|
17
22
|
declare function clearZIndex(element: HTMLElement | null): void;
|
|
18
23
|
declare function bindPortals(root?: BindRoot): void;
|
|
19
24
|
declare function elementBySafeId(id: string): Element;
|
|
20
|
-
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
25
|
+
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, layerPortalOrigin, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
21
26
|
export type { ZIndexOptions };
|
|
22
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,aAAa,mBAAkC,CAAC;AACtD,QAAA,MAAM,YAAY,KAAK,CAAC;AAIxB,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iBAAS,eAAe,gBAiBvB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,aAAa,mBAAkC,CAAC;AACtD,QAAA,MAAM,YAAY,KAAK,CAAC;AAIxB,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iBAAS,eAAe,gBAiBvB;AAgCD,iBAAS,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,eAS3D;AAED;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,QAErD;AAED,iBAAS,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,eAIzD;AAOD,iBAAS,WAAW,CAAC,IAAI,SAAI,EAAE,KAAK,SAAI,UAIvC;AAYD,iBAAS,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,MAAO,OAMzE;AAqBD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,OAWlF;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,OAO5E;AAgBD,iBAAS,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,UAS9E;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,QAK/C;AAED,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,QAI7C;AAED,iBAAS,eAAe,CAAC,EAAE,EAAE,MAAM,WAElC;AAED,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,IAAI,aAAa,EACxC,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/layer/index.js
CHANGED
|
@@ -41,16 +41,37 @@ function installFullscreenLayerListener() {
|
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Where each element lived before it was portaled into the layer root.
|
|
46
|
+
*
|
|
47
|
+
* Portaling is destructive to provenance: once an overlay is moved into the
|
|
48
|
+
* layer root, nothing about the node says which part of the page owns it, and
|
|
49
|
+
* "is it inside the content root?" answers `false` for every portaled node —
|
|
50
|
+
* shell-owned ones (a header's notifications modal) exactly as much as ones
|
|
51
|
+
* belonging to the page content being replaced. Recording the original parent
|
|
52
|
+
* lets callers tell those apart instead of guessing from current position.
|
|
53
|
+
*/
|
|
54
|
+
const layerPortalOrigins = new WeakMap();
|
|
44
55
|
function mountLayerPortalElement(element) {
|
|
45
56
|
if (!element)
|
|
46
57
|
return null;
|
|
47
58
|
const root = ensureLayerRoot();
|
|
48
59
|
if (!root || element === root)
|
|
49
60
|
return root;
|
|
50
|
-
if (element.parentNode !== root)
|
|
61
|
+
if (element.parentNode !== root) {
|
|
62
|
+
if (element.parentNode)
|
|
63
|
+
layerPortalOrigins.set(element, element.parentNode);
|
|
51
64
|
root.appendChild(element);
|
|
65
|
+
}
|
|
52
66
|
return root;
|
|
53
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* The node this element was portaled out of, or null when it was never
|
|
70
|
+
* portaled (already sat in a portal root, or was created detached).
|
|
71
|
+
*/
|
|
72
|
+
function layerPortalOrigin(element) {
|
|
73
|
+
return element ? layerPortalOrigins.get(element) || null : null;
|
|
74
|
+
}
|
|
54
75
|
function moveLayerElementToTop(element) {
|
|
55
76
|
const root = mountLayerPortalElement(element);
|
|
56
77
|
if (root && element && element.parentNode === root)
|
|
@@ -170,5 +191,5 @@ function bindPortals(root = document) {
|
|
|
170
191
|
function elementBySafeId(id) {
|
|
171
192
|
return document.querySelector(`#${cssEscape(id)}`);
|
|
172
193
|
}
|
|
173
|
-
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
194
|
+
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, layerPortalOrigin, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
174
195
|
//# sourceMappingURL=index.js.map
|
package/dist/layer/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE3G,MAAM,aAAa,GAAG,GAAG,eAAe,aAAa,CAAC;AACtD,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAe,CAAC;AACtD,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAQxC,SAAS,eAAe;IACtB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,IAAI,QAAQ,YAAY,WAAW,EAAE,CAAC;QACpC,IAAI,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpF,8BAA8B,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;IACxB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,8BAA8B,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC9C,IAAI,UAAU,YAAY,WAAW;QAAE,OAAO,UAAU,CAAC;IACzD,OAAO,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC;AACnD,CAAC;AAED,SAAS,8BAA8B;IACrC,IAAI,2BAA2B,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC3E,2BAA2B,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,IAAI,IAAI,YAAY,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9E,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA2B;IAC1D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAe9C,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,WAAW,CAAC;AASnB,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AAKjE,iBAAS,iBAAiB,SAKzB;AAcD,iBAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,eAGlC;AAoED,iBAAS,SAAS,CAAC,IAAI,GAAE,QAAmB,QAM3C;AAkFD,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,oBAyBzE;AAED,iBAAS,UAAU,CAAC,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,oBAM5D;AA0CD,iBAAe,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,oBAUxD;AAED,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,UAAU,GACX,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/spa/navigate.js
CHANGED
|
@@ -3,7 +3,7 @@ import { frontendDataAttr, frontendDataSelector, frontendEventName, frontendToke
|
|
|
3
3
|
import { PORTALED_SELECTOR, runSpaRebind, spaConfig } from "./config.js";
|
|
4
4
|
import { runPageCleanups } from "./cleanup.js";
|
|
5
5
|
import { hasUnsavedWork } from "./guards.js";
|
|
6
|
-
import { removeStalePortaledOverlaysFromRoot } from "./overlay-dom.js";
|
|
6
|
+
import { overlayPortalRoots, removeStalePortaledOverlaysFromRoot, } from "./overlay-dom.js";
|
|
7
7
|
import { progress } from "../progress/index.js";
|
|
8
8
|
import { beginNavigation, emitPageChange, retargetNavigation, } from "./page.js";
|
|
9
9
|
import { captureFormState, captureWizardSteps, importChildNodes, restoreFormState, restoreWizardSteps, } from "./state.js";
|
|
@@ -64,17 +64,31 @@ function isOpenOverlay(element) {
|
|
|
64
64
|
return Boolean(element.getAttribute(frontendDataAttr("open")) === "true" ||
|
|
65
65
|
element.getAttribute(frontendDataAttr("opening")) === "true");
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Freshly rendered markup can collide with a copy of itself that an earlier
|
|
69
|
+
* page portaled into a layer root — chrome that `swapChrome` re-renders (a
|
|
70
|
+
* sidebar's theme/language menus) brings back an inline copy of an overlay
|
|
71
|
+
* whose previous incarnation is still parked in the layer root.
|
|
72
|
+
*
|
|
73
|
+
* The discriminator has to be "is this copy portaled?", not "is it outside
|
|
74
|
+
* `root`?": this runs as `rehydrate(document)` during soft navigation, and
|
|
75
|
+
* `document.contains()` is true of every node in the page, which made the
|
|
76
|
+
* whole reconcile a no-op there and let those duplicates pile up one per
|
|
77
|
+
* navigation.
|
|
78
|
+
*/
|
|
67
79
|
function reconcilePortaledDuplicates(root) {
|
|
68
80
|
if (!root || typeof root.querySelectorAll !== "function")
|
|
69
81
|
return;
|
|
82
|
+
const portals = overlayPortalRoots();
|
|
83
|
+
if (!portals.length)
|
|
84
|
+
return;
|
|
85
|
+
const isPortaled = (node) => portals.some((portal) => portal.contains(node));
|
|
70
86
|
root.querySelectorAll("[id]").forEach((freshElement) => {
|
|
71
|
-
if (!(root instanceof Node) || !root.contains(freshElement))
|
|
72
|
-
return;
|
|
73
87
|
const id = freshElement.id;
|
|
74
|
-
if (!id)
|
|
88
|
+
if (!id || isPortaled(freshElement))
|
|
75
89
|
return;
|
|
76
90
|
document.querySelectorAll(`[id="${cssEscape(id)}"]`).forEach((otherElement) => {
|
|
77
|
-
if (otherElement === freshElement ||
|
|
91
|
+
if (otherElement === freshElement || !isPortaled(otherElement))
|
|
78
92
|
return;
|
|
79
93
|
if (isOpenOverlay(otherElement)) {
|
|
80
94
|
otherElement.innerHTML = freshElement.innerHTML;
|
package/dist/spa/navigate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-dom.d.ts","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"AAMA,KAAK,0BAA0B,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACtC,CAAC;AAWF,iBAAS,kBAAkB,kBAM1B;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAS3E;
|
|
1
|
+
{"version":3,"file":"overlay-dom.d.ts","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"AAMA,KAAK,0BAA0B,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACtC,CAAC;AAWF,iBAAS,kBAAkB,kBAM1B;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAS3E;AAgDD,iBAAS,mCAAmC,CAC1C,OAAO,GAAE,0BAA+B,EACxC,SAAS,CAAC,EAAE,UAAU,QAWvB;AAED,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mCAAmC,GACpC,CAAC"}
|
package/dist/spa/overlay-dom.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LAYER_ROOT_ID } from "../layer/index.js";
|
|
1
|
+
import { LAYER_ROOT_ID, layerPortalOrigin } from "../layer/index.js";
|
|
2
2
|
import { LAYOUT_PORTAL_ROOT_ID } from "../layout/index.js";
|
|
3
3
|
import { frontendDataAttr } from "../namespace/index.js";
|
|
4
4
|
import { MODAL_SELECTOR, closeModal } from "../modal/index.js";
|
|
@@ -47,14 +47,39 @@ function closeStaleOverlayNode(node, options) {
|
|
|
47
47
|
}
|
|
48
48
|
node.remove();
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* A portaled overlay is stale only when it was portaled *out of the root being
|
|
52
|
+
* replaced* — that is what makes it an orphan once that root's content goes
|
|
53
|
+
* away.
|
|
54
|
+
*
|
|
55
|
+
* Current position cannot answer this: every portaled node lives in a portal
|
|
56
|
+
* root and is therefore never contained by the content root, so a
|
|
57
|
+
* `!root.contains(node)` test matches all of them indiscriminately. That
|
|
58
|
+
* deleted persistent app-shell overlays (a header's notifications modal, a
|
|
59
|
+
* user menu) on every soft navigation, but only once they had been opened —
|
|
60
|
+
* opening is what portals them — leaving their triggers bound to an element
|
|
61
|
+
* that no longer existed and silently dead.
|
|
62
|
+
*
|
|
63
|
+
* `layerPortalOrigin` reports where the node actually came from, so ownership
|
|
64
|
+
* decides. An overlay with no recorded origin was never portaled by us (it was
|
|
65
|
+
* authored inside a portal root, or created detached) and is nobody's orphan,
|
|
66
|
+
* so it is left alone.
|
|
67
|
+
*/
|
|
68
|
+
function isStalePortaledOverlay(node, root) {
|
|
69
|
+
const origin = layerPortalOrigin(node);
|
|
70
|
+
if (!origin)
|
|
71
|
+
return false;
|
|
72
|
+
return origin === root || root.contains(origin);
|
|
73
|
+
}
|
|
50
74
|
function removeStalePortaledOverlaysFromRoot(options = {}, rootInput) {
|
|
51
75
|
const selector = normalizeSelectorList(options.portaledSelector);
|
|
52
76
|
if (!selector || !(rootInput instanceof HTMLElement))
|
|
53
77
|
return;
|
|
54
78
|
overlayPortalRoots().forEach((portal) => {
|
|
55
79
|
queryElements(portal, selector).forEach((node) => {
|
|
56
|
-
if (
|
|
80
|
+
if (isStalePortaledOverlay(node, rootInput)) {
|
|
57
81
|
closeStaleOverlayNode(node, options);
|
|
82
|
+
}
|
|
58
83
|
});
|
|
59
84
|
});
|
|
60
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-dom.js","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"overlay-dom.js","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@ type ZIndexOptions = {
|
|
|
8
8
|
};
|
|
9
9
|
declare function ensureLayerRoot(): HTMLElement;
|
|
10
10
|
declare function mountLayerPortalElement(element: HTMLElement | null): HTMLElement;
|
|
11
|
+
/**
|
|
12
|
+
* The node this element was portaled out of, or null when it was never
|
|
13
|
+
* portaled (already sat in a portal root, or was created detached).
|
|
14
|
+
*/
|
|
15
|
+
declare function layerPortalOrigin(element: HTMLElement | null): Node;
|
|
11
16
|
declare function moveLayerElementToTop(element: HTMLElement | null): HTMLElement;
|
|
12
17
|
declare function stackZIndex(base?: number, depth?: number): number;
|
|
13
18
|
declare function resolveElementZIndex(element: HTMLElement | null, fallback?: any): any;
|
|
@@ -17,6 +22,6 @@ declare function promoteZIndex(element: HTMLElement | null, options?: ZIndexOpti
|
|
|
17
22
|
declare function clearZIndex(element: HTMLElement | null): void;
|
|
18
23
|
declare function bindPortals(root?: BindRoot): void;
|
|
19
24
|
declare function elementBySafeId(id: string): Element;
|
|
20
|
-
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
25
|
+
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, layerPortalOrigin, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
21
26
|
export type { ZIndexOptions };
|
|
22
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,aAAa,mBAAkC,CAAC;AACtD,QAAA,MAAM,YAAY,KAAK,CAAC;AAIxB,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iBAAS,eAAe,gBAiBvB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,aAAa,mBAAkC,CAAC;AACtD,QAAA,MAAM,YAAY,KAAK,CAAC;AAIxB,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iBAAS,eAAe,gBAiBvB;AAgCD,iBAAS,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,eAS3D;AAED;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,QAErD;AAED,iBAAS,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,eAIzD;AAOD,iBAAS,WAAW,CAAC,IAAI,SAAI,EAAE,KAAK,SAAI,UAIvC;AAYD,iBAAS,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,MAAO,OAMzE;AAqBD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,OAWlF;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,OAO5E;AAgBD,iBAAS,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,aAAkB,UAS9E;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,QAK/C;AAED,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,QAI7C;AAED,iBAAS,eAAe,CAAC,EAAE,EAAE,MAAM,WAElC;AAED,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,IAAI,aAAa,EACxC,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/src/layer/index.js
CHANGED
|
@@ -41,16 +41,37 @@ function installFullscreenLayerListener() {
|
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Where each element lived before it was portaled into the layer root.
|
|
46
|
+
*
|
|
47
|
+
* Portaling is destructive to provenance: once an overlay is moved into the
|
|
48
|
+
* layer root, nothing about the node says which part of the page owns it, and
|
|
49
|
+
* "is it inside the content root?" answers `false` for every portaled node —
|
|
50
|
+
* shell-owned ones (a header's notifications modal) exactly as much as ones
|
|
51
|
+
* belonging to the page content being replaced. Recording the original parent
|
|
52
|
+
* lets callers tell those apart instead of guessing from current position.
|
|
53
|
+
*/
|
|
54
|
+
const layerPortalOrigins = new WeakMap();
|
|
44
55
|
function mountLayerPortalElement(element) {
|
|
45
56
|
if (!element)
|
|
46
57
|
return null;
|
|
47
58
|
const root = ensureLayerRoot();
|
|
48
59
|
if (!root || element === root)
|
|
49
60
|
return root;
|
|
50
|
-
if (element.parentNode !== root)
|
|
61
|
+
if (element.parentNode !== root) {
|
|
62
|
+
if (element.parentNode)
|
|
63
|
+
layerPortalOrigins.set(element, element.parentNode);
|
|
51
64
|
root.appendChild(element);
|
|
65
|
+
}
|
|
52
66
|
return root;
|
|
53
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* The node this element was portaled out of, or null when it was never
|
|
70
|
+
* portaled (already sat in a portal root, or was created detached).
|
|
71
|
+
*/
|
|
72
|
+
function layerPortalOrigin(element) {
|
|
73
|
+
return element ? layerPortalOrigins.get(element) || null : null;
|
|
74
|
+
}
|
|
54
75
|
function moveLayerElementToTop(element) {
|
|
55
76
|
const root = mountLayerPortalElement(element);
|
|
56
77
|
if (root && element && element.parentNode === root)
|
|
@@ -170,5 +191,5 @@ function bindPortals(root = document) {
|
|
|
170
191
|
function elementBySafeId(id) {
|
|
171
192
|
return document.querySelector(`#${cssEscape(id)}`);
|
|
172
193
|
}
|
|
173
|
-
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
194
|
+
export { LAYER_ROOT_ID, Z_INDEX_STEP, applyZIndex, bindPortals, clearZIndex, elementBySafeId, ensureLayerRoot, layerPortalOrigin, moveLayerElementToTop, mountLayerPortalElement as portalElement, promoteZIndex, resolveElementZIndex, resolveZIndexSpec, stackZIndex, };
|
|
174
195
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE3G,MAAM,aAAa,GAAG,GAAG,eAAe,aAAa,CAAC;AACtD,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAe,CAAC;AACtD,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAQxC,SAAS,eAAe;IACtB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,IAAI,QAAQ,YAAY,WAAW,EAAE,CAAC;QACpC,IAAI,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpF,8BAA8B,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;IACxB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,8BAA8B,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC9C,IAAI,UAAU,YAAY,WAAW;QAAE,OAAO,UAAU,CAAC;IACzD,OAAO,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC;AACnD,CAAC;AAED,SAAS,8BAA8B;IACrC,IAAI,2BAA2B,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC3E,2BAA2B,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC1C,IAAI,IAAI,YAAY,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9E,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA2B;IAC1D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAe9C,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,WAAW,CAAC;AASnB,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AAKjE,iBAAS,iBAAiB,SAKzB;AAcD,iBAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,eAGlC;AAoED,iBAAS,SAAS,CAAC,IAAI,GAAE,QAAmB,QAM3C;AAkFD,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,oBAyBzE;AAED,iBAAS,UAAU,CAAC,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,oBAM5D;AA0CD,iBAAe,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,oBAUxD;AAED,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,UAAU,GACX,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/src/spa/navigate.js
CHANGED
|
@@ -3,7 +3,7 @@ import { frontendDataAttr, frontendDataSelector, frontendEventName, frontendToke
|
|
|
3
3
|
import { PORTALED_SELECTOR, runSpaRebind, spaConfig } from "./config.js";
|
|
4
4
|
import { runPageCleanups } from "./cleanup.js";
|
|
5
5
|
import { hasUnsavedWork } from "./guards.js";
|
|
6
|
-
import { removeStalePortaledOverlaysFromRoot } from "./overlay-dom.js";
|
|
6
|
+
import { overlayPortalRoots, removeStalePortaledOverlaysFromRoot, } from "./overlay-dom.js";
|
|
7
7
|
import { progress } from "../../progress/index.js";
|
|
8
8
|
import { beginNavigation, emitPageChange, retargetNavigation, } from "./page.js";
|
|
9
9
|
import { captureFormState, captureWizardSteps, importChildNodes, restoreFormState, restoreWizardSteps, } from "./state.js";
|
|
@@ -64,17 +64,31 @@ function isOpenOverlay(element) {
|
|
|
64
64
|
return Boolean(element.getAttribute(frontendDataAttr("open")) === "true" ||
|
|
65
65
|
element.getAttribute(frontendDataAttr("opening")) === "true");
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Freshly rendered markup can collide with a copy of itself that an earlier
|
|
69
|
+
* page portaled into a layer root — chrome that `swapChrome` re-renders (a
|
|
70
|
+
* sidebar's theme/language menus) brings back an inline copy of an overlay
|
|
71
|
+
* whose previous incarnation is still parked in the layer root.
|
|
72
|
+
*
|
|
73
|
+
* The discriminator has to be "is this copy portaled?", not "is it outside
|
|
74
|
+
* `root`?": this runs as `rehydrate(document)` during soft navigation, and
|
|
75
|
+
* `document.contains()` is true of every node in the page, which made the
|
|
76
|
+
* whole reconcile a no-op there and let those duplicates pile up one per
|
|
77
|
+
* navigation.
|
|
78
|
+
*/
|
|
67
79
|
function reconcilePortaledDuplicates(root) {
|
|
68
80
|
if (!root || typeof root.querySelectorAll !== "function")
|
|
69
81
|
return;
|
|
82
|
+
const portals = overlayPortalRoots();
|
|
83
|
+
if (!portals.length)
|
|
84
|
+
return;
|
|
85
|
+
const isPortaled = (node) => portals.some((portal) => portal.contains(node));
|
|
70
86
|
root.querySelectorAll("[id]").forEach((freshElement) => {
|
|
71
|
-
if (!(root instanceof Node) || !root.contains(freshElement))
|
|
72
|
-
return;
|
|
73
87
|
const id = freshElement.id;
|
|
74
|
-
if (!id)
|
|
88
|
+
if (!id || isPortaled(freshElement))
|
|
75
89
|
return;
|
|
76
90
|
document.querySelectorAll(`[id="${cssEscape(id)}"]`).forEach((otherElement) => {
|
|
77
|
-
if (otherElement === freshElement ||
|
|
91
|
+
if (otherElement === freshElement || !isPortaled(otherElement))
|
|
78
92
|
return;
|
|
79
93
|
if (isOpenOverlay(otherElement)) {
|
|
80
94
|
otherElement.innerHTML = freshElement.innerHTML;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../src/spa/navigate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-dom.d.ts","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"AAMA,KAAK,0BAA0B,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACtC,CAAC;AAWF,iBAAS,kBAAkB,kBAM1B;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAS3E;
|
|
1
|
+
{"version":3,"file":"overlay-dom.d.ts","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"AAMA,KAAK,0BAA0B,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACtC,CAAC;AAWF,iBAAS,kBAAkB,kBAM1B;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAS3E;AAgDD,iBAAS,mCAAmC,CAC1C,OAAO,GAAE,0BAA+B,EACxC,SAAS,CAAC,EAAE,UAAU,QAWvB;AAED,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mCAAmC,GACpC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LAYER_ROOT_ID } from "../../layer/index.js";
|
|
1
|
+
import { LAYER_ROOT_ID, layerPortalOrigin } from "../../layer/index.js";
|
|
2
2
|
import { LAYOUT_PORTAL_ROOT_ID } from "../../layout/index.js";
|
|
3
3
|
import { frontendDataAttr } from "../../namespace/index.js";
|
|
4
4
|
import { MODAL_SELECTOR, closeModal } from "../../modal/index.js";
|
|
@@ -47,14 +47,39 @@ function closeStaleOverlayNode(node, options) {
|
|
|
47
47
|
}
|
|
48
48
|
node.remove();
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* A portaled overlay is stale only when it was portaled *out of the root being
|
|
52
|
+
* replaced* — that is what makes it an orphan once that root's content goes
|
|
53
|
+
* away.
|
|
54
|
+
*
|
|
55
|
+
* Current position cannot answer this: every portaled node lives in a portal
|
|
56
|
+
* root and is therefore never contained by the content root, so a
|
|
57
|
+
* `!root.contains(node)` test matches all of them indiscriminately. That
|
|
58
|
+
* deleted persistent app-shell overlays (a header's notifications modal, a
|
|
59
|
+
* user menu) on every soft navigation, but only once they had been opened —
|
|
60
|
+
* opening is what portals them — leaving their triggers bound to an element
|
|
61
|
+
* that no longer existed and silently dead.
|
|
62
|
+
*
|
|
63
|
+
* `layerPortalOrigin` reports where the node actually came from, so ownership
|
|
64
|
+
* decides. An overlay with no recorded origin was never portaled by us (it was
|
|
65
|
+
* authored inside a portal root, or created detached) and is nobody's orphan,
|
|
66
|
+
* so it is left alone.
|
|
67
|
+
*/
|
|
68
|
+
function isStalePortaledOverlay(node, root) {
|
|
69
|
+
const origin = layerPortalOrigin(node);
|
|
70
|
+
if (!origin)
|
|
71
|
+
return false;
|
|
72
|
+
return origin === root || root.contains(origin);
|
|
73
|
+
}
|
|
50
74
|
function removeStalePortaledOverlaysFromRoot(options = {}, rootInput) {
|
|
51
75
|
const selector = normalizeSelectorList(options.portaledSelector);
|
|
52
76
|
if (!selector || !(rootInput instanceof HTMLElement))
|
|
53
77
|
return;
|
|
54
78
|
overlayPortalRoots().forEach((portal) => {
|
|
55
79
|
queryElements(portal, selector).forEach((node) => {
|
|
56
|
-
if (
|
|
80
|
+
if (isStalePortaledOverlay(node, rootInput)) {
|
|
57
81
|
closeStaleOverlayNode(node, options);
|
|
82
|
+
}
|
|
58
83
|
});
|
|
59
84
|
});
|
|
60
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-dom.js","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"overlay-dom.js","sourceRoot":"","sources":["../../../src/spa/overlay-dom.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED