@absolutejs/absolute 0.20.0-beta.120 → 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 (98) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/changelog.json +37 -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 +6 -5
  11. package/dist/cli/{add-kt4qx8sh.js → add-9sa7e3vd.js} +5 -5
  12. package/dist/cli/{androidEmulatorController-v6chbhem.js → androidEmulatorController-sj141e1c.js} +3 -3
  13. package/dist/cli/{androidNativeWatcher-mgqws6ag.js → androidNativeWatcher-dnp95nk2.js} +3 -3
  14. package/dist/cli/{api-xtq3zqfg.js → api-2hd8cahp.js} +1 -1
  15. package/dist/cli/{compile-5m830csy.js → compile-hywymh6y.js} +1 -1
  16. package/dist/cli/config/server.js +59 -9
  17. package/dist/cli/db-8wweexdp.js +1100 -0
  18. package/dist/cli/{dev-ww30tdrv.js → dev-pdefc9ac.js} +9 -9
  19. package/dist/cli/{emulatorDoctor-y2nqmaha.js → emulatorDoctor-gzarrsex.js} +2 -2
  20. package/dist/cli/{emulatorInstaller-3shdna4g.js → emulatorInstaller-pjw4ex6q.js} +3 -3
  21. package/dist/cli/{expoDevController-zz516pdd.js → expoDevController-weywa74d.js} +3 -3
  22. package/dist/cli/{generate-zy3d9bce.js → generate-069p0dk3.js} +4 -4
  23. package/dist/cli/{htmx-63kt9qj1.js → htmx-5wh1jh75.js} +2 -2
  24. package/dist/cli/{index-t84wxk1p.js → index-00wfffav.js} +50 -8
  25. package/dist/cli/{index-wtyg9cy0.js → index-1ys3dnrs.js} +1 -1
  26. package/dist/cli/{index-knt92dm8.js → index-255xs63d.js} +1 -1
  27. package/dist/cli/{index-wspj2mq3.js → index-3x5wpx5d.js} +1 -1
  28. package/dist/cli/{index-28nxv57v.js → index-5cgsrv62.js} +12 -2
  29. package/dist/cli/{index-mxmg15c5.js → index-ddakkws4.js} +2 -2
  30. package/dist/cli/{index-ce870r79.js → index-erngp7a9.js} +1 -1
  31. package/dist/cli/{index-pa3hmzj7.js → index-j2nw3edf.js} +1 -1
  32. package/dist/cli/{index-1wgc9e0v.js → index-keg69zm1.js} +1 -1
  33. package/dist/cli/{index-5268nwjx.js → index-q3sq287p.js} +1 -1
  34. package/dist/cli/{index-jf1f6npt.js → index-rqbk0b30.js} +1 -1
  35. package/dist/cli/{index-q1d4ns4n.js → index-v26ze17p.js} +1 -1
  36. package/dist/cli/{index-hneb973j.js → index-vkkqe08e.js} +2 -2
  37. package/dist/cli/index.js +23 -18
  38. package/dist/cli/{info-crpftzxh.js → info-d74dr585.js} +1 -1
  39. package/dist/cli/{iosNativeWatcher-8w1gawg4.js → iosNativeWatcher-kggp7j9a.js} +4 -4
  40. package/dist/cli/{iosSimulatorController-5vhqvhg6.js → iosSimulatorController-xcxxfkzx.js} +4 -4
  41. package/dist/cli/{mobile-21vsmrjd.js → mobile-00bqw12c.js} +9 -9
  42. package/dist/cli/{ps-ha7bhpc6.js → ps-8y28kzmb.js} +1 -1
  43. package/dist/cli/{psTui-rxszyyz8.js → psTui-8e96mwgz.js} +1 -1
  44. package/dist/cli/{remoteMacProtocol-dybpgazw.js → remoteMacProtocol-r38jhg44.js} +4 -4
  45. package/dist/cli/{remove-pwfv4wsd.js → remove-3fd1z2hx.js} +4 -4
  46. package/dist/cli/{start-3bhf56tj.js → start-q08avhxg.js} +2 -2
  47. package/dist/cli/{typecheck-7n5599tp.js → typecheck-yj9s13eb.js} +1 -1
  48. package/dist/cli/{workspace-h7czpaqh.js → workspace-e3jt4as8.js} +1 -1
  49. package/dist/client/chunks/index-dk743xs6.js +146 -0
  50. package/dist/client/chunks/index-dk743xs6.js.map +10 -0
  51. package/dist/client/chunks/index-jrcwp722.js +12 -0
  52. package/dist/client/chunks/index-jrcwp722.js.map +10 -0
  53. package/dist/client/chunks/{islands-xj2n8nwf.js → islands-50dg63j9.js} +6 -3
  54. package/dist/client/chunks/{islands-xj2n8nwf.js.map → islands-50dg63j9.js.map} +3 -3
  55. package/dist/client/chunks/{react-pdg4325x.js → react-yq4ss9y4.js} +4 -3
  56. package/dist/client/chunks/{react-pdg4325x.js.map → react-yq4ss9y4.js.map} +2 -2
  57. package/dist/client/index.js +5 -4
  58. package/dist/client/index.js.map +2 -2
  59. package/dist/index.js +15 -3
  60. package/dist/index.js.map +6 -5
  61. package/dist/islands/index.js +14 -2
  62. package/dist/islands/index.js.map +5 -4
  63. package/dist/mobile/index.js +13 -3
  64. package/dist/mobile/index.js.map +4 -4
  65. package/dist/mobile/remoteMacAgentEntry.js +162 -162
  66. package/dist/react/index.js +14 -2
  67. package/dist/react/index.js.map +5 -4
  68. package/dist/react/server.js +14 -2
  69. package/dist/react/server.js.map +5 -4
  70. package/dist/src/cli/scripts/db.d.ts +2 -19
  71. package/dist/src/cli/scripts/dbEngines/detect.d.ts +8 -0
  72. package/dist/src/cli/scripts/dbEngines/mssql.d.ts +4 -0
  73. package/dist/src/cli/scripts/dbEngines/mysql.d.ts +2 -0
  74. package/dist/src/cli/scripts/dbEngines/open.d.ts +2 -0
  75. package/dist/src/cli/scripts/dbEngines/postgres.d.ts +2 -0
  76. package/dist/src/cli/scripts/dbEngines/sqlText.d.ts +13 -0
  77. package/dist/src/cli/scripts/dbEngines/sqlite.d.ts +4 -0
  78. package/dist/src/cli/scripts/dbEngines/values.d.ts +12 -0
  79. package/dist/src/cli/utils.d.ts +7 -0
  80. package/dist/src/client/browserTranslation.d.ts +3 -0
  81. package/dist/src/client/browserTranslationAttributes.d.ts +2 -0
  82. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  83. package/dist/src/vue/components/Image.d.ts +1 -1
  84. package/dist/svelte/index.js +14 -2
  85. package/dist/svelte/index.js.map +5 -4
  86. package/dist/svelte/server.js +14 -2
  87. package/dist/svelte/server.js.map +5 -4
  88. package/dist/types/db.d.ts +109 -0
  89. package/dist/vue/browser.js +75 -8
  90. package/dist/vue/browser.js.map +5 -4
  91. package/dist/vue/index.js +77 -9
  92. package/dist/vue/index.js.map +6 -5
  93. package/dist/vue/server.js +14 -2
  94. package/dist/vue/server.js.map +5 -4
  95. package/package.json +13 -1
  96. package/dist/cli/db-tejnwt9j.js +0 -238
  97. package/dist/client/chunks/index-5py90ctf.js +0 -87
  98. package/dist/client/chunks/index-5py90ctf.js.map +0 -10
package/dist/vue/index.js CHANGED
@@ -2248,6 +2248,17 @@ var init_routeAssets = __esm(() => {
2248
2248
  ENTITY_RE = /&(?:amp|lt|gt|quot|#0?39);/g;
2249
2249
  });
2250
2250
 
2251
+ // src/client/browserTranslationAttributes.ts
2252
+ var TRANSLATABLE_ATTRIBUTES;
2253
+ var init_browserTranslationAttributes = __esm(() => {
2254
+ TRANSLATABLE_ATTRIBUTES = [
2255
+ "alt",
2256
+ "title",
2257
+ "placeholder",
2258
+ "aria-label"
2259
+ ];
2260
+ });
2261
+
2251
2262
  // src/core/browserTranslation.ts
2252
2263
  var BASELINE_MARKER = "__ABSOLUTE_SSR_TEXT_BASELINES__", BROWSER_TRANSLATION_BASELINE_SCRIPT, browserTranslationBaselineTag = () => `<script>${BROWSER_TRANSLATION_BASELINE_SCRIPT}</script>`, injectBrowserTranslationBaseline = (html) => {
2253
2264
  if (html.includes(BASELINE_MARKER))
@@ -2259,7 +2270,8 @@ var BASELINE_MARKER = "__ABSOLUTE_SSR_TEXT_BASELINES__", BROWSER_TRANSLATION_BAS
2259
2270
  return `${html.slice(0, closingBodyIndex)}${script}${html.slice(closingBodyIndex)}`;
2260
2271
  };
2261
2272
  var init_browserTranslation = __esm(() => {
2262
- 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);}}';
2273
+ init_browserTranslationAttributes();
2274
+ 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);}}";
2263
2275
  });
2264
2276
 
2265
2277
  // src/cli/scripts/telemetry.ts
@@ -6067,6 +6079,15 @@ var useIslandStore = (store, selector) => {
6067
6079
  return state;
6068
6080
  };
6069
6081
  // src/client/browserTranslation.ts
6082
+ init_browserTranslationAttributes();
6083
+ var translatedFontText = (node, baselines) => {
6084
+ if (!(node instanceof Element) || node.tagName !== "FONT")
6085
+ return;
6086
+ const elements = [node, ...node.querySelectorAll("*")];
6087
+ if (elements.some((element) => element.tagName !== "FONT" || baselines.has(element)))
6088
+ return;
6089
+ return node.textContent ?? "";
6090
+ };
6070
6091
  var translationRestorer = (restore, hasTranslation) => Object.assign(restore, { hasTranslation });
6071
6092
  var emptyTranslationRestorer = () => translationRestorer(() => {
6072
6093
  return;
@@ -6075,6 +6096,25 @@ var textNodeAt = (parent, index) => {
6075
6096
  const node = parent.childNodes[index];
6076
6097
  return node instanceof Text ? node : undefined;
6077
6098
  };
6099
+ var prepareTextTranslation = (element, index, baseline, path, baselines) => {
6100
+ const original = element.childNodes[index];
6101
+ const wrappedText = translatedFontText(original, baselines);
6102
+ if (wrappedText !== undefined) {
6103
+ original?.replaceWith(document.createTextNode(baseline));
6104
+ return { baseline, index, path, translated: wrappedText };
6105
+ }
6106
+ const node = textNodeAt(element, index);
6107
+ if (node === undefined || node.data === baseline)
6108
+ return;
6109
+ const snapshot = {
6110
+ baseline,
6111
+ index,
6112
+ path,
6113
+ translated: node.data
6114
+ };
6115
+ node.data = baseline;
6116
+ return snapshot;
6117
+ };
6078
6118
  var visitElements = (root, visit) => {
6079
6119
  visit(root);
6080
6120
  for (const element of root.querySelectorAll("*"))
@@ -6106,6 +6146,7 @@ var captureSsrTextBaselines = (root) => {
6106
6146
  if (root === null || typeof window === "undefined")
6107
6147
  return;
6108
6148
  const baselines = window.__ABSOLUTE_SSR_TEXT_BASELINES__ ?? new WeakMap;
6149
+ const attributes = window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__ ?? new WeakMap;
6109
6150
  visitElements(root, (element) => {
6110
6151
  const text = new Map;
6111
6152
  for (const [index, node] of [...element.childNodes].entries()) {
@@ -6114,8 +6155,17 @@ var captureSsrTextBaselines = (root) => {
6114
6155
  }
6115
6156
  if (text.size > 0)
6116
6157
  baselines.set(element, text);
6158
+ const values = new Map;
6159
+ for (const name of TRANSLATABLE_ATTRIBUTES) {
6160
+ const value = element.getAttribute(name);
6161
+ if (value !== null)
6162
+ values.set(name, value);
6163
+ }
6164
+ if (values.size > 0)
6165
+ attributes.set(element, values);
6117
6166
  });
6118
6167
  window.__ABSOLUTE_SSR_TEXT_BASELINES__ = baselines;
6168
+ window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__ = attributes;
6119
6169
  };
6120
6170
  var prepareBrowserTranslationHydration = (root) => {
6121
6171
  if (root === null || typeof window === "undefined")
@@ -6124,17 +6174,30 @@ var prepareBrowserTranslationHydration = (root) => {
6124
6174
  if (baselines === undefined)
6125
6175
  return emptyTranslationRestorer();
6126
6176
  const translated = [];
6177
+ const translatedAttributes = [];
6178
+ const attributes = window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__;
6127
6179
  visitElements(root, (element) => {
6128
6180
  const text = baselines.get(element);
6129
6181
  const path = elementPath(root, element);
6130
- if (text === undefined || path === null)
6182
+ if (path === null)
6131
6183
  return;
6132
- for (const [index, baseline] of text) {
6133
- const node = textNodeAt(element, index);
6134
- if (node === undefined || node.data === baseline)
6184
+ for (const [index, baseline] of text ?? []) {
6185
+ const snapshot = prepareTextTranslation(element, index, baseline, path, baselines);
6186
+ if (snapshot === undefined)
6135
6187
  continue;
6136
- translated.push({ baseline, index, path, translated: node.data });
6137
- node.data = baseline;
6188
+ translated.push(snapshot);
6189
+ }
6190
+ for (const [name, baseline] of attributes?.get(element) ?? []) {
6191
+ const value = element.getAttribute(name);
6192
+ if (value === null || value === baseline)
6193
+ continue;
6194
+ translatedAttributes.push({
6195
+ baseline,
6196
+ name,
6197
+ path,
6198
+ translated: value
6199
+ });
6200
+ element.setAttribute(name, baseline);
6138
6201
  }
6139
6202
  });
6140
6203
  return translationRestorer(() => {
@@ -6146,7 +6209,12 @@ var prepareBrowserTranslationHydration = (root) => {
6146
6209
  if (node !== undefined && node.data === snapshot.baseline)
6147
6210
  node.data = snapshot.translated;
6148
6211
  }
6149
- }, translated.length > 0);
6212
+ for (const snapshot of translatedAttributes) {
6213
+ const element = elementAtPath(root, snapshot.path);
6214
+ if (element?.getAttribute(snapshot.name) === snapshot.baseline)
6215
+ element.setAttribute(snapshot.name, snapshot.translated);
6216
+ }
6217
+ }, translated.length > 0 || translatedAttributes.length > 0);
6150
6218
  };
6151
6219
 
6152
6220
  // src/vue/browserTranslation.ts
@@ -6734,5 +6802,5 @@ export {
6734
6802
  useResource
6735
6803
  };
6736
6804
 
6737
- //# debugId=B6201D9222169F5964756E2164756E21
6805
+ //# debugId=D9EB7679EC4DCC4564756E2164756E21
6738
6806
  //# sourceMappingURL=index.js.map