@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.
- package/dist/cdn/core.global.js +2 -2
- package/dist/src/cdn/{chunk-MDJLC3PE.mjs → chunk-7XM7Q5VR.mjs} +271 -229
- package/dist/src/cdn/core.cjs +360 -253
- package/dist/src/cdn/core.mjs +92 -20
- package/dist/src/cdn/{router-JYFZP3EZ.mjs → router-VOY43YNM.mjs} +7 -3
- package/dist/src/index.cjs +548 -232
- package/dist/src/index.mjs +549 -224
- package/dist/src/lib/client/chunk-TSXM2PNY.mjs +53 -0
- package/dist/src/lib/client/index.cjs +310 -176
- package/dist/src/lib/client/index.d.ts.map +1 -1
- package/dist/src/lib/client/index.js +33 -18
- package/dist/src/lib/client/index.mjs +86 -15
- package/dist/src/lib/client/{router-PHLUYVQU.mjs → router-BDVPLLYX.mjs} +244 -99
- package/dist/src/lib/context/context.cjs +35 -72
- package/dist/src/lib/context/context.d.ts +45 -291
- package/dist/src/lib/context/context.d.ts.map +1 -1
- package/dist/src/lib/context/context.js +65 -397
- package/dist/src/lib/context/context.mjs +38 -73
- package/dist/src/lib/context/index.cjs +35 -72
- package/dist/src/lib/context/index.d.ts +2 -2
- package/dist/src/lib/context/index.d.ts.map +1 -1
- package/dist/src/lib/context/index.js +1 -5
- package/dist/src/lib/context/index.mjs +38 -73
- package/dist/src/lib/core.cjs +547 -231
- package/dist/src/lib/core.d.ts +5 -3
- package/dist/src/lib/core.d.ts.map +1 -1
- package/dist/src/lib/core.js +6 -4
- package/dist/src/lib/core.mjs +548 -223
- package/dist/src/lib/env/index.cjs +1 -17
- package/dist/src/lib/env/index.d.ts +2 -14
- package/dist/src/lib/env/index.d.ts.map +1 -1
- package/dist/src/lib/env/index.js +2 -26
- package/dist/src/lib/env/index.mjs +1 -17
- package/dist/src/lib/i18n/index.cjs +17 -2
- package/dist/src/lib/i18n/index.d.ts +10 -0
- package/dist/src/lib/i18n/index.d.ts.map +1 -1
- package/dist/src/lib/i18n/index.js +17 -1
- package/dist/src/lib/i18n/index.mjs +17 -2
- package/dist/src/lib/index.cjs +64 -99
- package/dist/src/lib/index.mjs +43 -76
- package/dist/src/lib/isomorphic.cjs +9 -4
- package/dist/src/lib/isomorphic.d.ts +9 -2
- package/dist/src/lib/isomorphic.d.ts.map +1 -1
- package/dist/src/lib/isomorphic.js +11 -4
- package/dist/src/lib/isomorphic.mjs +9 -4
- package/dist/src/lib/jsx-runtime/index.cjs +1 -1
- package/dist/src/lib/jsx-runtime/index.mjs +1 -1
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.cjs +1 -1
- package/dist/src/lib/jsx-runtime/jsx-dev-runtime.mjs +1 -1
- package/dist/src/lib/plugins/fluixi-routes-plugin.cjs +2 -2
- package/dist/src/lib/plugins/fluixi-routes-plugin.mjs +2 -2
- package/dist/src/lib/plugins/index.cjs +3 -3
- package/dist/src/lib/plugins/index.mjs +3 -3
- package/dist/src/lib/plugins/route-codegen.cjs +2 -2
- package/dist/src/lib/plugins/route-codegen.js +1 -1
- package/dist/src/lib/plugins/route-codegen.mjs +2 -2
- package/dist/src/lib/render/index.cjs +1 -1
- package/dist/src/lib/render/index.mjs +1 -1
- package/dist/src/lib/render/versions.cjs +1 -1
- package/dist/src/lib/render/versions.mjs +1 -1
- package/dist/src/lib/router/data.cjs +113 -115
- package/dist/src/lib/router/data.d.ts +63 -10
- package/dist/src/lib/router/data.d.ts.map +1 -1
- package/dist/src/lib/router/data.js +158 -68
- package/dist/src/lib/router/data.mjs +112 -112
- package/dist/src/lib/router/index.cjs +260 -163
- package/dist/src/lib/router/index.d.ts +22 -2
- package/dist/src/lib/router/index.d.ts.map +1 -1
- package/dist/src/lib/router/index.js +165 -22
- package/dist/src/lib/router/index.mjs +244 -143
- package/dist/src/lib/server/index.cjs +1 -1
- package/dist/src/lib/server/index.mjs +1 -1
- package/dist/src/lib/storage/cache.cjs +51 -0
- package/dist/src/lib/storage/cache.d.ts +18 -0
- package/dist/src/lib/storage/cache.d.ts.map +1 -0
- package/dist/src/lib/storage/cache.js +42 -0
- package/dist/src/lib/storage/cache.mjs +30 -0
- package/dist/src/lib/storage/index.cjs +246 -0
- package/dist/src/lib/storage/index.d.ts +83 -0
- package/dist/src/lib/storage/index.d.ts.map +1 -0
- package/dist/src/lib/storage/index.js +179 -0
- package/dist/src/lib/storage/index.mjs +231 -0
- package/dist/src/lib/storage/persisted.cjs +91 -0
- package/dist/src/lib/storage/persisted.d.ts +53 -0
- package/dist/src/lib/storage/persisted.d.ts.map +1 -0
- package/dist/src/lib/storage/persisted.js +75 -0
- package/dist/src/lib/storage/persisted.mjs +70 -0
- package/dist/src/lib/theme/color-scheme.cjs +281 -0
- package/dist/src/lib/theme/color-scheme.d.ts +61 -0
- package/dist/src/lib/theme/color-scheme.d.ts.map +1 -0
- package/dist/src/lib/theme/color-scheme.js +120 -0
- package/dist/src/lib/theme/color-scheme.mjs +265 -0
- package/dist/src/lib/theme/index.cjs +194 -37
- package/dist/src/lib/theme/index.d.ts +23 -11
- package/dist/src/lib/theme/index.d.ts.map +1 -1
- package/dist/src/lib/theme/index.js +73 -32
- package/dist/src/lib/theme/index.mjs +197 -35
- package/dist/src/lib/theme/provider.cjs +346 -0
- package/dist/src/lib/theme/provider.d.ts +34 -0
- package/dist/src/lib/theme/provider.d.ts.map +1 -0
- package/dist/src/lib/theme/provider.js +60 -0
- package/dist/src/lib/theme/provider.mjs +332 -0
- package/dist/src/routes.cjs +1 -1
- package/dist/src/routes.mjs +1 -1
- package/dist/src/utils.cjs +1 -1
- package/dist/src/utils.mjs +1 -1
- package/dist/src/version.generated.cjs +1 -1
- package/dist/src/version.generated.d.ts +1 -1
- package/dist/src/version.generated.js +1 -1
- package/dist/src/version.generated.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +18 -11
- package/dist/src/lib/client/chunk-VB567ABU.mjs +0 -133
|
@@ -21,93 +21,30 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
composeProviders: () => composeProviders,
|
|
24
|
-
createConsumer: () => createConsumer,
|
|
25
24
|
createContext: () => createContext,
|
|
26
|
-
createContextWithProvider: () => createContextWithProvider,
|
|
27
25
|
createProvider: () => createProvider,
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
requireContext: () => requireContext,
|
|
27
|
+
useContext: () => useContext
|
|
30
28
|
});
|
|
31
29
|
module.exports = __toCommonJS(index_exports);
|
|
32
30
|
|
|
33
31
|
// src/lib/context/context.ts
|
|
34
32
|
var import_dom = require("@fluixi/dom");
|
|
35
33
|
var import_signal = require("@fluixi/reactive/signal");
|
|
36
|
-
var import_signal2 = require("@fluixi/reactive/signal");
|
|
37
|
-
var _warnedEagerProvider = false;
|
|
38
|
-
function warnEagerProvider() {
|
|
39
|
-
if (_warnedEagerProvider) return;
|
|
40
|
-
_warnedEagerProvider = true;
|
|
41
|
-
if (typeof process !== "undefined" && true) return;
|
|
42
|
-
console.warn(
|
|
43
|
-
"[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={...}>{props.children}</Context.Provider>"
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
function createProvider(a, value, childProps) {
|
|
47
|
-
const isLazyForm = !!a?.Provider;
|
|
48
|
-
const context = isLazyForm ? a : a.context;
|
|
49
|
-
const rawValue = isLazyForm ? value : a.value;
|
|
50
|
-
const debug = isLazyForm ? false : a.debug ?? false;
|
|
51
|
-
if (!isLazyForm) warnEagerProvider();
|
|
52
|
-
const resolvedValue = typeof rawValue === "function" ? rawValue() : rawValue;
|
|
53
|
-
const sourceProps = isLazyForm ? childProps : a;
|
|
54
|
-
return context.Provider({
|
|
55
|
-
value: resolvedValue,
|
|
56
|
-
get children() {
|
|
57
|
-
return sourceProps?.children;
|
|
58
|
-
},
|
|
59
|
-
debug
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
function createContextWithProvider(defaultValue) {
|
|
63
|
-
const context = createContext(defaultValue);
|
|
64
|
-
const provider = (props) => {
|
|
65
|
-
return createProvider(context, props.value, props);
|
|
66
|
-
};
|
|
67
|
-
return [context, provider];
|
|
68
|
-
}
|
|
69
|
-
function composeProviders(contexts, children) {
|
|
70
|
-
if (contexts.length === 0) {
|
|
71
|
-
return (0, import_signal2.readChildren)(() => children);
|
|
72
|
-
}
|
|
73
|
-
const [context, value] = contexts[0];
|
|
74
|
-
const remaining = contexts.slice(1);
|
|
75
|
-
return createProvider(context, value, {
|
|
76
|
-
get children() {
|
|
77
|
-
return composeProviders(remaining, children);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
function createConsumer(context) {
|
|
82
|
-
return (props) => {
|
|
83
|
-
const value = useContext(context);
|
|
84
|
-
return props.children(value);
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function useProvide(context, factory) {
|
|
88
|
-
const existing = useContext(context);
|
|
89
|
-
if (existing === context.defaultValue) {
|
|
90
|
-
return factory();
|
|
91
|
-
}
|
|
92
|
-
return existing;
|
|
93
|
-
}
|
|
94
34
|
function createContext(defaultValue, name) {
|
|
95
35
|
const context = (0, import_signal.createContext)(defaultValue, name);
|
|
96
|
-
const Provider = (props) =>
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
36
|
+
const Provider = (props) => (
|
|
37
|
+
// Children stay a getter: the reactive Provider reads them after stamping the value on
|
|
38
|
+
// its owner. Reading `props.children` here would render them, and any <Outlet/> in them,
|
|
39
|
+
// before the context exists.
|
|
40
|
+
context.Provider({
|
|
100
41
|
value: props.value,
|
|
101
42
|
get children() {
|
|
102
43
|
return props.children;
|
|
103
44
|
},
|
|
104
45
|
debug: props.debug
|
|
105
|
-
})
|
|
106
|
-
|
|
107
|
-
if (typeof Symbol !== "undefined" && Symbol.for) {
|
|
108
|
-
Provider.$$typeof = /* @__PURE__ */ Symbol.for("react.provider");
|
|
109
|
-
}
|
|
110
|
-
Provider.$$typeof = /* @__PURE__ */ Symbol.for("react.provider");
|
|
46
|
+
})
|
|
47
|
+
);
|
|
111
48
|
return {
|
|
112
49
|
id: context.id,
|
|
113
50
|
Provider: (0, import_dom.asProvider)(Provider),
|
|
@@ -118,3 +55,29 @@ function useContext(context) {
|
|
|
118
55
|
const value = (0, import_signal.useContext)(context);
|
|
119
56
|
return value !== void 0 ? value : context.defaultValue;
|
|
120
57
|
}
|
|
58
|
+
function createProvider(context, value, props) {
|
|
59
|
+
const resolved = typeof value === "function" ? value() : value;
|
|
60
|
+
return context.Provider({
|
|
61
|
+
value: resolved,
|
|
62
|
+
get children() {
|
|
63
|
+
return props.children;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function composeProviders(providers, props) {
|
|
68
|
+
const outermost = providers.reduceRight(
|
|
69
|
+
(inner, [context, value]) => ({
|
|
70
|
+
get children() {
|
|
71
|
+
return createProvider(context, value, inner);
|
|
72
|
+
}
|
|
73
|
+
}),
|
|
74
|
+
props
|
|
75
|
+
);
|
|
76
|
+
return outermost.children;
|
|
77
|
+
}
|
|
78
|
+
function requireContext(context, message) {
|
|
79
|
+
for (let owner = (0, import_signal.getOwner)(); owner; owner = owner.parent) {
|
|
80
|
+
if (owner.contexts?.has(context.id)) return useContext(context);
|
|
81
|
+
}
|
|
82
|
+
throw new Error(message ?? `[fluixi] No Provider for ${context.id.description ?? "this context"} above this component.`);
|
|
83
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createContext, useContext, createProvider,
|
|
2
|
-
export type { Context
|
|
1
|
+
export { createContext, useContext, createProvider, composeProviders, requireContext } from './context.js';
|
|
2
|
+
export type { Context } from './context.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/context/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3G,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// * @fileoverview Context API exports for Fluixi framework
|
|
3
|
-
// * @module @fluixi/core/context
|
|
4
|
-
// */
|
|
5
|
-
export { createContext, useContext, createProvider, createConsumer, createContextWithProvider, composeProviders, useProvide, } from './context.js';
|
|
1
|
+
export { createContext, useContext, createProvider, composeProviders, requireContext } from './context.js';
|
|
@@ -1,83 +1,24 @@
|
|
|
1
1
|
// src/lib/context/context.ts
|
|
2
2
|
import { asProvider } from "@fluixi/dom";
|
|
3
|
-
import { createContext as createReactiveContext, useContext as useReactiveContext } from "@fluixi/reactive/signal";
|
|
4
3
|
import {
|
|
5
|
-
|
|
4
|
+
createContext as createReactiveContext,
|
|
5
|
+
getOwner,
|
|
6
|
+
useContext as useReactiveContext
|
|
6
7
|
} from "@fluixi/reactive/signal";
|
|
7
|
-
var _warnedEagerProvider = false;
|
|
8
|
-
function warnEagerProvider() {
|
|
9
|
-
if (_warnedEagerProvider) return;
|
|
10
|
-
_warnedEagerProvider = true;
|
|
11
|
-
if (typeof process !== "undefined" && true) return;
|
|
12
|
-
console.warn(
|
|
13
|
-
"[fluixi] createProvider({ context, value, children }) reads `children` eagerly: the object literal materialises `children` BEFORE the context is stamped, so a routed <Outlet/> that has siblings inside the provider renders detached and its descendants see no context under SSR. Use the lazy form instead:\n createProvider(Context, value, props) // children stays a getter\n // or JSX: <Context.Provider value={...}>{props.children}</Context.Provider>"
|
|
14
|
-
);
|
|
15
|
-
}
|
|
16
|
-
function createProvider(a, value, childProps) {
|
|
17
|
-
const isLazyForm = !!a?.Provider;
|
|
18
|
-
const context = isLazyForm ? a : a.context;
|
|
19
|
-
const rawValue = isLazyForm ? value : a.value;
|
|
20
|
-
const debug = isLazyForm ? false : a.debug ?? false;
|
|
21
|
-
if (!isLazyForm) warnEagerProvider();
|
|
22
|
-
const resolvedValue = typeof rawValue === "function" ? rawValue() : rawValue;
|
|
23
|
-
const sourceProps = isLazyForm ? childProps : a;
|
|
24
|
-
return context.Provider({
|
|
25
|
-
value: resolvedValue,
|
|
26
|
-
get children() {
|
|
27
|
-
return sourceProps?.children;
|
|
28
|
-
},
|
|
29
|
-
debug
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
function createContextWithProvider(defaultValue) {
|
|
33
|
-
const context = createContext(defaultValue);
|
|
34
|
-
const provider = (props) => {
|
|
35
|
-
return createProvider(context, props.value, props);
|
|
36
|
-
};
|
|
37
|
-
return [context, provider];
|
|
38
|
-
}
|
|
39
|
-
function composeProviders(contexts, children) {
|
|
40
|
-
if (contexts.length === 0) {
|
|
41
|
-
return readChildren(() => children);
|
|
42
|
-
}
|
|
43
|
-
const [context, value] = contexts[0];
|
|
44
|
-
const remaining = contexts.slice(1);
|
|
45
|
-
return createProvider(context, value, {
|
|
46
|
-
get children() {
|
|
47
|
-
return composeProviders(remaining, children);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
function createConsumer(context) {
|
|
52
|
-
return (props) => {
|
|
53
|
-
const value = useContext(context);
|
|
54
|
-
return props.children(value);
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
function useProvide(context, factory) {
|
|
58
|
-
const existing = useContext(context);
|
|
59
|
-
if (existing === context.defaultValue) {
|
|
60
|
-
return factory();
|
|
61
|
-
}
|
|
62
|
-
return existing;
|
|
63
|
-
}
|
|
64
8
|
function createContext(defaultValue, name) {
|
|
65
9
|
const context = createReactiveContext(defaultValue, name);
|
|
66
|
-
const Provider = (props) =>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
10
|
+
const Provider = (props) => (
|
|
11
|
+
// Children stay a getter: the reactive Provider reads them after stamping the value on
|
|
12
|
+
// its owner. Reading `props.children` here would render them, and any <Outlet/> in them,
|
|
13
|
+
// before the context exists.
|
|
14
|
+
context.Provider({
|
|
70
15
|
value: props.value,
|
|
71
16
|
get children() {
|
|
72
17
|
return props.children;
|
|
73
18
|
},
|
|
74
19
|
debug: props.debug
|
|
75
|
-
})
|
|
76
|
-
|
|
77
|
-
if (typeof Symbol !== "undefined" && Symbol.for) {
|
|
78
|
-
Provider.$$typeof = /* @__PURE__ */ Symbol.for("react.provider");
|
|
79
|
-
}
|
|
80
|
-
Provider.$$typeof = /* @__PURE__ */ Symbol.for("react.provider");
|
|
20
|
+
})
|
|
21
|
+
);
|
|
81
22
|
return {
|
|
82
23
|
id: context.id,
|
|
83
24
|
Provider: asProvider(Provider),
|
|
@@ -88,12 +29,36 @@ function useContext(context) {
|
|
|
88
29
|
const value = useReactiveContext(context);
|
|
89
30
|
return value !== void 0 ? value : context.defaultValue;
|
|
90
31
|
}
|
|
32
|
+
function createProvider(context, value, props) {
|
|
33
|
+
const resolved = typeof value === "function" ? value() : value;
|
|
34
|
+
return context.Provider({
|
|
35
|
+
value: resolved,
|
|
36
|
+
get children() {
|
|
37
|
+
return props.children;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function composeProviders(providers, props) {
|
|
42
|
+
const outermost = providers.reduceRight(
|
|
43
|
+
(inner, [context, value]) => ({
|
|
44
|
+
get children() {
|
|
45
|
+
return createProvider(context, value, inner);
|
|
46
|
+
}
|
|
47
|
+
}),
|
|
48
|
+
props
|
|
49
|
+
);
|
|
50
|
+
return outermost.children;
|
|
51
|
+
}
|
|
52
|
+
function requireContext(context, message) {
|
|
53
|
+
for (let owner = getOwner(); owner; owner = owner.parent) {
|
|
54
|
+
if (owner.contexts?.has(context.id)) return useContext(context);
|
|
55
|
+
}
|
|
56
|
+
throw new Error(message ?? `[fluixi] No Provider for ${context.id.description ?? "this context"} above this component.`);
|
|
57
|
+
}
|
|
91
58
|
export {
|
|
92
59
|
composeProviders,
|
|
93
|
-
createConsumer,
|
|
94
60
|
createContext,
|
|
95
|
-
createContextWithProvider,
|
|
96
61
|
createProvider,
|
|
97
|
-
|
|
98
|
-
|
|
62
|
+
requireContext,
|
|
63
|
+
useContext
|
|
99
64
|
};
|