@qwik.dev/core 2.0.0-beta.32 → 2.0.0-beta.34

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/dist/core.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * @qwik.dev/core 2.0.0-beta.32-dev+0e29f8a
3
+ * @qwik.dev/core 2.0.0-beta.34-dev+8b055bb
4
4
  * Copyright QwikDev. All Rights Reserved.
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
@@ -189,7 +189,7 @@ const isPrimitiveOrNullUndefined = (v) => {
189
189
  return (typeof v !== 'object' && typeof v !== 'function') || v === null || v === undefined;
190
190
  };
191
191
 
192
- const baseUrl = 'https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#Q';
192
+ const baseUrl = 'https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#q';
193
193
  const codeToText = (code, ...parts) => {
194
194
  if (qDev) {
195
195
  // Keep one error, one line to make it easier to search for the error message.
@@ -920,6 +920,9 @@ const createMacroTask = (fn) => {
920
920
  const isBrowser = import.meta.env.TEST ? !isServerPlatform() : !isServer;
921
921
  // Browser-specific setup
922
922
  const doc = isBrowser ? document : undefined;
923
+ const config = {
924
+ $maxIdlePreloads$: 25,
925
+ };
923
926
  // Determine which rel attribute to use based on browser support
924
927
  const rel = isBrowser && doc.createElement('link').relList?.supports?.('modulepreload')
925
928
  ? 'modulePreload'
@@ -987,10 +990,8 @@ function trigger() {
987
990
  const bundle = queue[0];
988
991
  const inverseProbability = bundle.$inverseProbability$;
989
992
  const probability = 1 - inverseProbability;
990
- const allowedPreloads = // While the graph is not available, we limit to 5 preloads
991
- 5;
992
- // When we're 99% sure, everything needs to be queued
993
- if (probability >= 0.99 || preloadCount < allowedPreloads) {
993
+ // We want to preload all the transitive static (1) and dynamic (0.99) dependencies, throttled by the user defined maxIdlePreloads.
994
+ if (probability >= 0.99 || preloadCount < config.$maxIdlePreloads$) {
994
995
  queue.shift();
995
996
  preloadOne(bundle);
996
997
  if (performance.now() >= deadline) {
@@ -1007,13 +1008,12 @@ function trigger() {
1007
1008
  nextTriggerMacroTask();
1008
1009
  }
1009
1010
  }
1010
- const enqueueAdjustment = (bundle, inverseProbability, context, seen) => {
1011
+ const enqueueAdjustment = (bundle, inverseProbability, seen) => {
1011
1012
  // Keep existing work on the stack hot and append new roots behind it.
1012
1013
  adjustmentStack.unshift({
1013
1014
  $bundle$: bundle,
1014
1015
  $inverseProbability$: inverseProbability,
1015
1016
  $seen$: seen,
1016
- $context$: context,
1017
1017
  });
1018
1018
  };
1019
1019
  const processAdjustmentFrame = () => {
@@ -1033,9 +1033,8 @@ const processAdjustmentFrame = () => {
1033
1033
  }
1034
1034
  const probability = 1 - bundle.$inverseProbability$;
1035
1035
  let newInverseProbability;
1036
- if (probability === 1 || (probability >= 0.99 && frame.$context$.$depsCount$ < 100)) {
1037
- frame.$context$.$depsCount$++;
1038
- // we're loaded at max probability, so elevate dynamic imports to 99% sure
1036
+ if (probability === 1 || probability >= 0.99) {
1037
+ // bundle is requested at max probability, so elevate all its transitive static and dynamic deps to 99% sure
1039
1038
  newInverseProbability = Math.min(0.01, 1 - dep.$importProbability$);
1040
1039
  }
1041
1040
  else {
@@ -1051,7 +1050,6 @@ const processAdjustmentFrame = () => {
1051
1050
  $bundle$: depBundle,
1052
1051
  $inverseProbability$: newInverseProbability,
1053
1052
  $seen$: frame.$seen$,
1054
- $context$: frame.$context$,
1055
1053
  });
1056
1054
  return true;
1057
1055
  }
@@ -1128,55 +1126,26 @@ const preloadOne = (bundle) => {
1128
1126
  };
1129
1127
  doc.head.appendChild(link);
1130
1128
  };
1131
- /**
1132
- * Adjust the probability of a bundle based on the probability of its dependent bundles, and queue
1133
- * it if it's likely enough to be preloaded.
1134
- *
1135
- * Note that if the probability is 100%, we treat the dynamic imports as 99% sure, and both will be
1136
- * preloaded without limit.
1137
- *
1138
- * We also limit "organic" probability to 98% so they don't get unlimited preloads.
1139
- */
1140
- const adjustProbabilities = (bundle, newInverseProbability, seen) => {
1141
- enqueueAdjustment(bundle, newInverseProbability, { $depsCount$: 0 }, seen);
1142
- if (shouldYieldInBrowser) {
1143
- nextAdjustmentMacroTask();
1144
- }
1145
- else {
1146
- processPendingAdjustments();
1147
- }
1148
- };
1149
- const handleBundle = (name, inverseProbability, context) => {
1129
+ const handleBundle = (name, inverseProbability) => {
1150
1130
  const bundle = getBundle(name);
1151
- if (bundle && bundle.$inverseProbability$ > inverseProbability) {
1152
- if (context) {
1153
- enqueueAdjustment(bundle, inverseProbability, context);
1154
- }
1155
- else {
1156
- adjustProbabilities(bundle, inverseProbability);
1157
- }
1131
+ if (bundle) {
1132
+ enqueueAdjustment(bundle, inverseProbability);
1158
1133
  }
1159
1134
  };
1160
- const preload = (name, probability) => {
1161
- if (!name?.length) {
1135
+ const preload = (item, probability) => {
1136
+ if (!item?.length) {
1162
1137
  return;
1163
1138
  }
1164
- let inverseProbability = 1 - probability ;
1165
- const context = { $depsCount$: 0 };
1166
- if (Array.isArray(name)) {
1139
+ const inverseProbability = 1 - probability ;
1140
+ if (Array.isArray(item)) {
1167
1141
  // We must process in reverse order to ensure first bundles are handled first
1168
- for (let i = name.length - 1; i >= 0; i--) {
1169
- const item = name[i];
1170
- if (typeof item === 'number') {
1171
- inverseProbability = 1 - item / 10;
1172
- }
1173
- else {
1174
- handleBundle(item, inverseProbability, context);
1175
- }
1142
+ for (let i = item.length - 1; i >= 0; i--) {
1143
+ const bundle = item[i];
1144
+ handleBundle(bundle, inverseProbability);
1176
1145
  }
1177
1146
  }
1178
1147
  else {
1179
- handleBundle(name, inverseProbability, context);
1148
+ handleBundle(item, inverseProbability);
1180
1149
  }
1181
1150
  if (shouldYieldInBrowser) {
1182
1151
  nextAdjustmentMacroTask();
@@ -1219,7 +1188,7 @@ const COMMA = ',';
1219
1188
  *
1220
1189
  * @public
1221
1190
  */
1222
- const version = "2.0.0-beta.32-dev+0e29f8a";
1191
+ const version = "2.0.0-beta.34-dev+8b055bb";
1223
1192
 
1224
1193
  const isNode = (value) => {
1225
1194
  return value && typeof value.nodeType === 'number';
@@ -2373,9 +2342,11 @@ class AsyncSignalImpl extends ComputedSignalImpl {
2373
2342
  }
2374
2343
  async $runComputation$(running) {
2375
2344
  const isCurrent = () => running === this.$current$;
2376
- this.untrackedLoading = true;
2377
2345
  let fn = this.$computeQrl$.resolved;
2378
2346
  if (!fn) {
2347
+ // QRL resolution is async — we have to publish loading=true before awaiting so
2348
+ // subscribers know the value isn't ready yet.
2349
+ this.untrackedLoading = true;
2379
2350
  fn = await this.$computeQrl$.resolve();
2380
2351
  if (running.$abortController$?.signal.aborted) {
2381
2352
  running.$promise$ = null;
@@ -2390,9 +2361,20 @@ class AsyncSignalImpl extends ComputedSignalImpl {
2390
2361
  running.$abortController$?.abort(error);
2391
2362
  }, this.$timeoutMs$);
2392
2363
  }
2393
- // Try to stay sync if possible
2364
+ // Try to stay sync if possible. Only publish loading=true to subscribers when
2365
+ // the compute is actually asynchronous — a synchronous resolve (e.g. pre-loaded
2366
+ // values injected via _injectAsyncSignalValue) should never transition through a
2367
+ // visible loading state, which on SSR would fire the loading-effect subscribers
2368
+ // (tasks) while the value is still "loading" from their perspective.
2394
2369
  const valuePromise = retryOnPromise(fn.bind(null, running));
2395
- const value = isPromise(valuePromise) ? await valuePromise : valuePromise;
2370
+ let value;
2371
+ if (isPromise(valuePromise)) {
2372
+ this.untrackedLoading = true;
2373
+ value = await valuePromise;
2374
+ }
2375
+ else {
2376
+ value = valuePromise;
2377
+ }
2396
2378
  running.$promise$ = null;
2397
2379
  if (running.$canWrite$) {
2398
2380
  const jobs = this.$jobs$;
@@ -6294,13 +6276,18 @@ function scheduleYield() {
6294
6276
  *
6295
6277
  * @param options - Walk options (time budget, etc.)
6296
6278
  */
6297
- function processCursorQueue(options = {
6298
- timeBudget: 1000 / 60, // 60fps
6299
- }) {
6279
+ function processCursorQueue() {
6300
6280
  isNextTickScheduled = false;
6281
+ const startTime = performance.now();
6282
+ const yieldTime = startTime + 15; // 16 ms = 60 FPS, use 15 to yield slightly before next frame
6301
6283
  let cursor = null;
6302
6284
  while ((cursor = getHighestPriorityCursor())) {
6303
- walkCursor(cursor, options);
6285
+ if (walkCursor(cursor, yieldTime)) {
6286
+ // Cursor overran time budget, yield to browser
6287
+ // Note that each tick we process at least one thing
6288
+ scheduleYield();
6289
+ return;
6290
+ }
6304
6291
  }
6305
6292
  }
6306
6293
  /**
@@ -6319,13 +6306,12 @@ function processCursorQueue(options = {
6319
6306
  * Note that there is only one walker for all containers in the app with the same Qwik version.
6320
6307
  *
6321
6308
  * @param cursor - The cursor to walk
6322
- * @param options - Walk options (time budget, etc.)
6323
- * @returns Walk result indicating completion status
6309
+ * @param until - Time budget (timestamp to yield by)
6310
+ * @returns `true` if the walk was paused due to time budget (do not process more cursors in this
6311
+ * tick)
6324
6312
  */
6325
- function walkCursor(cursor, options) {
6326
- const { timeBudget } = options;
6313
+ function walkCursor(cursor, until) {
6327
6314
  const isRunningOnServer = import.meta.env.TEST ? isServerPlatform() : isServer;
6328
- const startTime = performance.now();
6329
6315
  const cursorData = getCursorData(cursor);
6330
6316
  // Check if cursor is blocked by a promise
6331
6317
  const blockingPromise = cursorData.promise;
@@ -6426,13 +6412,8 @@ function walkCursor(cursor, options) {
6426
6412
  return;
6427
6413
  }
6428
6414
  // Check time budget (only for DOM, not SSR)
6429
- if (isBrowser$1) {
6430
- const elapsed = performance.now() - startTime;
6431
- if (elapsed >= timeBudget) {
6432
- // Schedule continuation as macrotask to actually yield to browser
6433
- scheduleYield();
6434
- return;
6435
- }
6415
+ if (performance.now() >= until) {
6416
+ return true;
6436
6417
  }
6437
6418
  }
6438
6419
  isDev &&
@@ -7049,6 +7030,7 @@ const vnode_newText = (textNode, textContent) => {
7049
7030
  isDev && assertFalse(vnode_isVirtualVNode(vnode), 'Incorrect format of TextVNode.');
7050
7031
  return vnode;
7051
7032
  };
7033
+ /** @internal */
7052
7034
  const vnode_newVirtual = () => {
7053
7035
  const vnode = new VirtualVNode(null, 2 /* VNodeFlags.Virtual */ | (-1 << 12 /* VNodeFlagsIndex.shift */), // Flags
7054
7036
  null, null, null, null, null, null);
@@ -7061,6 +7043,7 @@ const vnode_newVirtual = () => {
7061
7043
  const vnode_isVNode = (vNode) => {
7062
7044
  return vNode instanceof VNode;
7063
7045
  };
7046
+ /** @internal */
7064
7047
  const vnode_isElementVNode = (vNode) => {
7065
7048
  return (vNode.flags & 1 /* VNodeFlags.Element */) === 1 /* VNodeFlags.Element */;
7066
7049
  };
@@ -7119,6 +7102,7 @@ const vnode_getNodeTypeName = (vNode) => {
7119
7102
  }
7120
7103
  return '<unknown>';
7121
7104
  };
7105
+ /** @internal */
7122
7106
  const vnode_getProp = (vNode, key, getObject) => {
7123
7107
  if (vnode_isElementVNode(vNode) || vnode_isVirtualVNode(vNode)) {
7124
7108
  const value = vNode.props?.[key] ?? null;
@@ -7131,6 +7115,7 @@ const vnode_getProp = (vNode, key, getObject) => {
7131
7115
  }
7132
7116
  return null;
7133
7117
  };
7118
+ /** @internal */
7134
7119
  const vnode_setProp = (vNode, key, value) => {
7135
7120
  if (value == null && vNode.props) {
7136
7121
  delete vNode.props[key];
@@ -7522,6 +7507,7 @@ const vnode_getChildWithIdx = (vNode, childIdx) => {
7522
7507
  return child;
7523
7508
  };
7524
7509
  const vNodeStack = [];
7510
+ /** @internal */
7525
7511
  const vnode_getVNodeForChildNode = (vNode, childElement) => {
7526
7512
  ensureElementVNode(vNode);
7527
7513
  let child = vnode_getFirstChild(vNode);
@@ -7835,6 +7821,7 @@ const vnode_inflateProjectionTrailingText = (journal, projection) => {
7835
7821
  vnode_ensureTextInflated(journal, last);
7836
7822
  }
7837
7823
  };
7824
+ /** @internal */
7838
7825
  const vnode_insertBefore = (journal, parent, newChild, insertBefore) => {
7839
7826
  if (vnode_isElementOrTextVNode(newChild)) {
7840
7827
  vnode_insertElementBefore(journal, parent, newChild, insertBefore);
@@ -7858,6 +7845,7 @@ const vnode_getDomParentVNode = (vnode, includeProjection) => {
7858
7845
  }
7859
7846
  return vnode;
7860
7847
  };
7848
+ /** @internal */
7861
7849
  const vnode_remove = (journal, vParent, vToRemove, removeDOM) => {
7862
7850
  isDev && assertEqual(vParent, vToRemove.parent, 'Parent mismatch.');
7863
7851
  if (vnode_isTextVNode(vToRemove)) {
@@ -7926,6 +7914,7 @@ const vnode_truncate = (journal, vParent, vDelete, removeDOM = true) => {
7926
7914
  vParent.lastChild = vPrevious;
7927
7915
  };
7928
7916
  //////////////////////////////////////////////////////////////////////////////////////////////////////
7917
+ /** @internal */
7929
7918
  const vnode_getElementName = (vnode) => {
7930
7919
  const elementVNode = ensureElementVNode(vnode);
7931
7920
  let elementName = elementVNode.elementName;
@@ -10398,7 +10387,9 @@ DomRefConstructor, symbolToChunkResolver, setProp, storeProxyMap, writer) => {
10398
10387
  if (!writer) {
10399
10388
  const buffer = [];
10400
10389
  writer = {
10401
- write: (text) => buffer.push(text),
10390
+ write: (text) => {
10391
+ buffer.push(text);
10392
+ },
10402
10393
  toString: () => buffer.join(''),
10403
10394
  };
10404
10395
  }
@@ -11051,23 +11042,31 @@ async function _walkJSX(ssr, value, options) {
11051
11042
  const enqueue = (value) => stack.push(value);
11052
11043
  const drain = async () => {
11053
11044
  while (stack.length) {
11054
- const value = stack.pop();
11055
- // Reference equality first (no prototype walk), then typeof
11056
- if (value === MaybeAsyncSignal) {
11057
- const trackFn = stack.pop();
11058
- await retryOnPromise(() => stack.push(trackFn()));
11059
- continue;
11060
- }
11061
- if (typeof value === 'function') {
11062
- if (value === Promise) {
11063
- stack.push(await stack.pop());
11045
+ try {
11046
+ const value = stack.pop();
11047
+ // Reference equality first (no prototype walk), then typeof
11048
+ if (value === MaybeAsyncSignal) {
11049
+ const trackFn = stack.pop();
11050
+ await retryOnPromise(() => stack.push(trackFn()));
11051
+ continue;
11064
11052
  }
11065
- else {
11066
- await value.apply(ssr);
11053
+ if (typeof value === 'function') {
11054
+ if (value === Promise) {
11055
+ stack.push(await stack.pop());
11056
+ }
11057
+ else {
11058
+ await value.apply(ssr);
11059
+ }
11060
+ continue;
11061
+ }
11062
+ processJSXNode(ssr, enqueue, value, options);
11063
+ }
11064
+ finally {
11065
+ const pendingFlush = ssr.streamHandler.waitForPendingFlush();
11066
+ if (isPromise(pendingFlush)) {
11067
+ await pendingFlush;
11067
11068
  }
11068
- continue;
11069
11069
  }
11070
- processJSXNode(ssr, enqueue, value, options);
11071
11070
  }
11072
11071
  };
11073
11072
  await drain();
@@ -11115,7 +11114,7 @@ function processJSXNode(ssr, enqueue, value, options) {
11115
11114
  currentStyleScoped: options.currentStyleScoped,
11116
11115
  parentComponentFrame: options.parentComponentFrame,
11117
11116
  });
11118
- ssr.streamHandler.flush();
11117
+ await ssr.streamHandler.flush();
11119
11118
  }
11120
11119
  });
11121
11120
  }
@@ -11212,7 +11211,7 @@ function processJSXNode(ssr, enqueue, value, options) {
11212
11211
  currentStyleScoped: options.currentStyleScoped,
11213
11212
  parentComponentFrame: options.parentComponentFrame,
11214
11213
  });
11215
- ssr.streamHandler.flush();
11214
+ await ssr.streamHandler.flush();
11216
11215
  },
11217
11216
  });
11218
11217
  }
@@ -12281,6 +12280,14 @@ const _verifySerializable = (value, seen, ctx, preMessage) => {
12281
12280
  if (canSerialize(unwrapped)) {
12282
12281
  return value;
12283
12282
  }
12283
+ // Framework-internal branded values (e.g. route loaders/actions, validators)
12284
+ // are callables or objects that stamp __brand / __brand__ to opt out of the
12285
+ // serializer walking their internals. Honor that for both objects and
12286
+ // functions — loader/action refs are functions with __brand = 'server_loader'
12287
+ // / 'server_action' and should not be rejected as unserializable.
12288
+ if (unwrapped.__brand || unwrapped.__brand__) {
12289
+ return value;
12290
+ }
12284
12291
  const typeObj = typeof unwrapped;
12285
12292
  switch (typeObj) {
12286
12293
  case 'object':
@@ -12310,10 +12317,6 @@ const _verifySerializable = (value, seen, ctx, preMessage) => {
12310
12317
  if (unwrapped instanceof VNode) {
12311
12318
  return value;
12312
12319
  }
12313
- // We have .__brand and .__brand__
12314
- if (unwrapped.__brand || unwrapped.__brand__) {
12315
- return value;
12316
- }
12317
12320
  if (isSerializableObject(unwrapped)) {
12318
12321
  for (const [key, item] of Object.entries(unwrapped)) {
12319
12322
  _verifySerializable(item, seen, ctx + '.' + key);
@@ -15279,5 +15282,5 @@ if (import.meta.hot) {
15279
15282
  });
15280
15283
  }
15281
15284
 
15282
- export { $, Each, Fragment, NoSerializeSymbol, PrefetchGraph, PrefetchServiceWorker, RenderOnce, Resource, SSRComment, SSRRaw, SSRStream, SSRStreamBlock, SerializerSymbol, SkipRender, Slot, _CONST_PROPS, DomContainer as _DomContainer, _EFFECT_BACK_REF, EMPTY_ARRAY as _EMPTY_ARRAY, EMPTY_OBJ as _EMPTY_OBJ, _IMMUTABLE, _SharedContainer, SubscriptionData as _SubscriptionData, _UNINITIALIZED, _VAR_PROPS, _addProjection, _captures, _chk, createQRL as _createQRL, _deserialize, _dumpState, eachCmp as _eaC, eachCmpTask as _eaT, _executeSsrChores, _fnSignal, _getConstProps, _getContextContainer, _getContextEvent, _getContextHostElement, getDomContainer as _getDomContainer, _getQContainerElement, _getVarProps, _hasStoreEffects, _hmr, isJSXNode as _isJSXNode, isStore as _isStore, isStringifiable as _isStringifiable, isTask as _isTask, _jsxBranch, _jsxC, _jsxQ, _jsxS, _jsxSorted, _jsxSplit, mapApp_findIndx as _mapApp_findIndx, mapArray_get as _mapArray_get, mapArray_set as _mapArray_set, _noopQrl, _noopQrlDEV, preprocessState as _preprocessState, _qrlSync, qrlToString as _qrlToString, _regSymbol, _removeProjection, _res, _resolveContextWithoutSequentialScope, _restProps, _rsc, _run, _serialize, setEvent as _setEvent, _setProjectionTarget, scheduleTask as _task, _updateProjectionProps, _useHmr, _val, verifySerializable as _verifySerializable, vnode_ensureElementInflated as _vnode_ensureElementInflated, vnode_getAttrKeys as _vnode_getAttrKeys, vnode_getFirstChild as _vnode_getFirstChild, vnode_isMaterialized as _vnode_isMaterialized, vnode_isTextVNode as _vnode_isTextVNode, vnode_isVirtualVNode as _vnode_isVirtualVNode, vnode_toString as _vnode_toString, _waitUntilRendered, _walkJSX, _wrapProp, _wrapSignal, component$, componentQrl, createAsync$, createAsyncSignal as createAsyncQrl, createComputed$, createComputedSignal as createComputedQrl, createContextId, h as createElement, createSerializer$, createSerializerSignal as createSerializerQrl, createSignal, event$, eventQrl, forceStoreEffects, getDomContainer, getLocale, getPlatform, h, implicit$FirstArg, inlinedQrl, inlinedQrlDEV, isSignal, jsx, jsxDEV, jsxs, noSerialize, qrl, qrlDEV, render, setPlatform, sync$, untrack, unwrapStore, useAsync$, useAsyncQrl, useComputed$, useComputedQrl, useConstant, useContext, useContextProvider, useErrorBoundary, useId, useLexicalScope, useOn, useOnDocument, useOnWindow, useResource$, useResourceQrl, useSerializer$, useSerializerQrl, useServerData, useSignal, useStore, useStyles$, useStylesQrl, useStylesScoped$, useStylesScopedQrl, useTask$, useTaskQrl, useVisibleTask$, useVisibleTaskQrl, version, withLocale };
15285
+ export { $, Each, Fragment, NoSerializeSymbol, PrefetchGraph, PrefetchServiceWorker, RenderOnce, Resource, SSRComment, SSRRaw, SSRStream, SSRStreamBlock, SerializerSymbol, SkipRender, Slot, _CONST_PROPS, DomContainer as _DomContainer, _EFFECT_BACK_REF, EMPTY_ARRAY as _EMPTY_ARRAY, EMPTY_OBJ as _EMPTY_OBJ, _IMMUTABLE, _SharedContainer, SubscriptionData as _SubscriptionData, _UNINITIALIZED, _VAR_PROPS, _addProjection, _captures, _chk, createQRL as _createQRL, _deserialize, _dumpState, eachCmp as _eaC, eachCmpTask as _eaT, _executeSsrChores, _fnSignal, _getConstProps, _getContextContainer, _getContextEvent, _getContextHostElement, getDomContainer as _getDomContainer, _getQContainerElement, _getVarProps, _hasStoreEffects, _hmr, isJSXNode as _isJSXNode, isStore as _isStore, isStringifiable as _isStringifiable, isTask as _isTask, _jsxBranch, _jsxC, _jsxQ, _jsxS, _jsxSorted, _jsxSplit, mapApp_findIndx as _mapApp_findIndx, mapArray_get as _mapArray_get, mapArray_set as _mapArray_set, _noopQrl, _noopQrlDEV, preprocessState as _preprocessState, _qrlSync, qrlToString as _qrlToString, _regSymbol, _removeProjection, _res, _resolveContextWithoutSequentialScope, _restProps, _rsc, _run, _serialize, setEvent as _setEvent, _setProjectionTarget, scheduleTask as _task, _updateProjectionProps, _useHmr, _val, verifySerializable as _verifySerializable, vnode_ensureElementInflated as _vnode_ensureElementInflated, vnode_getAttrKeys as _vnode_getAttrKeys, vnode_getElementName as _vnode_getElementName, vnode_getFirstChild as _vnode_getFirstChild, vnode_getProp as _vnode_getProp, vnode_getVNodeForChildNode as _vnode_getVNodeForChildNode, vnode_insertBefore as _vnode_insertBefore, vnode_isElementVNode as _vnode_isElementVNode, vnode_isMaterialized as _vnode_isMaterialized, vnode_isTextVNode as _vnode_isTextVNode, vnode_isVirtualVNode as _vnode_isVirtualVNode, vnode_newVirtual as _vnode_newVirtual, vnode_remove as _vnode_remove, vnode_setProp as _vnode_setProp, vnode_toString as _vnode_toString, _waitUntilRendered, _walkJSX, _wrapProp, _wrapSignal, component$, componentQrl, createAsync$, createAsyncSignal as createAsyncQrl, createComputed$, createComputedSignal as createComputedQrl, createContextId, h as createElement, createSerializer$, createSerializerSignal as createSerializerQrl, createSignal, event$, eventQrl, forceStoreEffects, getDomContainer, getLocale, getPlatform, h, implicit$FirstArg, inlinedQrl, inlinedQrlDEV, isSignal, jsx, jsxDEV, jsxs, noSerialize, qrl, qrlDEV, render, setPlatform, sync$, untrack, unwrapStore, useAsync$, useAsyncQrl, useComputed$, useComputedQrl, useConstant, useContext, useContextProvider, useErrorBoundary, useId, useLexicalScope, useOn, useOnDocument, useOnWindow, useResource$, useResourceQrl, useSerializer$, useSerializerQrl, useServerData, useSignal, useStore, useStyles$, useStylesQrl, useStylesScoped$, useStylesScopedQrl, useTask$, useTaskQrl, useVisibleTask$, useVisibleTaskQrl, version, withLocale };
15283
15286
  //# sourceMappingURL=core.mjs.map