@fluixi/core 1.0.0-alpha.100

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 (253) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +334 -0
  3. package/dist/cdn/core.global.js +2 -0
  4. package/dist/cli/generate.cjs +5639 -0
  5. package/dist/cli/generate.d.ts +7 -0
  6. package/dist/cli/generate.d.ts.map +1 -0
  7. package/dist/cli/generate.js +2580 -0
  8. package/dist/cli/generate.mjs +5644 -0
  9. package/dist/cli/index.cjs +5639 -0
  10. package/dist/cli/index.d.ts +7 -0
  11. package/dist/cli/index.d.ts.map +1 -0
  12. package/dist/cli/index.js +2580 -0
  13. package/dist/cli/index.mjs +5644 -0
  14. package/dist/cli/run.cjs +64 -0
  15. package/dist/cli/run.d.ts +3 -0
  16. package/dist/cli/run.d.ts.map +1 -0
  17. package/dist/cli/run.js +62 -0
  18. package/dist/cli/run.mjs +40 -0
  19. package/dist/fluixi.d.ts +5 -0
  20. package/dist/src/cdn/chunk-RKBFEFZP.mjs +987 -0
  21. package/dist/src/cdn/core.cjs +1592 -0
  22. package/dist/src/cdn/core.d.ts +16 -0
  23. package/dist/src/cdn/core.d.ts.map +1 -0
  24. package/dist/src/cdn/core.js +15 -0
  25. package/dist/src/cdn/core.mjs +714 -0
  26. package/dist/src/cdn/router-V2THK27H.mjs +74 -0
  27. package/dist/src/index.cjs +1711 -0
  28. package/dist/src/index.d.ts +4 -0
  29. package/dist/src/index.d.ts.map +1 -0
  30. package/dist/src/index.js +11 -0
  31. package/dist/src/index.mjs +1833 -0
  32. package/dist/src/jsx-dev-runtime.cjs +26 -0
  33. package/dist/src/jsx-dev-runtime.d.ts +2 -0
  34. package/dist/src/jsx-dev-runtime.d.ts.map +1 -0
  35. package/dist/src/jsx-dev-runtime.js +1 -0
  36. package/dist/src/jsx-dev-runtime.mjs +24 -0
  37. package/dist/src/jsx-runtime.cjs +26 -0
  38. package/dist/src/jsx-runtime.d.ts +7 -0
  39. package/dist/src/jsx-runtime.d.ts.map +1 -0
  40. package/dist/src/jsx-runtime.js +8 -0
  41. package/dist/src/jsx-runtime.mjs +24 -0
  42. package/dist/src/lib/client/chunk-FDOPDB6Z.mjs +53 -0
  43. package/dist/src/lib/client/index.cjs +1210 -0
  44. package/dist/src/lib/client/index.d.ts +51 -0
  45. package/dist/src/lib/client/index.d.ts.map +1 -0
  46. package/dist/src/lib/client/index.js +174 -0
  47. package/dist/src/lib/client/index.mjs +293 -0
  48. package/dist/src/lib/client/router-4PTBPZLQ.mjs +891 -0
  49. package/dist/src/lib/context/context.cjs +81 -0
  50. package/dist/src/lib/context/context.d.ts +73 -0
  51. package/dist/src/lib/context/context.d.ts.map +1 -0
  52. package/dist/src/lib/context/context.js +93 -0
  53. package/dist/src/lib/context/context.mjs +64 -0
  54. package/dist/src/lib/context/index.cjs +83 -0
  55. package/dist/src/lib/context/index.d.ts +3 -0
  56. package/dist/src/lib/context/index.d.ts.map +1 -0
  57. package/dist/src/lib/context/index.js +1 -0
  58. package/dist/src/lib/context/index.mjs +64 -0
  59. package/dist/src/lib/control-flow.cjs +35 -0
  60. package/dist/src/lib/control-flow.d.ts +4 -0
  61. package/dist/src/lib/control-flow.d.ts.map +1 -0
  62. package/dist/src/lib/control-flow.js +1 -0
  63. package/dist/src/lib/control-flow.mjs +25 -0
  64. package/dist/src/lib/core.cjs +1710 -0
  65. package/dist/src/lib/core.d.ts +91 -0
  66. package/dist/src/lib/core.d.ts.map +1 -0
  67. package/dist/src/lib/core.js +158 -0
  68. package/dist/src/lib/core.mjs +1833 -0
  69. package/dist/src/lib/env/index.cjs +44 -0
  70. package/dist/src/lib/env/index.d.ts +26 -0
  71. package/dist/src/lib/env/index.d.ts.map +1 -0
  72. package/dist/src/lib/env/index.js +31 -0
  73. package/dist/src/lib/env/index.mjs +23 -0
  74. package/dist/src/lib/i18n/index.cjs +123 -0
  75. package/dist/src/lib/i18n/index.d.ts +110 -0
  76. package/dist/src/lib/i18n/index.d.ts.map +1 -0
  77. package/dist/src/lib/i18n/index.js +164 -0
  78. package/dist/src/lib/i18n/index.mjs +103 -0
  79. package/dist/src/lib/index.cjs +598 -0
  80. package/dist/src/lib/index.d.ts +81 -0
  81. package/dist/src/lib/index.d.ts.map +1 -0
  82. package/dist/src/lib/index.js +130 -0
  83. package/dist/src/lib/index.mjs +688 -0
  84. package/dist/src/lib/isomorphic.cjs +90 -0
  85. package/dist/src/lib/isomorphic.d.ts +114 -0
  86. package/dist/src/lib/isomorphic.d.ts.map +1 -0
  87. package/dist/src/lib/isomorphic.js +132 -0
  88. package/dist/src/lib/isomorphic.mjs +69 -0
  89. package/dist/src/lib/jsx-runtime/index.cjs +21 -0
  90. package/dist/src/lib/jsx-runtime/index.d.ts +13 -0
  91. package/dist/src/lib/jsx-runtime/index.d.ts.map +1 -0
  92. package/dist/src/lib/jsx-runtime/index.js +13 -0
  93. package/dist/src/lib/jsx-runtime/index.mjs +4 -0
  94. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.cjs +21 -0
  95. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.d.ts +2 -0
  96. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.d.ts.map +1 -0
  97. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.js +1 -0
  98. package/dist/src/lib/jsx-runtime/jsx-dev-runtime.mjs +4 -0
  99. package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +302 -0
  100. package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts +35 -0
  101. package/dist/src/lib/plugins/fluixi-routes-plugin.d.ts.map +1 -0
  102. package/dist/src/lib/plugins/fluixi-routes-plugin.js +118 -0
  103. package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +271 -0
  104. package/dist/src/lib/plugins/index.cjs +311 -0
  105. package/dist/src/lib/plugins/index.d.ts +6 -0
  106. package/dist/src/lib/plugins/index.d.ts.map +1 -0
  107. package/dist/src/lib/plugins/index.js +7 -0
  108. package/dist/src/lib/plugins/index.mjs +279 -0
  109. package/dist/src/lib/plugins/route-codegen.cjs +73 -0
  110. package/dist/src/lib/plugins/route-codegen.d.ts +12 -0
  111. package/dist/src/lib/plugins/route-codegen.d.ts.map +1 -0
  112. package/dist/src/lib/plugins/route-codegen.js +80 -0
  113. package/dist/src/lib/plugins/route-codegen.mjs +52 -0
  114. package/dist/src/lib/plugins/route-scanner.cjs +189 -0
  115. package/dist/src/lib/plugins/route-scanner.d.ts +38 -0
  116. package/dist/src/lib/plugins/route-scanner.d.ts.map +1 -0
  117. package/dist/src/lib/plugins/route-scanner.js +215 -0
  118. package/dist/src/lib/plugins/route-scanner.mjs +158 -0
  119. package/dist/src/lib/plugins/vite.cjs +27 -0
  120. package/dist/src/lib/plugins/vite.d.ts +3 -0
  121. package/dist/src/lib/plugins/vite.d.ts.map +1 -0
  122. package/dist/src/lib/plugins/vite.js +1 -0
  123. package/dist/src/lib/plugins/vite.mjs +6 -0
  124. package/dist/src/lib/render/await.cjs +38 -0
  125. package/dist/src/lib/render/await.d.ts +26 -0
  126. package/dist/src/lib/render/await.d.ts.map +1 -0
  127. package/dist/src/lib/render/await.js +45 -0
  128. package/dist/src/lib/render/await.mjs +17 -0
  129. package/dist/src/lib/render/component.cjs +221 -0
  130. package/dist/src/lib/render/component.d.ts +296 -0
  131. package/dist/src/lib/render/component.d.ts.map +1 -0
  132. package/dist/src/lib/render/component.js +514 -0
  133. package/dist/src/lib/render/component.mjs +214 -0
  134. package/dist/src/lib/render/deferred.cjs +175 -0
  135. package/dist/src/lib/render/deferred.d.ts +36 -0
  136. package/dist/src/lib/render/deferred.d.ts.map +1 -0
  137. package/dist/src/lib/render/deferred.js +141 -0
  138. package/dist/src/lib/render/deferred.mjs +158 -0
  139. package/dist/src/lib/render/index.cjs +573 -0
  140. package/dist/src/lib/render/index.d.ts +98 -0
  141. package/dist/src/lib/render/index.d.ts.map +1 -0
  142. package/dist/src/lib/render/index.js +180 -0
  143. package/dist/src/lib/render/index.mjs +590 -0
  144. package/dist/src/lib/render/lazy.cjs +67 -0
  145. package/dist/src/lib/render/lazy.d.ts +49 -0
  146. package/dist/src/lib/render/lazy.d.ts.map +1 -0
  147. package/dist/src/lib/render/lazy.js +105 -0
  148. package/dist/src/lib/render/lazy.mjs +50 -0
  149. package/dist/src/lib/render/suspense.cjs +141 -0
  150. package/dist/src/lib/render/suspense.d.ts +65 -0
  151. package/dist/src/lib/render/suspense.d.ts.map +1 -0
  152. package/dist/src/lib/render/suspense.js +196 -0
  153. package/dist/src/lib/render/suspense.mjs +136 -0
  154. package/dist/src/lib/render/versions.cjs +35 -0
  155. package/dist/src/lib/render/versions.d.ts +2 -0
  156. package/dist/src/lib/render/versions.d.ts.map +1 -0
  157. package/dist/src/lib/render/versions.js +21 -0
  158. package/dist/src/lib/render/versions.mjs +14 -0
  159. package/dist/src/lib/router/data.cjs +228 -0
  160. package/dist/src/lib/router/data.d.ts +142 -0
  161. package/dist/src/lib/router/data.d.ts.map +1 -0
  162. package/dist/src/lib/router/data.js +258 -0
  163. package/dist/src/lib/router/data.mjs +214 -0
  164. package/dist/src/lib/router/index.cjs +921 -0
  165. package/dist/src/lib/router/index.d.ts +274 -0
  166. package/dist/src/lib/router/index.d.ts.map +1 -0
  167. package/dist/src/lib/router/index.js +904 -0
  168. package/dist/src/lib/router/index.mjs +938 -0
  169. package/dist/src/lib/router/scroll.cjs +79 -0
  170. package/dist/src/lib/router/scroll.d.ts +19 -0
  171. package/dist/src/lib/router/scroll.d.ts.map +1 -0
  172. package/dist/src/lib/router/scroll.js +68 -0
  173. package/dist/src/lib/router/scroll.mjs +58 -0
  174. package/dist/src/lib/router/transition.cjs +75 -0
  175. package/dist/src/lib/router/transition.d.ts +81 -0
  176. package/dist/src/lib/router/transition.d.ts.map +1 -0
  177. package/dist/src/lib/router/transition.js +136 -0
  178. package/dist/src/lib/router/transition.mjs +54 -0
  179. package/dist/src/lib/server/hydration.cjs +169 -0
  180. package/dist/src/lib/server/hydration.d.ts +198 -0
  181. package/dist/src/lib/server/hydration.d.ts.map +1 -0
  182. package/dist/src/lib/server/hydration.js +345 -0
  183. package/dist/src/lib/server/hydration.mjs +148 -0
  184. package/dist/src/lib/server/index.cjs +406 -0
  185. package/dist/src/lib/server/index.d.ts +115 -0
  186. package/dist/src/lib/server/index.d.ts.map +1 -0
  187. package/dist/src/lib/server/index.js +164 -0
  188. package/dist/src/lib/server/index.mjs +384 -0
  189. package/dist/src/lib/server/reactive.cjs +197 -0
  190. package/dist/src/lib/server/reactive.d.ts +239 -0
  191. package/dist/src/lib/server/reactive.d.ts.map +1 -0
  192. package/dist/src/lib/server/reactive.js +413 -0
  193. package/dist/src/lib/server/reactive.mjs +176 -0
  194. package/dist/src/lib/storage/cache.cjs +51 -0
  195. package/dist/src/lib/storage/cache.d.ts +18 -0
  196. package/dist/src/lib/storage/cache.d.ts.map +1 -0
  197. package/dist/src/lib/storage/cache.js +42 -0
  198. package/dist/src/lib/storage/cache.mjs +30 -0
  199. package/dist/src/lib/storage/index.cjs +246 -0
  200. package/dist/src/lib/storage/index.d.ts +83 -0
  201. package/dist/src/lib/storage/index.d.ts.map +1 -0
  202. package/dist/src/lib/storage/index.js +179 -0
  203. package/dist/src/lib/storage/index.mjs +231 -0
  204. package/dist/src/lib/storage/persisted.cjs +91 -0
  205. package/dist/src/lib/storage/persisted.d.ts +53 -0
  206. package/dist/src/lib/storage/persisted.d.ts.map +1 -0
  207. package/dist/src/lib/storage/persisted.js +75 -0
  208. package/dist/src/lib/storage/persisted.mjs +70 -0
  209. package/dist/src/lib/theme/color-scheme.cjs +281 -0
  210. package/dist/src/lib/theme/color-scheme.d.ts +61 -0
  211. package/dist/src/lib/theme/color-scheme.d.ts.map +1 -0
  212. package/dist/src/lib/theme/color-scheme.js +120 -0
  213. package/dist/src/lib/theme/color-scheme.mjs +265 -0
  214. package/dist/src/lib/theme/index.cjs +267 -0
  215. package/dist/src/lib/theme/index.d.ts +78 -0
  216. package/dist/src/lib/theme/index.d.ts.map +1 -0
  217. package/dist/src/lib/theme/index.js +135 -0
  218. package/dist/src/lib/theme/index.mjs +251 -0
  219. package/dist/src/lib/theme/provider.cjs +346 -0
  220. package/dist/src/lib/theme/provider.d.ts +34 -0
  221. package/dist/src/lib/theme/provider.d.ts.map +1 -0
  222. package/dist/src/lib/theme/provider.js +60 -0
  223. package/dist/src/lib/theme/provider.mjs +332 -0
  224. package/dist/src/lib/utils/index.cjs +209 -0
  225. package/dist/src/lib/utils/index.d.ts +286 -0
  226. package/dist/src/lib/utils/index.d.ts.map +1 -0
  227. package/dist/src/lib/utils/index.js +434 -0
  228. package/dist/src/lib/utils/index.mjs +188 -0
  229. package/dist/src/routes.cjs +37 -0
  230. package/dist/src/routes.d.ts +22 -0
  231. package/dist/src/routes.d.ts.map +1 -0
  232. package/dist/src/routes.js +20 -0
  233. package/dist/src/routes.mjs +17 -0
  234. package/dist/src/server.cjs +405 -0
  235. package/dist/src/server.d.ts +63 -0
  236. package/dist/src/server.d.ts.map +1 -0
  237. package/dist/src/server.js +62 -0
  238. package/dist/src/server.mjs +382 -0
  239. package/dist/src/utils.cjs +21 -0
  240. package/dist/src/utils.d.ts +10 -0
  241. package/dist/src/utils.d.ts.map +1 -0
  242. package/dist/src/utils.js +9 -0
  243. package/dist/src/utils.mjs +4 -0
  244. package/dist/src/version.generated.cjs +26 -0
  245. package/dist/src/version.generated.d.ts +3 -0
  246. package/dist/src/version.generated.d.ts.map +1 -0
  247. package/dist/src/version.generated.js +3 -0
  248. package/dist/src/version.generated.mjs +5 -0
  249. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  250. package/package.json +164 -0
  251. package/src/index.ts +19 -0
  252. package/types/fluixi.d.ts +5 -0
  253. package/types/vinxi.d.ts +50 -0
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @module fluixi
3
+ *
4
+ * Fluixi compiles JSX and `html` templates into direct DOM calls over the fine-grained
5
+ * reactivity in @fluixi/reactive. The template layer is our own and compiled; the
6
+ * lit-html runtime bridge this once wrapped is gone.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createSignal, render, html } from '@fluixi/core';
11
+ *
12
+ * const Counter = () => {
13
+ * const [count, setCount] = createSignal(0);
14
+ *
15
+ * return html`
16
+ * <div>
17
+ * <p>Count: ${count()}</p>
18
+ * <button @click=${() => setCount(count() + 1)}>Increment</button>
19
+ * </div>
20
+ * `;
21
+ * };
22
+ *
23
+ * render(Counter, document.getElementById('app')!);
24
+ * ```
25
+ */
26
+ import { signal, memo, effect, resource, createEffect, createMemo, createSignal, createResource, createRoot, createComputed, createRenderEffect, onCleanup, getOwner, runWithOwner, batch, untrack, createDeferred, setOwner } from '@fluixi/reactive/signal';
27
+ import { createDebounce, createDebouncedResource, createDebouncedSignal, createSelector } from '@fluixi/reactive/signal';
28
+ import { readSignal as read, reduceSignal as reduce } from '@fluixi/reactive/operators';
29
+ import { createComponent, onMount, onUnmount } from './render/index.js';
30
+ import { createContext, useContext } from './context/index.js';
31
+ export * from './context/index.js';
32
+ export { createIsomorphicState, createIsomorphicStore, type IsomorphicState, type IsomorphicOptions, type IsomorphicStore, type IsomorphicStoreOptions, } from './isomorphic.js';
33
+ export { isServer, isClient, env, clientOnly, } from './env/index.js';
34
+ export { createTheme, type Theme, type ThemeOptions } from './theme/index.js';
35
+ export { createColorScheme, type ColorScheme, type ColorSchemeChoice, type ColorSchemeOptions } from './theme/color-scheme.js';
36
+ export { ThemeProvider, ColorSchemeProvider, useTheme, useColorScheme } from './theme/provider.js';
37
+ import { Link, Router, useNavigate, useRouter } from './router/index.js';
38
+ export { html, svg, css } from '@fluixi/dom';
39
+ export type { TemplateResult, Reactive, FluixiStyle } from '@fluixi/dom';
40
+ export { query, queryAll, closest, addClass, removeClass, toggleClass, hasClass, setAttribute, getAttribute, removeAttribute, setStyles, getStyle, createElement as domCreateElement, removeChildren, appendChildren, isVisible, scrollIntoView, getOffset, delegate, waitForElement, observeIntersection, observeResize, } from '@fluixi/dom';
41
+ export { classMap, styleMap, Island, hydrateIslands, type IslandProps, type IslandRegistry, mergeProps, splitProps, type ComponentFn, type ComponentChild, type ComponentOrElement, type FxComponent, type FxC, type FxParentProps, type FxParent, type FxVoidProps, type FxVoid, type FxFlowProps, type FxFlow, } from '@fluixi/dom';
42
+ export * from "./control-flow.js";
43
+ export { createStore, untrackStore, unwrap, Store } from '@fluixi/reactive/store';
44
+ export type { Accessor, Setter, Signal, SignalOptions, MemoOptions, Resource, } from '@fluixi/reactive/signal';
45
+ export type { ReadSignal } from '@fluixi/reactive/operators';
46
+ export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, deferred, Suspense, SuspenseList, Await, isNode, isLitResult, isJSXElement, $component, type RenderOptions, type SuspenseProps, type SuspenseListProps, type AwaitProps, type LazyOptions, type DeferredOptions, type LoadStrategy, type Component, type ComponentProps, type LifecycleCallback, type LazyComponent, type RefObject, } from './render/index.js';
47
+ export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router/index.js';
48
+ export type { RouterLocation as Location, RouteDefinition, NavigateOptions, } from './router/index.js';
49
+ /**
50
+ * Framework version
51
+ */
52
+ export declare const VERSION = "0.0.1";
53
+ /**
54
+ * Framework name
55
+ */
56
+ export declare const FRAMEWORK_NAME = "Fluixi";
57
+ export { signal, memo, effect, resource, createEffect, createMemo, createSignal, createResource, createContext, createRoot, createDeferred, createDebounce, createDebouncedSignal, createDebouncedResource, createComputed, createRenderEffect, createSelector, onCleanup, getOwner, runWithOwner, batch, untrack, useContext, setOwner, read, reduce, };
58
+ /**
59
+ * Default export - commonly used functions
60
+ */
61
+ declare const _default: {
62
+ createComponent: typeof createComponent;
63
+ onMount: typeof onMount;
64
+ onUnmount: typeof onUnmount;
65
+ createEffect: typeof createEffect;
66
+ createMemo: typeof createMemo;
67
+ createSignal: typeof createSignal;
68
+ createContext: typeof createContext;
69
+ createRoot: typeof createRoot;
70
+ createDeferred: typeof createDeferred;
71
+ createComputed: typeof createComputed;
72
+ createRenderEffect: typeof createRenderEffect;
73
+ createSelector: typeof createSelector;
74
+ onCleanup: typeof onCleanup;
75
+ getOwner: typeof getOwner;
76
+ runWithOwner: typeof runWithOwner;
77
+ batch: typeof batch;
78
+ untrack: typeof untrack;
79
+ useContext: typeof useContext;
80
+ setOwner: typeof setOwner;
81
+ Router: typeof Router;
82
+ Link: typeof Link;
83
+ useRouter: typeof useRouter;
84
+ useNavigate: typeof useNavigate;
85
+ read: typeof read;
86
+ reduce: typeof reduce;
87
+ VERSION: string;
88
+ FRAMEWORK_NAME: string;
89
+ };
90
+ export default _default;
91
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @module fluixi
3
+ *
4
+ * Fluixi compiles JSX and `html` templates into direct DOM calls over the fine-grained
5
+ * reactivity in @fluixi/reactive. The template layer is our own and compiled; the
6
+ * lit-html runtime bridge this once wrapped is gone.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createSignal, render, html } from '@fluixi/core';
11
+ *
12
+ * const Counter = () => {
13
+ * const [count, setCount] = createSignal(0);
14
+ *
15
+ * return html`
16
+ * <div>
17
+ * <p>Count: ${count()}</p>
18
+ * <button @click=${() => setCount(count() + 1)}>Increment</button>
19
+ * </div>
20
+ * `;
21
+ * };
22
+ *
23
+ * render(Counter, document.getElementById('app')!);
24
+ * ```
25
+ */
26
+ import {
27
+ // The short API, same primitives, one object instead of a tuple.
28
+ signal, memo, effect, resource, createEffect, createMemo, createSignal, createResource, createRoot, createComputed, createRenderEffect, onCleanup, getOwner, runWithOwner, batch, untrack, createDeferred, setOwner, } from '@fluixi/reactive/signal';
29
+ import { createDebounce, createDebouncedResource, createDebouncedSignal, createSelector, } from '@fluixi/reactive/signal';
30
+ import { readSignal as read, reduceSignal as reduce, } from '@fluixi/reactive/operators';
31
+ import {
32
+ // batch,
33
+ createComponent,
34
+ // createRoot,
35
+ onMount, onUnmount,
36
+ // untrack,
37
+ // } from './core/index.js';
38
+ } from './render/index.js';
39
+ import { createContext, useContext } from './context/index.js';
40
+ export * from './context/index.js';
41
+ // Isomorphic request state (server-resolved -> serialized -> client-seeded). Public
42
+ // barrel is lib/core.ts (src/index.ts re-exports it), so the export must live here.
43
+ export { createIsomorphicState, createIsomorphicStore, } from './isomorphic.js';
44
+ // Universal env utilities: safe browser-global access, so app modules import these
45
+ // instead of touching window/document directly. Storage is `@fluixi/core/storage`.
46
+ export { isServer, isClient, env, clientOnly, } from './env/index.js';
47
+ // Theme store: detect -> persist -> apply -> toggle + no-flash head script.
48
+ export { createTheme } from './theme/index.js';
49
+ export { createColorScheme } from './theme/color-scheme.js';
50
+ export { ThemeProvider, ColorSchemeProvider, useTheme, useColorScheme } from './theme/provider.js';
51
+ // not re-exported from the main entry. `export * from '@fluixi/utils'` here put the
52
+ // whole utility library in every app's graph: 56% of a counter's bundle, 74% of its
53
+ // bytes, because a barrel re-export of a barrel cannot be shaken in practice. Import
54
+ // from `@fluixi/utils` directly, or from `@fluixi/core/utils` for the same surface.
55
+ import { Link, Router, useNavigate, useRouter, } from './router/index.js';
56
+ // html`` / svg`` template markers, the no-JSX authoring surface. They live in
57
+ // @fluixi/dom (compiled away by `format: 'lit'`/`both`); re-exported here so
58
+ // `import { html } from '@fluixi/core'` works. Inert typed functions, no lit runtime.
59
+ export { html, svg, css } from '@fluixi/dom';
60
+ // createReactiveJSX (a deprecated legacy adapter) lived here but pulled the jsx-runtime
61
+ // `.` entry into the core graph. It's gone: compiled JSX uses the jsx-runtime subpath
62
+ // directly, and nothing in the framework needs the adapter.
63
+ // Re-export reactive directives
64
+ export { query, queryAll, closest, addClass, removeClass, toggleClass, hasClass, setAttribute, getAttribute, removeAttribute, setStyles, getStyle, createElement as domCreateElement, removeChildren, appendChildren, isVisible, scrollIntoView, getOffset, delegate, waitForElement, observeIntersection, observeResize, } from '@fluixi/dom';
65
+ // (No lit runtime exists anymore: html`` compiles to @fluixi/dom calls.)
66
+ // import {For as _For} from "@fluixi/dom"
67
+ // export interface ForProps<T, U = any> {
68
+ // /** Reactive array to iterate over: static, readonly, accessor, or signal. */
69
+ // each: ReadonlyArray<T> | (() => ReadonlyArray<T> | null | undefined) | Accessor<ReadonlyArray<T>> | null | undefined | false;
70
+ // /** Rendered when the array is empty or nullish. */
71
+ // fallback?: any;
72
+ // /**
73
+ // * Render function called once per unique item (keyed by reference).
74
+ // * `index` is a reactive accessor: updates when the item moves position.
75
+ // *
76
+ // * JSX: <For each={() => store.items}>{(item, index) => <li>{item.name}</li>}</For>
77
+ // * lit: For({ each: items, children: (item, index) => html`<li>${item.name}</li>` })
78
+ // */
79
+ // children?: (item: T, index: Accessor<number>) => U;
80
+ // }
81
+ // export const For = <T>(props: ForProps<T>) => _For(props as any) as JSX.Element;
82
+ export { classMap, styleMap, Island, hydrateIslands,
83
+ // Prop helpers (Solid-compatible): merge prop sources (later `undefined` falls through) and
84
+ // split a reactive props object into groups + rest. The compiler emits mergeProps for JSX spreads.
85
+ mergeProps, splitProps, } from '@fluixi/dom';
86
+ export * from "./control-flow.js";
87
+ // Re-export reactive primitives from @fluixi/reactive
88
+ export { createStore, untrackStore, unwrap, Store } from '@fluixi/reactive/store';
89
+ export { render, portal, isRenderable, initDelegation, cleanupDelegation, createComponent, onMount, onUnmount, useEffect, useRef, useReducer, useMemo, useEventListener, useCallback, lazy, deferred, Suspense, SuspenseList, Await,
90
+ // Show,
91
+ isNode, isLitResult, isJSXElement, $component, } from './render/index.js';
92
+ // Context API
93
+ // export type { Context, ProviderProps } from './context/index.js';
94
+ // Resources for async data
95
+ // Router, from router (the framework-agnostic router). The old lit-based router
96
+ // (./router) has been removed: it imported `html` from @fluixi/lit, which dragged lit
97
+ // (extends HTMLElement at module init) into the core/SSR graph. router is the
98
+ // only router now; `<Router routes={...}/>` replaces the old `<Routes>`/`<Route>` JSX.
99
+ export { Router, Link, useRouter, useLocation, useNavigate, useParams, } from './router/index.js';
100
+ // Web Component support moved to @fluixi/element (now in the wc-element repo).
101
+ // Import { defineElement, FluixiElement, createComponent, ... } from '@fluixi/element'.
102
+ /**
103
+ * Framework version
104
+ */
105
+ export const VERSION = '0.0.1';
106
+ /**
107
+ * Framework name
108
+ */
109
+ export const FRAMEWORK_NAME = 'Fluixi';
110
+ export { signal, memo, effect, resource, createEffect, createMemo, createSignal, createResource, createContext, createRoot, createDeferred, createDebounce, createDebouncedSignal, createDebouncedResource, createComputed, createRenderEffect, createSelector, onCleanup, getOwner, runWithOwner, batch, untrack, useContext, setOwner, read, reduce, };
111
+ /**
112
+ * Default export - commonly used functions
113
+ */
114
+ export default {
115
+ // Core
116
+ createComponent,
117
+ // render,
118
+ onMount,
119
+ onUnmount,
120
+ createEffect,
121
+ createMemo,
122
+ createSignal,
123
+ createContext,
124
+ createRoot,
125
+ createDeferred,
126
+ createComputed,
127
+ createRenderEffect,
128
+ createSelector,
129
+ onCleanup,
130
+ getOwner,
131
+ runWithOwner,
132
+ batch,
133
+ untrack,
134
+ useContext,
135
+ setOwner,
136
+ // Control Flow
137
+ // Show,
138
+ // For,
139
+ // Switch,
140
+ // Match,
141
+ // Portal,
142
+ // Dynamic,
143
+ // Context
144
+ // Provider,
145
+ // Resources
146
+ // createResource,
147
+ // Router
148
+ // createRouter,
149
+ Router,
150
+ Link,
151
+ useRouter,
152
+ useNavigate,
153
+ read,
154
+ reduce,
155
+ // Meta
156
+ VERSION,
157
+ FRAMEWORK_NAME,
158
+ };