@absolutejs/absolute 0.19.0-beta.707 → 0.19.0-beta.709

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 (67) hide show
  1. package/dist/angular/browser.js +26 -32
  2. package/dist/angular/browser.js.map +5 -4
  3. package/dist/angular/components/constants.js +6 -0
  4. package/dist/angular/index.js +117 -29
  5. package/dist/angular/index.js.map +5 -5
  6. package/dist/angular/server.js +117 -29
  7. package/dist/angular/server.js.map +5 -5
  8. package/dist/build.js +264 -152
  9. package/dist/build.js.map +12 -12
  10. package/dist/cli/index.js +44 -25
  11. package/dist/client/index.js +105 -28
  12. package/dist/client/index.js.map +4 -4
  13. package/dist/core/streamingSlotRegistrar.js +1 -19
  14. package/dist/core/streamingSlotRegistrar.js.map +2 -2
  15. package/dist/core/streamingSlotRegistry.js +1 -19
  16. package/dist/core/streamingSlotRegistry.js.map +2 -2
  17. package/dist/dev/client/cssUtils.ts +6 -2
  18. package/dist/dev/client/handlers/angular.ts +41 -35
  19. package/dist/dev/client/handlers/angularRuntime.ts +8 -3
  20. package/dist/dev/client/hmrClient.ts +1 -1
  21. package/dist/dev/client/reactRefreshSetup.ts +0 -1
  22. package/dist/image-client/imageClient.js +16 -4
  23. package/dist/index.js +298 -170
  24. package/dist/index.js.map +15 -15
  25. package/dist/islands/browser.js +1 -19
  26. package/dist/islands/browser.js.map +2 -2
  27. package/dist/islands/index.js +107 -20
  28. package/dist/islands/index.js.map +4 -4
  29. package/dist/react/browser.js +1 -19
  30. package/dist/react/browser.js.map +2 -2
  31. package/dist/react/components/browser/index.js +16 -4
  32. package/dist/react/components/index.js +24 -31
  33. package/dist/react/components/index.js.map +5 -4
  34. package/dist/react/hooks/index.js +1 -19
  35. package/dist/react/hooks/index.js.map +2 -2
  36. package/dist/react/index.js +117 -29
  37. package/dist/react/index.js.map +5 -5
  38. package/dist/react/jsxDevRuntimeCompat.js +1 -19
  39. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  40. package/dist/react/server.js +23 -29
  41. package/dist/react/server.js.map +4 -4
  42. package/dist/src/angular/components/constants.d.ts +4 -0
  43. package/dist/src/client/streamSwap.d.ts +0 -10
  44. package/dist/src/constants.d.ts +4 -0
  45. package/dist/src/dev/rebuildTrigger.d.ts +1 -1
  46. package/dist/src/svelte/renderToPipeableStream.d.ts +2 -2
  47. package/dist/src/svelte/renderToReadableStream.d.ts +2 -2
  48. package/dist/src/svelte/renderToString.d.ts +2 -2
  49. package/dist/src/vue/components/Image.d.ts +3 -3
  50. package/dist/svelte/browser.js +1 -19
  51. package/dist/svelte/browser.js.map +2 -2
  52. package/dist/svelte/index.js +119 -30
  53. package/dist/svelte/index.js.map +6 -6
  54. package/dist/svelte/server.js +25 -30
  55. package/dist/svelte/server.js.map +5 -5
  56. package/dist/types/globals.d.ts +10 -2
  57. package/dist/vue/browser.js +1 -19
  58. package/dist/vue/browser.js.map +2 -2
  59. package/dist/vue/components/Image.js +24 -31
  60. package/dist/vue/components/Image.js.map +5 -4
  61. package/dist/vue/components/index.js +24 -31
  62. package/dist/vue/components/index.js.map +5 -4
  63. package/dist/vue/index.js +121 -41
  64. package/dist/vue/index.js.map +6 -6
  65. package/dist/vue/server.js +23 -29
  66. package/dist/vue/server.js.map +4 -4
  67. package/package.json +1 -1
@@ -3,7 +3,6 @@ var __create = Object.create;
3
3
  var __getProtoOf = Object.getPrototypeOf;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
7
  function __accessProp(key) {
9
8
  return this[key];
@@ -30,23 +29,6 @@ var __toESM = (mod, isNodeMode, target) => {
30
29
  cache.set(mod, to);
31
30
  return to;
32
31
  };
33
- var __toCommonJS = (from) => {
34
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
35
- if (entry)
36
- return entry;
37
- entry = __defProp({}, "__esModule", { value: true });
38
- if (from && typeof from === "object" || typeof from === "function") {
39
- for (var key of __getOwnPropNames(from))
40
- if (!__hasOwnProp.call(entry, key))
41
- __defProp(entry, key, {
42
- get: __accessProp.bind(from, key),
43
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
44
- });
45
- }
46
- __moduleCache.set(from, entry);
47
- return entry;
48
- };
49
- var __moduleCache;
50
32
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
51
33
  var __returnValue = (v) => v;
52
34
  function __exportSetter(name, newValue) {
@@ -79,8 +61,19 @@ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
79
61
  var __require = import.meta.require;
80
62
 
81
63
  // src/constants.ts
82
- var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_CODE = 27, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000, WORKSPACE_COMMAND_ARGS_OFFSET = 3, WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30, WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60, WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5000, WORKSPACE_READY_PROBE_INTERVAL_MS = 250, WORKSPACE_READY_TIMEOUT_MS = 30000, WORKSPACE_SHUTDOWN_TIMEOUT_MS = 1e4, WORKSPACE_TUI_DEFAULT_HEIGHT = 28, WORKSPACE_TUI_DEFAULT_WIDTH = 100, WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, WORKSPACE_TUI_FOOTER_LINE_COUNT = 3, WORKSPACE_TUI_MIN_LOG_HEIGHT = 3, WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7, WORKSPACE_TUI_MIN_TARGET_WIDTH = 8, WORKSPACE_TUI_MIN_WRAP_WIDTH = 12, WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3, WORKSPACE_TUI_RECENT_LOG_LIMIT = 40, WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16, WORKSPACE_TUI_STATUS_WIDTH = 10, WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6, WORKSPACE_TUI_VISIBILITY_WIDTH = 8;
64
+ var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_CODE = 27, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, IMAGE_DEFAULT_DEVICE_SIZES, IMAGE_DEFAULT_IMAGE_SIZES, IMAGE_DEFAULT_QUALITY = 75, IMAGE_GLOB_SUFFIX_LENGTH = 2, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000, WORKSPACE_COMMAND_ARGS_OFFSET = 3, WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30, WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60, WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5000, WORKSPACE_READY_PROBE_INTERVAL_MS = 250, WORKSPACE_READY_TIMEOUT_MS = 30000, WORKSPACE_SHUTDOWN_TIMEOUT_MS = 1e4, WORKSPACE_TUI_DEFAULT_HEIGHT = 28, WORKSPACE_TUI_DEFAULT_WIDTH = 100, WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, WORKSPACE_TUI_FOOTER_LINE_COUNT = 3, WORKSPACE_TUI_MIN_LOG_HEIGHT = 3, WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7, WORKSPACE_TUI_MIN_TARGET_WIDTH = 8, WORKSPACE_TUI_MIN_WRAP_WIDTH = 12, WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3, WORKSPACE_TUI_RECENT_LOG_LIMIT = 40, WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16, WORKSPACE_TUI_STATUS_WIDTH = 10, WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6, WORKSPACE_TUI_VISIBILITY_WIDTH = 8;
83
65
  var init_constants = __esm(() => {
66
+ IMAGE_DEFAULT_DEVICE_SIZES = [
67
+ 640,
68
+ 750,
69
+ 828,
70
+ 1080,
71
+ 1200,
72
+ 1920,
73
+ 2048,
74
+ 3840
75
+ ];
76
+ IMAGE_DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];
84
77
  MILLISECONDS_IN_A_MINUTE = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;
85
78
  MILLISECONDS_IN_A_DAY = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE * MINUTES_IN_AN_HOUR * HOURS_IN_DAY;
86
79
  TWO_THIRDS = 2 / 3;
@@ -251,12 +244,91 @@ var ensureHead = (doc) => {
251
244
  }
252
245
  const head = doc.createElement("head");
253
246
  doc.documentElement.insertBefore(head, doc.documentElement.firstChild);
247
+ }, SSR_LAYOUT_RECT, layoutPatchApplied = false, collectPrototypeChain = (instance) => {
248
+ const protos = [];
249
+ let current = instance ? Object.getPrototypeOf(instance) : null;
250
+ while (current && current !== Object.prototype) {
251
+ protos.push(current);
252
+ current = Object.getPrototypeOf(current);
253
+ }
254
+ return protos;
255
+ }, patchElementLayout = (doc) => {
256
+ if (layoutPatchApplied || !doc) {
257
+ return;
258
+ }
259
+ let element;
260
+ try {
261
+ element = doc.createElement("div");
262
+ } catch {
263
+ return;
264
+ }
265
+ const protos = collectPrototypeChain(element);
266
+ if (protos.length === 0)
267
+ return;
268
+ const copyLayoutRect = (rect) => ({ ...rect });
269
+ const createLayoutRect = () => copyLayoutRect(SSR_LAYOUT_RECT);
270
+ const getClientRects = () => [];
271
+ const noop = () => {
272
+ return;
273
+ };
274
+ const numericProps = [
275
+ "clientWidth",
276
+ "clientHeight",
277
+ "clientLeft",
278
+ "clientTop",
279
+ "offsetWidth",
280
+ "offsetHeight",
281
+ "offsetLeft",
282
+ "offsetTop",
283
+ "scrollWidth",
284
+ "scrollHeight",
285
+ "scrollLeft",
286
+ "scrollTop"
287
+ ];
288
+ for (const proto of protos) {
289
+ const define = (name, value) => {
290
+ const descriptor = Object.getOwnPropertyDescriptor(proto, name);
291
+ if (typeof descriptor?.value === "function")
292
+ return;
293
+ Object.defineProperty(proto, name, {
294
+ configurable: true,
295
+ value,
296
+ writable: true
297
+ });
298
+ };
299
+ define("getBoundingClientRect", createLayoutRect);
300
+ define("getClientRects", getClientRects);
301
+ define("scrollTo", noop);
302
+ define("scrollBy", noop);
303
+ define("scrollIntoView", noop);
304
+ define("focus", noop);
305
+ define("blur", noop);
306
+ for (const prop of numericProps) {
307
+ const desc = Object.getOwnPropertyDescriptor(proto, prop);
308
+ if (desc)
309
+ continue;
310
+ Object.defineProperty(proto, prop, {
311
+ configurable: true,
312
+ get: () => 0
313
+ });
314
+ }
315
+ }
316
+ layoutPatchApplied = true;
254
317
  }, applyPatches = async () => {
255
318
  const { \u{275}DominoAdapter } = await import(resolveAngularPackage("@angular/platform-server"));
256
319
  if (!\u{275}DominoAdapter?.prototype) {
257
320
  console.warn("[Angular Patch] \u0275DominoAdapter not found, skipping patches");
258
321
  return false;
259
322
  }
323
+ try {
324
+ const adapter = new \u{275}DominoAdapter;
325
+ const seedDoc = typeof adapter.createHtmlDocument === "function" ? adapter.createHtmlDocument() : typeof adapter.getDefaultDocument === "function" ? adapter.getDefaultDocument() : null;
326
+ if (seedDoc) {
327
+ patchElementLayout(seedDoc);
328
+ }
329
+ } catch (error) {
330
+ console.warn("[Angular Patch] Could not eagerly patch Element prototypes:", error);
331
+ }
260
332
  const proto = \u{275}DominoAdapter.prototype;
261
333
  const origGetBaseHref = proto.getBaseHref;
262
334
  proto.getBaseHref = function(doc) {
@@ -269,18 +341,33 @@ var ensureHead = (doc) => {
269
341
  proto.createHtmlDocument = function() {
270
342
  const doc = origCreateHtmlDocument.call(this);
271
343
  ensureHead(doc);
344
+ patchElementLayout(doc);
272
345
  return doc;
273
346
  };
274
347
  const origGetDefaultDocument = proto.getDefaultDocument;
275
348
  proto.getDefaultDocument = function() {
276
349
  const doc = origGetDefaultDocument.call(this);
277
350
  ensureHead(doc);
351
+ patchElementLayout(doc);
278
352
  return doc;
279
353
  };
280
354
  return true;
281
355
  };
282
356
  var init_angularPatch = __esm(() => {
283
357
  init_resolveAngularPackage();
358
+ SSR_LAYOUT_RECT = Object.freeze({
359
+ bottom: 0,
360
+ height: 0,
361
+ left: 0,
362
+ right: 0,
363
+ top: 0,
364
+ width: 0,
365
+ x: 0,
366
+ y: 0,
367
+ toJSON() {
368
+ return this;
369
+ }
370
+ });
284
371
  });
285
372
 
286
373
  // src/angular/angularDeps.ts
@@ -1724,14 +1811,15 @@ var init_devRouteRegistrationCallsite = __esm(() => {
1724
1811
 
1725
1812
  // src/client/streamSwap.ts
1726
1813
  var streamSwapRuntime = () => {
1814
+ const absoluteWindow = window;
1727
1815
  const SLOT_PATCH_EVENT = "absolutejs:slot-patch";
1728
- if (window.__ABS_SLOT_RUNTIME__ === true)
1816
+ if (absoluteWindow.__ABS_SLOT_RUNTIME__ === true)
1729
1817
  return;
1730
- window.__ABS_SLOT_RUNTIME__ = true;
1731
- window.__ABS_SLOT_CONSUMERS__ = window.__ABS_SLOT_CONSUMERS__ ?? {};
1732
- window.__ABS_SLOT_PENDING__ = window.__ABS_SLOT_PENDING__ ?? {};
1733
- const consumers = window.__ABS_SLOT_CONSUMERS__;
1734
- const pending = window.__ABS_SLOT_PENDING__;
1818
+ absoluteWindow.__ABS_SLOT_RUNTIME__ = true;
1819
+ absoluteWindow.__ABS_SLOT_CONSUMERS__ = absoluteWindow.__ABS_SLOT_CONSUMERS__ ?? {};
1820
+ absoluteWindow.__ABS_SLOT_PENDING__ = absoluteWindow.__ABS_SLOT_PENDING__ ?? {};
1821
+ const consumers = absoluteWindow.__ABS_SLOT_CONSUMERS__;
1822
+ const pending = absoluteWindow.__ABS_SLOT_PENDING__;
1735
1823
  const isObjectRecord4 = (value) => Boolean(value) && typeof value === "object";
1736
1824
  const isPatchedPendingEntry = (value) => {
1737
1825
  if (!isObjectRecord4(value))
@@ -1739,7 +1827,7 @@ var streamSwapRuntime = () => {
1739
1827
  return value.domPatched === true && "payload" in value;
1740
1828
  };
1741
1829
  const unwrapPendingPayload = (value) => isPatchedPendingEntry(value) ? value.payload : value;
1742
- const canApplyImmediately = () => window.__ABS_SLOT_HYDRATION_PENDING__ !== true;
1830
+ const canApplyImmediately = () => absoluteWindow.__ABS_SLOT_HYDRATION_PENDING__ !== true;
1743
1831
  const isAngularDeferPayload = (payload) => {
1744
1832
  if (!isObjectRecord4(payload))
1745
1833
  return false;
@@ -1809,8 +1897,8 @@ var streamSwapRuntime = () => {
1809
1897
  apply(id, pending[id] ?? "");
1810
1898
  }
1811
1899
  };
1812
- window.__ABS_SLOT_FLUSH__ = flush;
1813
- window.__ABS_SLOT_ENQUEUE__ = (id, payload) => {
1900
+ absoluteWindow.__ABS_SLOT_FLUSH__ = flush;
1901
+ absoluteWindow.__ABS_SLOT_ENQUEUE__ = (id, payload) => {
1814
1902
  apply(id, payload);
1815
1903
  };
1816
1904
  if (typeof MutationObserver === "function") {
@@ -4967,5 +5055,5 @@ export {
4967
5055
  handleAngularPageRequest
4968
5056
  };
4969
5057
 
4970
- //# debugId=930925549D03897164756E2164756E21
5058
+ //# debugId=CA232BE3410C565564756E2164756E21
4971
5059
  //# sourceMappingURL=server.js.map