@trebired/frontend 13.15.0 → 13.16.0
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
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 13.16.0
|
|
4
|
+
|
|
5
|
+
- Soft-redirect links are no longer marked with a `data-…-soft-redirect-bound` attribute. The binding is tracked in a `WeakSet` instead, so the DOM a browser holds after a soft redirect matches the server-rendered markup exactly.
|
|
6
|
+
- This removes a React hydration mismatch: the runtime binds the freshly swapped links before the rehydrate event fires, so any chrome that re-hydrates after a navigation used to find an attribute React had not rendered.
|
|
7
|
+
- `SOFT_REDIRECT_BOUND_ATTR` is still exported for compatibility but is no longer written to any element.
|
|
8
|
+
|
|
3
9
|
## 13.15.0
|
|
4
10
|
|
|
5
11
|
- Added `EmbedFrame`, the embed system every site should use instead of writing an `<iframe>` by hand. It assigns the `src` only once the host document has finished loading, so a slow or unreachable embed can no longer hold the page's `load` event open and leave the browser tab spinning.
|
package/dist/spa/links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKpG,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,sBAAsB,QAAwC,CAAC;AACrE,QAAA,MAAM,wBAAwB,kBAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKpG,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,sBAAsB,QAAwC,CAAC;AACrE,QAAA,MAAM,wBAAwB,kBAA0C,CAAC;AAsDzE,iBAAS,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,WAaxD;AAED,iBAAS,qBAAqB,CAAC,IAAI,GAAE,QAAmB,QAEvD;AAED,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,CAAC"}
|
package/dist/spa/links.js
CHANGED
|
@@ -5,6 +5,7 @@ import { softRedirect } from "./navigate.js";
|
|
|
5
5
|
const SOFT_REDIRECT_ATTR = frontendDataAttr("soft-redirect");
|
|
6
6
|
const SOFT_REDIRECT_SELECTOR = frontendDataSelector("soft-redirect");
|
|
7
7
|
const SOFT_REDIRECT_BOUND_ATTR = frontendDataAttr("soft-redirect-bound");
|
|
8
|
+
const boundTriggers = new WeakSet();
|
|
8
9
|
function softRedirectTarget(trigger) {
|
|
9
10
|
if (trigger.getAttribute("aria-disabled") === "true")
|
|
10
11
|
return "";
|
|
@@ -61,12 +62,12 @@ function runSoftRedirect(event, trigger) {
|
|
|
61
62
|
void softRedirect(target);
|
|
62
63
|
}
|
|
63
64
|
function bindSoftRedirectLink(trigger) {
|
|
64
|
-
if (!(trigger instanceof HTMLElement) ||
|
|
65
|
+
if (!(trigger instanceof HTMLElement) || boundTriggers.has(trigger)) {
|
|
65
66
|
return false;
|
|
66
67
|
}
|
|
67
68
|
if (isInUnhydratedIsland(trigger))
|
|
68
69
|
return false;
|
|
69
|
-
|
|
70
|
+
boundTriggers.add(trigger);
|
|
70
71
|
ensureSoftRedirectA11y(trigger);
|
|
71
72
|
trigger.addEventListener("click", (event) => runSoftRedirect(event, trigger));
|
|
72
73
|
trigger.addEventListener("keydown", (event) => {
|
package/dist/spa/links.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC7D,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;AACrE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKpG,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,sBAAsB,QAAwC,CAAC;AACrE,QAAA,MAAM,wBAAwB,kBAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKpG,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,sBAAsB,QAAwC,CAAC;AACrE,QAAA,MAAM,wBAAwB,kBAA0C,CAAC;AAsDzE,iBAAS,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,WAaxD;AAED,iBAAS,qBAAqB,CAAC,IAAI,GAAE,QAAmB,QAEvD;AAED,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,CAAC"}
|
package/dist/src/spa/links.js
CHANGED
|
@@ -5,6 +5,7 @@ import { softRedirect } from "./navigate.js";
|
|
|
5
5
|
const SOFT_REDIRECT_ATTR = frontendDataAttr("soft-redirect");
|
|
6
6
|
const SOFT_REDIRECT_SELECTOR = frontendDataSelector("soft-redirect");
|
|
7
7
|
const SOFT_REDIRECT_BOUND_ATTR = frontendDataAttr("soft-redirect-bound");
|
|
8
|
+
const boundTriggers = new WeakSet();
|
|
8
9
|
function softRedirectTarget(trigger) {
|
|
9
10
|
if (trigger.getAttribute("aria-disabled") === "true")
|
|
10
11
|
return "";
|
|
@@ -61,12 +62,12 @@ function runSoftRedirect(event, trigger) {
|
|
|
61
62
|
void softRedirect(target);
|
|
62
63
|
}
|
|
63
64
|
function bindSoftRedirectLink(trigger) {
|
|
64
|
-
if (!(trigger instanceof HTMLElement) ||
|
|
65
|
+
if (!(trigger instanceof HTMLElement) || boundTriggers.has(trigger)) {
|
|
65
66
|
return false;
|
|
66
67
|
}
|
|
67
68
|
if (isInUnhydratedIsland(trigger))
|
|
68
69
|
return false;
|
|
69
|
-
|
|
70
|
+
boundTriggers.add(trigger);
|
|
70
71
|
ensureSoftRedirectA11y(trigger);
|
|
71
72
|
trigger.addEventListener("click", (event) => runSoftRedirect(event, trigger));
|
|
72
73
|
trigger.addEventListener("keydown", (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC7D,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;AACrE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/spa/links.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED