@fluixi/core 1.0.0-alpha.92 → 1.0.0-alpha.94

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 (113) hide show
  1. package/dist/cdn/core.global.js +2 -2
  2. package/dist/src/cdn/{chunk-MDJLC3PE.mjs → chunk-7XM7Q5VR.mjs} +271 -229
  3. package/dist/src/cdn/core.cjs +360 -253
  4. package/dist/src/cdn/core.mjs +92 -20
  5. package/dist/src/cdn/{router-JYFZP3EZ.mjs → router-VOY43YNM.mjs} +7 -3
  6. package/dist/src/index.cjs +548 -232
  7. package/dist/src/index.mjs +549 -224
  8. package/dist/src/lib/client/chunk-TSXM2PNY.mjs +53 -0
  9. package/dist/src/lib/client/index.cjs +310 -176
  10. package/dist/src/lib/client/index.d.ts.map +1 -1
  11. package/dist/src/lib/client/index.js +33 -18
  12. package/dist/src/lib/client/index.mjs +86 -15
  13. package/dist/src/lib/client/{router-PHLUYVQU.mjs → router-BDVPLLYX.mjs} +244 -99
  14. package/dist/src/lib/context/context.cjs +35 -72
  15. package/dist/src/lib/context/context.d.ts +45 -291
  16. package/dist/src/lib/context/context.d.ts.map +1 -1
  17. package/dist/src/lib/context/context.js +65 -397
  18. package/dist/src/lib/context/context.mjs +38 -73
  19. package/dist/src/lib/context/index.cjs +35 -72
  20. package/dist/src/lib/context/index.d.ts +2 -2
  21. package/dist/src/lib/context/index.d.ts.map +1 -1
  22. package/dist/src/lib/context/index.js +1 -5
  23. package/dist/src/lib/context/index.mjs +38 -73
  24. package/dist/src/lib/core.cjs +547 -231
  25. package/dist/src/lib/core.d.ts +5 -3
  26. package/dist/src/lib/core.d.ts.map +1 -1
  27. package/dist/src/lib/core.js +6 -4
  28. package/dist/src/lib/core.mjs +548 -223
  29. package/dist/src/lib/env/index.cjs +1 -17
  30. package/dist/src/lib/env/index.d.ts +2 -14
  31. package/dist/src/lib/env/index.d.ts.map +1 -1
  32. package/dist/src/lib/env/index.js +2 -26
  33. package/dist/src/lib/env/index.mjs +1 -17
  34. package/dist/src/lib/i18n/index.cjs +17 -2
  35. package/dist/src/lib/i18n/index.d.ts +10 -0
  36. package/dist/src/lib/i18n/index.d.ts.map +1 -1
  37. package/dist/src/lib/i18n/index.js +17 -1
  38. package/dist/src/lib/i18n/index.mjs +17 -2
  39. package/dist/src/lib/index.cjs +64 -99
  40. package/dist/src/lib/index.mjs +43 -76
  41. package/dist/src/lib/isomorphic.cjs +9 -4
  42. package/dist/src/lib/isomorphic.d.ts +9 -2
  43. package/dist/src/lib/isomorphic.d.ts.map +1 -1
  44. package/dist/src/lib/isomorphic.js +11 -4
  45. package/dist/src/lib/isomorphic.mjs +9 -4
  46. package/dist/src/lib/jsx-runtime/index.cjs +1 -1
  47. package/dist/src/lib/jsx-runtime/index.mjs +1 -1
  48. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.cjs +1 -1
  49. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.mjs +1 -1
  50. package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +2 -2
  51. package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +2 -2
  52. package/dist/src/lib/plugins/index.cjs +3 -3
  53. package/dist/src/lib/plugins/index.mjs +3 -3
  54. package/dist/src/lib/plugins/route-codegen.cjs +2 -2
  55. package/dist/src/lib/plugins/route-codegen.js +1 -1
  56. package/dist/src/lib/plugins/route-codegen.mjs +2 -2
  57. package/dist/src/lib/render/index.cjs +1 -1
  58. package/dist/src/lib/render/index.mjs +1 -1
  59. package/dist/src/lib/render/versions.cjs +1 -1
  60. package/dist/src/lib/render/versions.mjs +1 -1
  61. package/dist/src/lib/router/data.cjs +113 -115
  62. package/dist/src/lib/router/data.d.ts +63 -10
  63. package/dist/src/lib/router/data.d.ts.map +1 -1
  64. package/dist/src/lib/router/data.js +158 -68
  65. package/dist/src/lib/router/data.mjs +112 -112
  66. package/dist/src/lib/router/index.cjs +260 -163
  67. package/dist/src/lib/router/index.d.ts +22 -2
  68. package/dist/src/lib/router/index.d.ts.map +1 -1
  69. package/dist/src/lib/router/index.js +165 -22
  70. package/dist/src/lib/router/index.mjs +244 -143
  71. package/dist/src/lib/server/index.cjs +1 -1
  72. package/dist/src/lib/server/index.mjs +1 -1
  73. package/dist/src/lib/storage/cache.cjs +51 -0
  74. package/dist/src/lib/storage/cache.d.ts +18 -0
  75. package/dist/src/lib/storage/cache.d.ts.map +1 -0
  76. package/dist/src/lib/storage/cache.js +42 -0
  77. package/dist/src/lib/storage/cache.mjs +30 -0
  78. package/dist/src/lib/storage/index.cjs +246 -0
  79. package/dist/src/lib/storage/index.d.ts +83 -0
  80. package/dist/src/lib/storage/index.d.ts.map +1 -0
  81. package/dist/src/lib/storage/index.js +179 -0
  82. package/dist/src/lib/storage/index.mjs +231 -0
  83. package/dist/src/lib/storage/persisted.cjs +91 -0
  84. package/dist/src/lib/storage/persisted.d.ts +53 -0
  85. package/dist/src/lib/storage/persisted.d.ts.map +1 -0
  86. package/dist/src/lib/storage/persisted.js +75 -0
  87. package/dist/src/lib/storage/persisted.mjs +70 -0
  88. package/dist/src/lib/theme/color-scheme.cjs +281 -0
  89. package/dist/src/lib/theme/color-scheme.d.ts +61 -0
  90. package/dist/src/lib/theme/color-scheme.d.ts.map +1 -0
  91. package/dist/src/lib/theme/color-scheme.js +120 -0
  92. package/dist/src/lib/theme/color-scheme.mjs +265 -0
  93. package/dist/src/lib/theme/index.cjs +194 -37
  94. package/dist/src/lib/theme/index.d.ts +23 -11
  95. package/dist/src/lib/theme/index.d.ts.map +1 -1
  96. package/dist/src/lib/theme/index.js +73 -32
  97. package/dist/src/lib/theme/index.mjs +197 -35
  98. package/dist/src/lib/theme/provider.cjs +346 -0
  99. package/dist/src/lib/theme/provider.d.ts +34 -0
  100. package/dist/src/lib/theme/provider.d.ts.map +1 -0
  101. package/dist/src/lib/theme/provider.js +60 -0
  102. package/dist/src/lib/theme/provider.mjs +332 -0
  103. package/dist/src/routes.cjs +1 -1
  104. package/dist/src/routes.mjs +1 -1
  105. package/dist/src/utils.cjs +1 -1
  106. package/dist/src/utils.mjs +1 -1
  107. package/dist/src/version.generated.cjs +1 -1
  108. package/dist/src/version.generated.d.ts +1 -1
  109. package/dist/src/version.generated.js +1 -1
  110. package/dist/src/version.generated.mjs +1 -1
  111. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  112. package/package.json +18 -11
  113. package/dist/src/lib/client/chunk-VB567ABU.mjs +0 -133
@@ -5,27 +5,22 @@ import {
5
5
  Redirect,
6
6
  Router,
7
7
  __reExport,
8
- cleanupHydration,
9
8
  composeProviders,
10
9
  createBrowserHistory,
11
- createConsumer,
12
10
  createContext,
13
- createContextWithProvider,
14
11
  createMemoryHistory,
15
12
  createProvider,
16
- deserializeHydrationData,
17
13
  lazy,
18
- setHydrating,
14
+ requireContext,
19
15
  useContext,
20
16
  useLocation,
21
17
  useMatch,
22
18
  useNavigate,
23
19
  useParam,
24
20
  useParams,
25
- useProvide,
26
21
  useRouter,
27
22
  useSearchParams
28
- } from "./chunk-MDJLC3PE.mjs";
23
+ } from "./chunk-7XM7Q5VR.mjs";
29
24
 
30
25
  // src/lib/index.ts
31
26
  import {
@@ -59,7 +54,7 @@ import { createRoot as createRoot2 } from "@fluixi/reactive/signal";
59
54
  import { registerCoreVersion } from "@fluixi/dom";
60
55
 
61
56
  // src/version.generated.ts
62
- var VERSION = "1.0.0-alpha.92";
57
+ var VERSION = "1.0.0-alpha.94";
63
58
 
64
59
  // src/lib/render/versions.ts
65
60
  import { stampVersions, warnOnVersionSkew, versions } from "@fluixi/dom";
@@ -391,6 +386,8 @@ function cleanupDelegation() {
391
386
  // src/lib/isomorphic.ts
392
387
  import { createSignal as createSignal4, createMemo as createMemo4 } from "@fluixi/reactive/signal";
393
388
  import { getServerData } from "@fluixi/dom";
389
+ import { createSyncStorage } from "@fluixi/storage";
390
+ import { localStorageAdapter } from "@fluixi/storage/browser";
394
391
  var REGISTRY_KEY = "__fluixi_iso_states__";
395
392
  var SEED_PREFIX = "__iso:";
396
393
  function registry() {
@@ -404,7 +401,7 @@ function readSeed(key) {
404
401
  function createIsomorphicState(key, options) {
405
402
  const seed = readSeed(key);
406
403
  const initial = seed !== void 0 ? seed : typeof window !== "undefined" && options.client ? options.client() : options.fallback;
407
- const [value, set] = createSignal4(initial);
404
+ const [value, set] = createSignal4(initial, { name: key });
408
405
  registry().set(key, { server: options.server, set });
409
406
  return { value, set, key };
410
407
  }
@@ -482,8 +479,75 @@ function getFrameworkInfo() {
482
479
  // src/lib/client/index.ts
483
480
  import {
484
481
  render as domRender,
485
- hydrate as domHydrate
482
+ hydrate as domHydrate,
483
+ beginAppHydration,
484
+ endAppHydration,
485
+ removeUnclaimedKeyed,
486
+ clearHydrationKeys
486
487
  } from "@fluixi/dom";
488
+
489
+ // src/lib/server/hydration.ts
490
+ import { isServer as domIsServer } from "@fluixi/dom";
491
+ var hydrating = false;
492
+ var hydrationDataMap = /* @__PURE__ */ new Map();
493
+ function setHydrating(state) {
494
+ hydrating = state;
495
+ }
496
+ function clearHydrationData() {
497
+ hydrationDataMap.clear();
498
+ }
499
+ function deserializeHydrationData() {
500
+ if (typeof window === "undefined") {
501
+ return false;
502
+ }
503
+ const script = document.getElementById("__FLUIXI_HYDRATION__");
504
+ if (!script || script.getAttribute("type") !== "application/json") {
505
+ return false;
506
+ }
507
+ try {
508
+ const json = script.textContent || "{}";
509
+ const data = JSON.parse(json);
510
+ for (const [key, value] of Object.entries(data)) {
511
+ hydrationDataMap.set(key, value);
512
+ }
513
+ return true;
514
+ } catch (error) {
515
+ console.error("Failed to deserialize hydration data:", error);
516
+ return false;
517
+ }
518
+ }
519
+ function cleanupHydration() {
520
+ if (typeof window === "undefined") {
521
+ return;
522
+ }
523
+ const script = document.getElementById("__FLUIXI_HYDRATION__");
524
+ if (script) {
525
+ script.remove();
526
+ }
527
+ const walker = document.createTreeWalker(
528
+ document.body,
529
+ NodeFilter.SHOW_COMMENT,
530
+ null
531
+ );
532
+ const comments = [];
533
+ let node;
534
+ while (node = walker.nextNode()) {
535
+ const comment = node;
536
+ const text = comment.nodeValue || "";
537
+ if (text.startsWith("#") || text.startsWith("/")) {
538
+ comments.push(comment);
539
+ }
540
+ }
541
+ comments.forEach((comment) => comment.remove());
542
+ clearHydrationData();
543
+ }
544
+ if (typeof window !== "undefined") {
545
+ window.addEventListener("load", () => {
546
+ setTimeout(cleanupHydration, 100);
547
+ });
548
+ }
549
+
550
+ // src/lib/client/index.ts
487
551
  import { createMemo as createMemo6 } from "@fluixi/reactive/signal";
488
552
  import { createHead, setActiveHead, mountHead, stripHeadMarker } from "@fluixi/head";
489
553
  import { hydrate as hydrate2 } from "@fluixi/dom";
@@ -507,16 +571,26 @@ async function startClient(App, options = {}) {
507
571
  setActiveHead(head);
508
572
  stripHeadMarker(container);
509
573
  if (shouldHydrate) {
510
- if (options.routes && options.routes.length) {
511
- const { preloadRoutes } = await import("./router-JYFZP3EZ.mjs");
512
- await preloadRoutes(options.routes, window.location.pathname);
574
+ beginAppHydration();
575
+ try {
576
+ if (options.routes && options.routes.length) {
577
+ const { preloadRoutes } = await import("./router-VOY43YNM.mjs");
578
+ await preloadRoutes(options.routes, window.location.pathname);
579
+ }
580
+ deserializeHydrationData();
581
+ setHydrating(true);
582
+ domHydrate(rootOf(App), container);
583
+ replayEvents();
584
+ } finally {
585
+ endAppHydration();
513
586
  }
514
- deserializeHydrationData();
515
- setHydrating(true);
516
- domHydrate(rootOf(App), container);
517
- replayEvents();
518
587
  setTimeout(() => {
519
588
  setHydrating(false);
589
+ const removed = removeUnclaimedKeyed(container);
590
+ if (removed && typeof process !== "undefined" && false) {
591
+ console.warn(`[fluixi] hydration: removed ${removed} server element(s) the client did not render. Check for markup that depends on client-only state.`);
592
+ }
593
+ clearHydrationKeys();
520
594
  cleanupHydration();
521
595
  }, 100);
522
596
  } else {
@@ -574,9 +648,7 @@ export {
574
648
  createBrowserHistory,
575
649
  createComponent,
576
650
  createComputed2 as createComputed,
577
- createConsumer,
578
651
  createContext,
579
- createContextWithProvider,
580
652
  createDebounce,
581
653
  createDeferred2 as createDeferred,
582
654
  createEffect3 as createEffect,
@@ -614,6 +686,7 @@ export {
614
686
  reduceSignal as reduce,
615
687
  removeClass,
616
688
  render,
689
+ requireContext,
617
690
  runWithOwner2 as runWithOwner,
618
691
  setAttribute,
619
692
  setOwner,
@@ -634,7 +707,6 @@ export {
634
707
  useNavigate,
635
708
  useParam,
636
709
  useParams,
637
- useProvide,
638
710
  useReducer,
639
711
  useRef,
640
712
  useRouter,
@@ -20,6 +20,7 @@ import {
20
20
  select,
21
21
  supportsViewTransitions,
22
22
  useAction,
23
+ useIsRouting,
23
24
  useLevelParams,
24
25
  useLinkNavigation,
25
26
  useLocation,
@@ -31,8 +32,9 @@ import {
31
32
  useRouteData,
32
33
  useRouter,
33
34
  useSearchParams,
34
- useSubmission
35
- } from "./chunk-MDJLC3PE.mjs";
35
+ useSubmission,
36
+ useSubmissions
37
+ } from "./chunk-7XM7Q5VR.mjs";
36
38
  export {
37
39
  A,
38
40
  Form,
@@ -55,6 +57,7 @@ export {
55
57
  select,
56
58
  supportsViewTransitions,
57
59
  useAction,
60
+ useIsRouting,
58
61
  useLevelParams,
59
62
  useLinkNavigation,
60
63
  useLocation,
@@ -66,5 +69,6 @@ export {
66
69
  useRouteData,
67
70
  useRouter,
68
71
  useSearchParams,
69
- useSubmission
72
+ useSubmission,
73
+ useSubmissions
70
74
  };