@absolutejs/absolute 0.19.0-beta.966 → 0.19.0-beta.967

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 (38) hide show
  1. package/dist/angular/browser.js +24 -20
  2. package/dist/angular/browser.js.map +5 -4
  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 +59 -84
  6. package/dist/angular/index.js.map +8 -7
  7. package/dist/angular/server.js +42 -71
  8. package/dist/angular/server.js.map +5 -5
  9. package/dist/build.js +38 -66
  10. package/dist/build.js.map +4 -4
  11. package/dist/client/index.js +17 -43
  12. package/dist/client/index.js.map +4 -5
  13. package/dist/index.js +45 -73
  14. package/dist/index.js.map +6 -6
  15. package/dist/islands/index.js +17 -43
  16. package/dist/islands/index.js.map +4 -5
  17. package/dist/react/index.js +18 -36
  18. package/dist/react/index.js.map +3 -3
  19. package/dist/react/server.js +2 -2
  20. package/dist/react/server.js.map +2 -2
  21. package/dist/src/angular/browser.d.ts +1 -2
  22. package/dist/src/angular/composables/index.d.ts +1 -0
  23. package/dist/src/angular/composables/usePageContext.d.ts +16 -0
  24. package/dist/src/angular/index.d.ts +1 -2
  25. package/dist/src/angular/pageHandler.d.ts +9 -12
  26. package/dist/src/angular/server.d.ts +0 -1
  27. package/dist/src/angular/ssrRender.d.ts +2 -6
  28. package/dist/svelte/index.js +18 -36
  29. package/dist/svelte/index.js.map +3 -3
  30. package/dist/svelte/server.js +2 -2
  31. package/dist/svelte/server.js.map +2 -2
  32. package/dist/types/angular.d.ts +4 -46
  33. package/dist/types/ember.d.ts +1 -3
  34. package/dist/vue/index.js +18 -36
  35. package/dist/vue/index.js.map +3 -3
  36. package/dist/vue/server.js +2 -2
  37. package/dist/vue/server.js.map +2 -2
  38. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-f1H0gE/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-Up09lr/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-f1H0gE/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-Up09lr/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-f1H0gE/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-Up09lr/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";
@@ -174,7 +174,7 @@ var normalizeSlug = (str) => str.trim().replace(/\s+/g, "-").replace(/[^A-Za-z0-
174
174
  return str.charAt(0).toUpperCase() + str.slice(1);
175
175
  }
176
176
  return normalizeSlug(str).split(/[-_]/).filter(Boolean).map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1).toLowerCase()).join("");
177
- }, toScreamingSnake = (str) => str.replace(/([a-z0-9])([A-Z])/g, "$1_$2").toUpperCase();
177
+ };
178
178
 
179
179
  // src/utils/registerClientScript.ts
180
180
  var scriptRegistry, requestCounter = 0, getRequestId = () => `req_${Date.now()}_${++requestCounter}`, ssrContextGetter = null, getSsrContextId = () => ssrContextGetter?.() || Object.getOwnPropertyDescriptor(globalThis, "__absolutejs_requestId")?.value, registerClientScript = (script, requestId) => {
@@ -512,37 +512,19 @@ var buildRequestProviders = (deps, request, requestContext, responseInit) => [
512
512
  ];
513
513
 
514
514
  // src/angular/ssrRender.ts
515
- var routePropsCache, cacheRouteData = (pagePath, data) => {
515
+ var routeContextCache, cacheRouteData = (pagePath, data) => {
516
516
  const cacheKey = pagePath.split("?")[0] ?? pagePath;
517
- routePropsCache.set(cacheKey, data);
518
- }, getCachedRouteData = (pagePath) => routePropsCache.get(pagePath), selectorCache, buildProviders = (deps, sanitizer, maybeProps, tokenMap, request, requestContext, responseInit, userProviders = []) => {
519
- const providers = [
520
- deps.provideServerRendering(),
521
- deps.provideClientHydration(deps.withHttpTransferCacheOptions(buildAbsoluteHttpTransferCacheOptions())),
522
- deps.provideZonelessChangeDetection(),
523
- { provide: deps.APP_BASE_HREF, useValue: "/" },
524
- {
525
- provide: deps.DomSanitizer,
526
- useValue: sanitizer
527
- },
528
- { provide: deps.Sanitizer, useValue: sanitizer },
529
- ...buildRequestProviders(deps, request, requestContext, responseInit),
530
- ...userProviders
531
- ];
532
- if (!maybeProps) {
533
- return providers;
534
- }
535
- const propProviders = Object.entries(maybeProps).map(([propName, propValue]) => ({
536
- token: tokenMap.get(toScreamingSnake(propName)),
537
- value: propValue
538
- })).filter((entry) => entry.token).map((entry) => ({ provide: entry.token, useValue: entry.value }));
539
- return [...providers, ...propProviders];
540
- }, isInjectionToken = (value) => {
541
- if (!value || typeof value !== "object") {
542
- return false;
543
- }
544
- return "ngMetadataName" in value && value.ngMetadataName === "InjectionToken";
545
- }, discoverTokens = (pageModule) => new Map(Object.entries(pageModule).filter(([, value]) => isInjectionToken(value))), resolveSelector = (deps, pagePath, PageComponent) => {
517
+ routeContextCache.set(cacheKey, data);
518
+ }, getCachedRouteData = (pagePath) => routeContextCache.get(pagePath), selectorCache, buildProviders = (deps, sanitizer, request, requestContext, responseInit, userProviders = []) => [
519
+ deps.provideServerRendering(),
520
+ deps.provideClientHydration(deps.withHttpTransferCacheOptions(buildAbsoluteHttpTransferCacheOptions())),
521
+ deps.provideZonelessChangeDetection(),
522
+ { provide: deps.APP_BASE_HREF, useValue: "/" },
523
+ { provide: deps.DomSanitizer, useValue: sanitizer },
524
+ { provide: deps.Sanitizer, useValue: sanitizer },
525
+ ...buildRequestProviders(deps, request, requestContext, responseInit),
526
+ ...userProviders
527
+ ], resolveSelector = (deps, pagePath, PageComponent) => {
546
528
  const cached = selectorCache.get(pagePath);
547
529
  if (cached) {
548
530
  return cached;
@@ -558,14 +540,14 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
558
540
  return html.replace("</html>", `${snippet}</html>`);
559
541
  }
560
542
  return html + snippet;
561
- }, injectSsrScripts = (html, requestId, indexPath, props) => {
543
+ }, injectSsrScripts = (html, requestId, indexPath, requestContext) => {
562
544
  let result = html;
563
545
  const registeredScripts = getAndClearClientScripts(requestId);
564
546
  if (registeredScripts.length > 0) {
565
547
  result = injectBeforeClose(result, generateClientScriptCode(registeredScripts));
566
548
  }
567
- if (props) {
568
- result = injectBeforeClose(result, `<script>window.__ABS_ANGULAR_PAGE_PROPS__ = ${JSON.stringify(props)};</script>`);
549
+ if (requestContext !== undefined) {
550
+ result = injectBeforeClose(result, `<script>window.__ABS_ANGULAR_REQUEST_CONTEXT__ = ${JSON.stringify(requestContext)};</script>`);
569
551
  }
570
552
  if (indexPath) {
571
553
  const escapedIndexPath = JSON.stringify(indexPath);
@@ -595,7 +577,7 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
595
577
  };
596
578
  var init_ssrRender = __esm(() => {
597
579
  init_registerClientScript();
598
- routePropsCache = new Map;
580
+ routeContextCache = new Map;
599
581
  selectorCache = new Map;
600
582
  });
601
583
 
@@ -4541,26 +4523,21 @@ import '@angular/compiler';
4541
4523
  import { bootstrapApplication } from '@angular/platform-browser';
4542
4524
  import { provideClientHydration } from '@angular/platform-browser';
4543
4525
  import { withHttpTransferCacheOptions } from '@angular/platform-browser';
4544
- import { provideZonelessChangeDetection } from '@angular/core';
4526
+ import { provideZonelessChangeDetection, REQUEST_CONTEXT } from '@angular/core';
4545
4527
  import * as pageModule from '${normalizedImportPath}';
4546
4528
 
4547
4529
  var ${componentClassName} = pageModule.default;
4548
- var toScreamingSnake = function(str) {
4549
- return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();
4550
- };
4551
- var isInjectionToken = function(value) {
4552
- return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';
4553
- };
4554
- var pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};
4530
+ // REQUEST_CONTEXT is hydrated from the SSR-serialized payload so client-side
4531
+ // \`inject(REQUEST_CONTEXT)\` (or \`usePageContext<T>()\`) returns the same
4532
+ // object the server rendered with \u2014 no second round-trip, no transferState
4533
+ // dance for callers.
4534
+ var requestContext = Object.prototype.hasOwnProperty.call(window, '__ABS_ANGULAR_REQUEST_CONTEXT__')
4535
+ ? window.__ABS_ANGULAR_REQUEST_CONTEXT__
4536
+ : null;
4555
4537
  var pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island="true"]'));
4556
4538
  var pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot="true"]'));
4557
4539
  var pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot="true"]'));
4558
- var propProviders = Object.entries(pageProps).map(function(entry) {
4559
- var propName = entry[0];
4560
- var propValue = entry[1];
4561
- var token = pageModule[toScreamingSnake(propName)];
4562
- return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;
4563
- }).filter(Boolean);
4540
+ var contextProviders = [{ provide: REQUEST_CONTEXT, useValue: requestContext }];
4564
4541
  // Page-level providers, opt-in via \`export const providers = [...]\` in the
4565
4542
  // page module. Required so DI tokens that the component (or any service it
4566
4543
  // injects) needs are available client-side too \u2014 without these, services
@@ -4613,7 +4590,7 @@ if (!window.__HMR_SKIP_HYDRATION__ && !pageHasIslands) {
4613
4590
  }
4614
4591
  delete window.__HMR_SKIP_HYDRATION__;
4615
4592
  providers.push.apply(providers, pageProviders);
4616
- providers.push.apply(providers, propProviders);
4593
+ providers.push.apply(providers, contextProviders);
4617
4594
  window.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;
4618
4595
 
4619
4596
  if (pageHasRawStreamingSlots) {
@@ -4641,26 +4618,21 @@ import '@angular/compiler';
4641
4618
  import { bootstrapApplication } from '@angular/platform-browser';
4642
4619
  import { provideClientHydration } from '@angular/platform-browser';
4643
4620
  import { withHttpTransferCacheOptions } from '@angular/platform-browser';
4644
- import { enableProdMode, provideZonelessChangeDetection } from '@angular/core';
4621
+ import { enableProdMode, provideZonelessChangeDetection, REQUEST_CONTEXT } from '@angular/core';
4645
4622
  import * as pageModule from '${normalizedImportPath}';
4646
4623
 
4647
4624
  var ${componentClassName} = pageModule.default;
4648
- var toScreamingSnake = function(str) {
4649
- return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();
4650
- };
4651
- var isInjectionToken = function(value) {
4652
- return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';
4653
- };
4654
- var pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};
4625
+ // REQUEST_CONTEXT is hydrated from the SSR-serialized payload so client-side
4626
+ // \`inject(REQUEST_CONTEXT)\` (or \`usePageContext<T>()\`) returns the same
4627
+ // object the server rendered with \u2014 no second round-trip, no transferState
4628
+ // dance for callers.
4629
+ var requestContext = Object.prototype.hasOwnProperty.call(window, '__ABS_ANGULAR_REQUEST_CONTEXT__')
4630
+ ? window.__ABS_ANGULAR_REQUEST_CONTEXT__
4631
+ : null;
4655
4632
  var pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island="true"]'));
4656
4633
  var pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot="true"]'));
4657
4634
  var pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot="true"]'));
4658
- var propProviders = Object.entries(pageProps).map(function(entry) {
4659
- var propName = entry[0];
4660
- var propValue = entry[1];
4661
- var token = pageModule[toScreamingSnake(propName)];
4662
- return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;
4663
- }).filter(Boolean);
4635
+ var contextProviders = [{ provide: REQUEST_CONTEXT, useValue: requestContext }];
4664
4636
  // Page-level providers, opt-in via \`export const providers = [...]\` in the
4665
4637
  // page module. Required so DI tokens that the component (or any service it
4666
4638
  // injects) needs are available client-side too \u2014 without these, services
@@ -4677,7 +4649,7 @@ var absoluteHttpTransferCacheOptions = {
4677
4649
 
4678
4650
  enableProdMode();
4679
4651
 
4680
- var providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);
4652
+ var providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(contextProviders);
4681
4653
  if (!pageHasIslands) {
4682
4654
  providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));
4683
4655
  }
@@ -14797,12 +14769,12 @@ var handleAngularPageRequest = async (input) => {
14797
14769
  const resolvedIndexPath = input.indexPath;
14798
14770
  const options = input;
14799
14771
  const resolvedPagePath = input.pagePath;
14800
- const maybeProps = input.props;
14772
+ const maybeRequestContext = input.requestContext;
14801
14773
  const responseInit = input.responseInit ?? {};
14802
14774
  const resolvedUrl = resolveRequestRenderUrl(input.request);
14803
14775
  cacheRouteData(resolvedPagePath, {
14804
14776
  headTag: resolvedHeadTag,
14805
- props: maybeProps
14777
+ requestContext: maybeRequestContext
14806
14778
  });
14807
14779
  try {
14808
14780
  assertNoHandlerProviders(input);
@@ -14822,7 +14794,6 @@ var handleAngularPageRequest = async (input) => {
14822
14794
  const hasIslands = typeof pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ === "boolean" ? pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ : false;
14823
14795
  const usesLegacyAnimations = pageModule.__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ === true;
14824
14796
  const deps = baseDeps;
14825
- const tokenMap = discoverTokens(pageModule);
14826
14797
  const selector = resolveSelector(deps, resolvedPagePath, PageComponent);
14827
14798
  lastSelector = selector;
14828
14799
  const htmlString = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${selector}></${selector}></body></html>`;
@@ -14835,11 +14806,11 @@ var handleAngularPageRequest = async (input) => {
14835
14806
  ...pageProviders,
14836
14807
  ...await buildServerAnimationProviders(usesLegacyAnimations)
14837
14808
  ];
14838
- const providers = buildProviders(deps, sanitizer, maybeProps, tokenMap, input.request, input.requestContext, responseInit, combinedProviders);
14809
+ const providers = buildProviders(deps, sanitizer, input.request, maybeRequestContext, responseInit, combinedProviders);
14839
14810
  const rawHtml = await renderAngularApp(deps, PageComponent, providers, htmlString, resolvedUrl);
14840
14811
  const shouldProcessIslands = hasIslands || rawHtml.includes("<absolute-island");
14841
14812
  const htmlWithLoweredIslands = shouldProcessIslands ? await lowerAngularServerIslands(rawHtml) : rawHtml;
14842
- const html = injectIslandPageContext(injectSsrScripts(htmlWithLoweredIslands, requestId, resolvedIndexPath, maybeProps), { hasIslands: shouldProcessIslands });
14813
+ const html = injectIslandPageContext(injectSsrScripts(htmlWithLoweredIslands, requestId, resolvedIndexPath, maybeRequestContext), { hasIslands: shouldProcessIslands });
14843
14814
  return new Response(html, withHtmlContentType(responseInit));
14844
14815
  };
14845
14816
  return await runWithStreamingSlotWarningScope(() => options?.collectStreamingSlots === true ? withRegisteredStreamingSlots(renderPageResponse, options) : renderPageResponse(), { handlerCallsite });
@@ -14856,10 +14827,13 @@ var handleAngularPageRequest = async (input) => {
14856
14827
  }
14857
14828
  });
14858
14829
  };
14830
+ // src/angular/composables/usePageContext.ts
14831
+ import { inject, REQUEST_CONTEXT } from "@angular/core";
14832
+ var usePageContext = () => inject(REQUEST_CONTEXT);
14859
14833
  // src/angular/composables/useResource.ts
14860
- import { DestroyRef, inject, signal } from "@angular/core";
14834
+ import { DestroyRef, inject as inject2, signal } from "@angular/core";
14861
14835
  var useResource = (fetcher, options = {}) => {
14862
- const destroyRef = inject(DestroyRef);
14836
+ const destroyRef = inject2(DestroyRef);
14863
14837
  const start = options.start ?? "immediate";
14864
14838
  const data = signal(null);
14865
14839
  const error = signal(null);
@@ -14917,16 +14891,16 @@ var useResource = (fetcher, options = {}) => {
14917
14891
  return { cancel, data, error, loading, mutate, refresh };
14918
14892
  };
14919
14893
  // src/angular/composables/useSubscription.ts
14920
- import { DestroyRef as DestroyRef2, inject as inject2 } from "@angular/core";
14894
+ import { DestroyRef as DestroyRef2, inject as inject3 } from "@angular/core";
14921
14895
  import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
14922
14896
  function useSubscription(observable, observerOrNext) {
14923
- const destroyRef = inject2(DestroyRef2);
14897
+ const destroyRef = inject3(DestroyRef2);
14924
14898
  return observable.pipe(takeUntilDestroyed(destroyRef)).subscribe(typeof observerOrNext === "function" ? { next: observerOrNext } : observerOrNext);
14925
14899
  }
14926
14900
  // src/angular/composables/useTimers.ts
14927
- import { DestroyRef as DestroyRef3, inject as inject3 } from "@angular/core";
14901
+ import { DestroyRef as DestroyRef3, inject as inject4 } from "@angular/core";
14928
14902
  var useTimers = () => {
14929
- const destroyRef = inject3(DestroyRef3);
14903
+ const destroyRef = inject4(DestroyRef3);
14930
14904
  const timeouts = new Set;
14931
14905
  const intervals = new Set;
14932
14906
  const clearAll = () => {
@@ -14966,7 +14940,7 @@ var useTimers = () => {
14966
14940
  };
14967
14941
  };
14968
14942
  // src/angular/preserveAcrossHmr.ts
14969
- import { ChangeDetectorRef, inject as inject4 } from "@angular/core";
14943
+ import { ChangeDetectorRef, inject as inject5 } from "@angular/core";
14970
14944
 
14971
14945
  // src/angular/hmrPreserveCore.ts
14972
14946
  var isHmrPreserveDev = () => {
@@ -15037,15 +15011,15 @@ var preserveAcrossHmr = (instance, key) => {
15037
15011
  if (!restored)
15038
15012
  return;
15039
15013
  try {
15040
- const cdr = inject4(ChangeDetectorRef, { optional: true });
15014
+ const cdr = inject5(ChangeDetectorRef, { optional: true });
15041
15015
  if (cdr)
15042
15016
  queueMicrotask(() => cdr.markForCheck());
15043
15017
  } catch {}
15044
15018
  };
15045
15019
  // src/angular/pendingTask.ts
15046
- import { inject as inject5, PendingTasks } from "@angular/core";
15020
+ import { inject as inject6, PendingTasks } from "@angular/core";
15047
15021
  var withPendingTask = async (work) => {
15048
- const removeTask = inject5(PendingTasks).add();
15022
+ const removeTask = inject6(PendingTasks).add();
15049
15023
  try {
15050
15024
  return await work();
15051
15025
  } finally {
@@ -15245,7 +15219,7 @@ import {
15245
15219
  ChangeDetectorRef as ChangeDetectorRef2,
15246
15220
  Component as Component2,
15247
15221
  Input as Input2,
15248
- inject as inject6,
15222
+ inject as inject7,
15249
15223
  signal as signal2
15250
15224
  } from "@angular/core";
15251
15225
  import { DomSanitizer } from "@angular/platform-browser";
@@ -15262,8 +15236,8 @@ class StreamSlotComponent {
15262
15236
  constructor() {
15263
15237
  this.fallbackHtml = "";
15264
15238
  }
15265
- cdr = inject6(ChangeDetectorRef2);
15266
- sanitizer = inject6(DomSanitizer);
15239
+ cdr = inject7(ChangeDetectorRef2);
15240
+ sanitizer = inject7(DomSanitizer);
15267
15241
  slotConsumer = (payload) => {
15268
15242
  this.currentHtml.set(this.sanitizer.bypassSecurityTrustHtml(resolvePayloadHtml(payload)));
15269
15243
  this.cdr.markForCheck();
@@ -15351,6 +15325,7 @@ export {
15351
15325
  useTimers,
15352
15326
  useSubscription,
15353
15327
  useResource,
15328
+ usePageContext,
15354
15329
  renderIsland,
15355
15330
  provideDeterministicEnv,
15356
15331
  preserveAcrossHmr,
@@ -15368,5 +15343,5 @@ export {
15368
15343
  ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER
15369
15344
  };
15370
15345
 
15371
- //# debugId=D0855BF600604B6564756E2164756E21
15346
+ //# debugId=E195A921170613CC64756E2164756E21
15372
15347
  //# sourceMappingURL=index.js.map