@absolutejs/absolute 0.20.0-beta.121 → 0.20.0-beta.122

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/changelog.json +16 -0
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/angular/index.js +14 -2
  6. package/dist/angular/index.js.map +5 -4
  7. package/dist/angular/server.js +14 -2
  8. package/dist/angular/server.js.map +5 -4
  9. package/dist/build.js +15 -3
  10. package/dist/build.js.map +5 -4
  11. package/dist/cli/config/server.js +9 -1
  12. package/dist/client/chunks/index-dk743xs6.js +146 -0
  13. package/dist/client/chunks/index-dk743xs6.js.map +10 -0
  14. package/dist/client/chunks/index-jrcwp722.js +12 -0
  15. package/dist/client/chunks/index-jrcwp722.js.map +10 -0
  16. package/dist/client/chunks/{islands-xj2n8nwf.js → islands-50dg63j9.js} +6 -3
  17. package/dist/client/chunks/{islands-xj2n8nwf.js.map → islands-50dg63j9.js.map} +3 -3
  18. package/dist/client/chunks/{react-pdg4325x.js → react-yq4ss9y4.js} +4 -3
  19. package/dist/client/chunks/{react-pdg4325x.js.map → react-yq4ss9y4.js.map} +2 -2
  20. package/dist/client/index.js +5 -4
  21. package/dist/client/index.js.map +2 -2
  22. package/dist/index.js +15 -3
  23. package/dist/index.js.map +5 -4
  24. package/dist/islands/index.js +14 -2
  25. package/dist/islands/index.js.map +5 -4
  26. package/dist/mobile/remoteMacAgentEntry.js +1 -1
  27. package/dist/react/index.js +14 -2
  28. package/dist/react/index.js.map +5 -4
  29. package/dist/react/server.js +14 -2
  30. package/dist/react/server.js.map +5 -4
  31. package/dist/src/client/browserTranslation.d.ts +3 -0
  32. package/dist/src/client/browserTranslationAttributes.d.ts +2 -0
  33. package/dist/src/vue/components/Image.d.ts +1 -1
  34. package/dist/svelte/index.js +14 -2
  35. package/dist/svelte/index.js.map +5 -4
  36. package/dist/svelte/server.js +14 -2
  37. package/dist/svelte/server.js.map +5 -4
  38. package/dist/vue/browser.js +75 -8
  39. package/dist/vue/browser.js.map +5 -4
  40. package/dist/vue/index.js +77 -9
  41. package/dist/vue/index.js.map +6 -5
  42. package/dist/vue/server.js +14 -2
  43. package/dist/vue/server.js.map +5 -4
  44. package/package.json +1 -1
  45. package/dist/client/chunks/index-5py90ctf.js +0 -87
  46. package/dist/client/chunks/index-5py90ctf.js.map +0 -10
package/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.20.0-beta.122 — 2026-09-27
10
+
11
+ ### Fixed
12
+
13
+ - **Preserve browser-translated attributes and inserted text-only font wrappers through hydration** (`captureSsrTextBaselines`, `prepareBrowserTranslationHydration`, `preserveBrowserTranslation`)
14
+ Snapshot alt, title, placeholder and aria-label alongside SSR text. Temporarily restore those attributes and newly inserted text-only font trees while the framework hydrates, then reapply translations on the hydrated nodes. Preserve authored and interactive markup, URLs, field values and genuine client changes. Fixes translated landing-page warnings and text reverting to English without suppressing ordinary hydration mismatches.
15
+
9
16
  ## 0.20.0-beta.121 — 2026-09-27
10
17
 
11
18
  ### Added
package/changelog.json CHANGED
@@ -2,6 +2,22 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "Snapshot alt, title, placeholder and aria-label alongside SSR text. Temporarily restore those attributes and newly inserted text-only font trees while the framework hydrates, then reapply translations on the hydrated nodes. Preserve authored and interactive markup, URLs, field values and genuine client changes. Fixes translated landing-page warnings and text reverting to English without suppressing ordinary hydration mismatches.",
9
+ "kind": "fixed",
10
+ "summary": "Preserve browser-translated attributes and inserted text-only font wrappers through hydration",
11
+ "symbols": [
12
+ "captureSsrTextBaselines",
13
+ "prepareBrowserTranslationHydration",
14
+ "preserveBrowserTranslation"
15
+ ]
16
+ }
17
+ ],
18
+ "date": "2026-09-27",
19
+ "version": "0.20.0-beta.122"
20
+ },
5
21
  {
6
22
  "changes": [
7
23
  {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-yuN6Qt/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-LiuoUM/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-yuN6Qt/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-LiuoUM/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
48
48
  getWarningController()?.maybeWarn(primitiveName);
49
49
  };
50
50
 
51
- // .angular-partial-tmp-yuN6Qt/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-LiuoUM/src/core/streamingSlotRegistry.ts
52
52
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
53
53
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
54
54
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
@@ -1107,6 +1107,17 @@ var requireCurrentIslandRegistry = () => {
1107
1107
  globalThis.__absoluteIslandRegistry = registry;
1108
1108
  };
1109
1109
 
1110
+ // src/client/browserTranslationAttributes.ts
1111
+ var TRANSLATABLE_ATTRIBUTES;
1112
+ var init_browserTranslationAttributes = __esm(() => {
1113
+ TRANSLATABLE_ATTRIBUTES = [
1114
+ "alt",
1115
+ "title",
1116
+ "placeholder",
1117
+ "aria-label"
1118
+ ];
1119
+ });
1120
+
1110
1121
  // src/core/browserTranslation.ts
1111
1122
  var BASELINE_MARKER = "__ABSOLUTE_SSR_TEXT_BASELINES__", BROWSER_TRANSLATION_BASELINE_SCRIPT, browserTranslationBaselineTag = () => `<script>${BROWSER_TRANSLATION_BASELINE_SCRIPT}</script>`, injectBrowserTranslationBaseline = (html) => {
1112
1123
  if (html.includes(BASELINE_MARKER))
@@ -1118,7 +1129,8 @@ var BASELINE_MARKER = "__ABSOLUTE_SSR_TEXT_BASELINES__", BROWSER_TRANSLATION_BAS
1118
1129
  return `${html.slice(0, closingBodyIndex)}${script}${html.slice(closingBodyIndex)}`;
1119
1130
  };
1120
1131
  var init_browserTranslation = __esm(() => {
1121
- BROWSER_TRANSLATION_BASELINE_SCRIPT = "window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();" + "{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__;" + 'if(r)for(const e of [r,...r.querySelectorAll("*")]){' + "const t=new Map();for(const [i,n]of[...e.childNodes].entries())" + 'if(n.nodeType===3)t.set(i,n.nodeValue??"");if(t.size)b.set(e,t);}}';
1132
+ init_browserTranslationAttributes();
1133
+ BROWSER_TRANSLATION_BASELINE_SCRIPT = "window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();" + "window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__=new WeakMap();" + "{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__," + "a=window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__;" + 'if(r)for(const e of [r,...r.querySelectorAll("*")]){' + "const t=new Map();for(const [i,n]of[...e.childNodes].entries())" + 'if(n.nodeType===3)t.set(i,n.nodeValue??"");if(t.size)b.set(e,t);' + `const v=new Map();for(const k of ${JSON.stringify(TRANSLATABLE_ATTRIBUTES)}){` + "const s=e.getAttribute(k);if(s!==null)v.set(k,s);}if(v.size)a.set(e,v);}}";
1122
1134
  });
1123
1135
 
1124
1136
  // src/angular/requestProviders.ts
@@ -16752,5 +16764,5 @@ export {
16752
16764
  withPendingTask
16753
16765
  };
16754
16766
 
16755
- //# debugId=DE5F95BFF37D0BF264756E2164756E21
16767
+ //# debugId=E4722B59E349FBC764756E2164756E21
16756
16768
  //# sourceMappingURL=index.js.map