@vlian/framework 1.2.59 → 1.2.60
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/analytics/index.cjs +1 -22
- package/dist/analytics.umd.js +1 -1
- package/dist/components/LocaleSwitch.cjs +1 -116
- package/dist/components/ThemeSwitch.cjs +1 -115
- package/dist/components/index.cjs +1 -20
- package/dist/components/persistence.cjs +1 -58
- package/dist/core/Test.cjs +1 -64
- package/dist/core/app/AppContext.cjs +1 -348
- package/dist/core/app/AppContext.types.cjs +1 -4
- package/dist/core/app/BasicLayout.cjs +1 -122
- package/dist/core/app/DefaultApp.cjs +1 -150
- package/dist/core/app/index.cjs +1 -41
- package/dist/core/config/AppConfig.cjs +1 -139
- package/dist/core/config/ConfigLoader.cjs +1 -323
- package/dist/core/config/ConfigValidator.cjs +2 -133
- package/dist/core/config/index.cjs +1 -28
- package/dist/core/dev/DevTools.cjs +1 -226
- package/dist/core/error/ErrorBoundary.cjs +1 -401
- package/dist/core/error/ErrorHandler.cjs +1 -275
- package/dist/core/error/index.cjs +1 -34
- package/dist/core/event/AppEventBus.cjs +1 -444
- package/dist/core/event/frameworkEvents.cjs +1 -141
- package/dist/core/event/hooks.cjs +1 -69
- package/dist/core/event/index.cjs +1 -41
- package/dist/core/event/types.cjs +1 -62
- package/dist/core/event/useEventBus.cjs +1 -25
- package/dist/core/index.cjs +1 -140
- package/dist/core/initialization/InitializationErrorThrower.cjs +1 -75
- package/dist/core/initialization/index.cjs +1 -26
- package/dist/core/initialization/initialization.cjs +1 -64
- package/dist/core/initialization/initializationErrorState.cjs +1 -66
- package/dist/core/kernel/defaultAdapters.cjs +1 -184
- package/dist/core/kernel/errors.cjs +1 -69
- package/dist/core/kernel/index.cjs +1 -20
- package/dist/core/kernel/startKernel.cjs +1 -200
- package/dist/core/kernel/types.cjs +1 -4
- package/dist/core/middleware.cjs +1 -73
- package/dist/core/plugin/PluginEventBus.cjs +1 -298
- package/dist/core/plugin/PluginSandbox.cjs +1 -137
- package/dist/core/plugin.cjs +1 -494
- package/dist/core/router/RouterManager.cjs +1 -286
- package/dist/core/router/adapter/AdapterManager.cjs +1 -235
- package/dist/core/router/adapter/index.cjs +1 -22
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -128
- package/dist/core/router/adapter/react-router/index.cjs +1 -20
- package/dist/core/router/adapter/types.cjs +1 -6
- package/dist/core/router/dev/RouterDevTools.cjs +1 -260
- package/dist/core/router/dev/index.cjs +1 -20
- package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -193
- package/dist/core/router/dynamic/index.cjs +1 -20
- package/dist/core/router/errors/RouterError.cjs +1 -61
- package/dist/core/router/errors/index.cjs +1 -20
- package/dist/core/router/index.cjs +1 -36
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -144
- package/dist/core/router/lifecycle/index.cjs +1 -20
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -193
- package/dist/core/router/middleware/auth.cjs +1 -66
- package/dist/core/router/middleware/index.cjs +1 -22
- package/dist/core/router/middleware/types.cjs +1 -6
- package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -227
- package/dist/core/router/monitoring/index.cjs +1 -20
- package/dist/core/router/navigation/RouterNavigation.cjs +1 -239
- package/dist/core/router/navigation/index.cjs +1 -20
- package/dist/core/router/performance/RouteCache.cjs +1 -305
- package/dist/core/router/performance/RoutePreloader.cjs +1 -292
- package/dist/core/router/performance/index.cjs +1 -21
- package/dist/core/router/plugin/RouterPluginManager.cjs +1 -262
- package/dist/core/router/plugin/index.cjs +1 -21
- package/dist/core/router/plugin/types.cjs +1 -39
- package/dist/core/router/types.cjs +1 -4
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -129
- package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -250
- package/dist/core/router/utils/transform.cjs +1 -780
- package/dist/core/router/validation/RouterConfigValidator.cjs +2 -83
- package/dist/core/router/validation/index.cjs +1 -21
- package/dist/core/router/validation/schema.cjs +1 -159
- package/dist/core/router/version/RouteVersionManager.cjs +1 -205
- package/dist/core/router/version/index.cjs +1 -20
- package/dist/core/splash/SplashScreen.cjs +1 -341
- package/dist/core/splash/index.cjs +1 -22
- package/dist/core/splash/splashScreenUtils.cjs +1 -38
- package/dist/core/startup/AppInstance.cjs +1 -239
- package/dist/core/startup/environment.cjs +1 -169
- package/dist/core/startup/index.cjs +1 -23
- package/dist/core/startup/initializeServices.cjs +1 -226
- package/dist/core/startup/performanceTracker.cjs +1 -179
- package/dist/core/startup/renderApp.cjs +1 -314
- package/dist/core/startup/startApp.cjs +1 -317
- package/dist/core/types.cjs +1 -4
- package/dist/index.cjs +1 -52
- package/dist/index.umd.cjs +1 -27
- package/dist/index.umd.js +1 -1
- package/dist/kernel/constants.cjs +1 -65
- package/dist/kernel/index.cjs +1 -38
- package/dist/kernel/kernel.cjs +1 -295
- package/dist/kernel/manager/cacheManager.cjs +1 -46
- package/dist/kernel/manager/i18n/I18nManager.cjs +1 -91
- package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -60
- package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -86
- package/dist/kernel/manager/i18n/index.cjs +1 -11
- package/dist/kernel/manager/i18nManager.cjs +1 -11
- package/dist/kernel/manager/index.cjs +1 -28
- package/dist/kernel/manager/logger/LoggerManager.cjs +1 -107
- package/dist/kernel/manager/logger/index.cjs +1 -11
- package/dist/kernel/manager/logger/logger.persistence.cjs +1 -62
- package/dist/kernel/manager/logger/logger.schema.cjs +1 -74
- package/dist/kernel/manager/loggerManager.cjs +1 -11
- package/dist/kernel/manager/theme/ThemeManager.cjs +1 -84
- package/dist/kernel/manager/theme/index.cjs +1 -11
- package/dist/kernel/manager/theme/theme.dom.cjs +1 -61
- package/dist/kernel/manager/theme/theme.persistence.cjs +1 -57
- package/dist/kernel/manager/theme/theme.schema.cjs +1 -122
- package/dist/kernel/manager/themeManager.cjs +1 -11
- package/dist/kernel/types.cjs +1 -4
- package/dist/library/index.cjs +1 -19
- package/dist/library/locale/index.cjs +1 -39
- package/dist/library/locale/langs/en-us/index.cjs +1 -32
- package/dist/library/locale/langs/zh-cn/index.cjs +1 -32
- package/dist/library/locale/types.cjs +1 -4
- package/dist/library/storage/cache.cjs +1 -243
- package/dist/library/storage/encryption.cjs +1 -147
- package/dist/library/storage/index.cjs +1 -124
- package/dist/state/StateManager.cjs +1 -166
- package/dist/state/adapters/AdapterFactory.cjs +1 -89
- package/dist/state/adapters/DefaultAdapter.cjs +1 -75
- package/dist/state/adapters/ReduxAdapter.cjs +1 -443
- package/dist/state/adapters/ZustandAdapter.cjs +1 -69
- package/dist/state/adapters/index.cjs +1 -44
- package/dist/state/adapters/types.cjs +1 -20
- package/dist/state/core/DerivedStateInstance.cjs +1 -174
- package/dist/state/core/StateInstance.cjs +1 -170
- package/dist/state/core/StateRegistry.cjs +1 -110
- package/dist/state/core/StateScope.cjs +1 -137
- package/dist/state/core/index.cjs +1 -30
- package/dist/state/index.cjs +1 -30
- package/dist/state/types.cjs +1 -12
- package/dist/state.umd.js +1 -1
- package/dist/types.cjs +1 -4
- package/dist/utils/analytics.cjs +1 -217
- package/dist/utils/configSecurity.cjs +3 -182
- package/dist/utils/csrf.cjs +1 -18
- package/dist/utils/errors/ErrorCodes.cjs +1 -25
- package/dist/utils/errors.cjs +1 -111
- package/dist/utils/index.cjs +1 -135
- package/dist/utils/logger.cjs +1 -25
- package/dist/utils/logger.types.cjs +1 -11
- package/dist/utils/monitoring.cjs +1 -18
- package/dist/utils/performance.cjs +1 -22
- package/dist/utils/resourceLoader.cjs +1 -22
- package/dist/utils/runtimeSecurity.cjs +1 -11
- package/dist/utils/security.cjs +1 -19
- package/dist/utils/traceId.cjs +1 -37
- package/dist/utils/validation.cjs +1 -19
- package/package.json +7 -3
|
@@ -1,348 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get AppContextProvider () {
|
|
13
|
-
return AppContextProvider;
|
|
14
|
-
},
|
|
15
|
-
get useAppContext () {
|
|
16
|
-
return useAppContext;
|
|
17
|
-
},
|
|
18
|
-
get useConfig () {
|
|
19
|
-
return useConfig;
|
|
20
|
-
},
|
|
21
|
-
get useLocale () {
|
|
22
|
-
return useLocale;
|
|
23
|
-
},
|
|
24
|
-
get useStateManager () {
|
|
25
|
-
return useStateManager;
|
|
26
|
-
},
|
|
27
|
-
get useTheme () {
|
|
28
|
-
return useTheme;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
const _jsxruntime = require("react/jsx-runtime");
|
|
32
|
-
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
33
|
-
const _library = require("../../library");
|
|
34
|
-
const _AppConfig = require("../config/AppConfig");
|
|
35
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
36
|
-
if (typeof WeakMap !== "function") return null;
|
|
37
|
-
var cacheBabelInterop = new WeakMap();
|
|
38
|
-
var cacheNodeInterop = new WeakMap();
|
|
39
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
40
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
41
|
-
})(nodeInterop);
|
|
42
|
-
}
|
|
43
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
44
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
45
|
-
return obj;
|
|
46
|
-
}
|
|
47
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
48
|
-
return {
|
|
49
|
-
default: obj
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
53
|
-
if (cache && cache.has(obj)) {
|
|
54
|
-
return cache.get(obj);
|
|
55
|
-
}
|
|
56
|
-
var newObj = {
|
|
57
|
-
__proto__: null
|
|
58
|
-
};
|
|
59
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
60
|
-
for(var key in obj){
|
|
61
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
62
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
63
|
-
if (desc && (desc.get || desc.set)) {
|
|
64
|
-
Object.defineProperty(newObj, key, desc);
|
|
65
|
-
} else {
|
|
66
|
-
newObj[key] = obj[key];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
newObj.default = obj;
|
|
71
|
-
if (cache) {
|
|
72
|
-
cache.set(obj, newObj);
|
|
73
|
-
}
|
|
74
|
-
return newObj;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* 主题上下文
|
|
78
|
-
*/ const ThemeContext = /*#__PURE__*/ (0, _react.createContext)(undefined);
|
|
79
|
-
/**
|
|
80
|
-
* 国际化上下文
|
|
81
|
-
*/ const LocaleContext = /*#__PURE__*/ (0, _react.createContext)(undefined);
|
|
82
|
-
/**
|
|
83
|
-
* 配置上下文
|
|
84
|
-
*/ const ConfigContext = /*#__PURE__*/ (0, _react.createContext)(undefined);
|
|
85
|
-
/**
|
|
86
|
-
* 状态管理器上下文
|
|
87
|
-
*/ const StateManagerContext = /*#__PURE__*/ (0, _react.createContext)(undefined);
|
|
88
|
-
/**
|
|
89
|
-
* 主题 Provider 组件
|
|
90
|
-
*/ const ThemeProvider = /*#__PURE__*/ _react.default.memo(({ children, initialTheme })=>{
|
|
91
|
-
const [theme, setThemeState] = (0, _react.useState)(initialTheme || _AppConfig.appConfig.getTheme());
|
|
92
|
-
const applyDocumentThemeClass = (0, _react.useCallback)((mode)=>{
|
|
93
|
-
if (typeof window === 'undefined') {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const html = document.documentElement;
|
|
97
|
-
html.classList.remove('light', 'dark');
|
|
98
|
-
const resolvedMode = mode === 'system' ? window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : mode || 'light';
|
|
99
|
-
html.classList.add(resolvedMode);
|
|
100
|
-
}, []);
|
|
101
|
-
// 同步到单例
|
|
102
|
-
(0, _react.useEffect)(()=>{
|
|
103
|
-
_AppConfig.appConfig.setTheme(theme);
|
|
104
|
-
}, [
|
|
105
|
-
theme
|
|
106
|
-
]);
|
|
107
|
-
// 同步到文档 class,确保首屏与刷新时也能正确反映主题
|
|
108
|
-
(0, _react.useEffect)(()=>{
|
|
109
|
-
if (typeof window === 'undefined') {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
applyDocumentThemeClass(theme.mode);
|
|
113
|
-
if (theme.mode !== 'system') {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
117
|
-
const onSystemThemeChange = ()=>applyDocumentThemeClass('system');
|
|
118
|
-
if (typeof mediaQuery.addEventListener === 'function') {
|
|
119
|
-
mediaQuery.addEventListener('change', onSystemThemeChange);
|
|
120
|
-
return ()=>mediaQuery.removeEventListener('change', onSystemThemeChange);
|
|
121
|
-
}
|
|
122
|
-
mediaQuery.addListener(onSystemThemeChange);
|
|
123
|
-
return ()=>mediaQuery.removeListener(onSystemThemeChange);
|
|
124
|
-
}, [
|
|
125
|
-
applyDocumentThemeClass,
|
|
126
|
-
theme.mode
|
|
127
|
-
]);
|
|
128
|
-
// 更新主题
|
|
129
|
-
const setTheme = (0, _react.useCallback)((newTheme)=>{
|
|
130
|
-
setThemeState((prev)=>{
|
|
131
|
-
return typeof newTheme === 'function' ? newTheme(prev) : newTheme;
|
|
132
|
-
});
|
|
133
|
-
}, []);
|
|
134
|
-
const value = (0, _react.useMemo)(()=>({
|
|
135
|
-
theme,
|
|
136
|
-
setTheme
|
|
137
|
-
}), [
|
|
138
|
-
theme,
|
|
139
|
-
setTheme
|
|
140
|
-
]);
|
|
141
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(ThemeContext.Provider, {
|
|
142
|
-
value: value,
|
|
143
|
-
children: children
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
ThemeProvider.displayName = 'ThemeProvider';
|
|
147
|
-
/**
|
|
148
|
-
* 国际化 Provider 组件
|
|
149
|
-
*/ const LocaleProvider = /*#__PURE__*/ _react.default.memo(({ children, initialLocale })=>{
|
|
150
|
-
const [locale, setLocaleState] = (0, _react.useState)(initialLocale || _AppConfig.appConfig.getLocale());
|
|
151
|
-
const [isChanging, setIsChanging] = (0, _react.useState)(false);
|
|
152
|
-
// 同步到单例
|
|
153
|
-
(0, _react.useEffect)(()=>{
|
|
154
|
-
_AppConfig.appConfig.setLocale(locale);
|
|
155
|
-
}, [
|
|
156
|
-
locale
|
|
157
|
-
]);
|
|
158
|
-
// 更新语言,添加加载状态
|
|
159
|
-
const setLocale = (0, _react.useCallback)((newLocale)=>{
|
|
160
|
-
if (newLocale === locale) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
setIsChanging(true);
|
|
164
|
-
setLocaleState(newLocale);
|
|
165
|
-
(0, _library.setLang)(newLocale);
|
|
166
|
-
// 使用 requestAnimationFrame 确保状态更新在下一帧
|
|
167
|
-
requestAnimationFrame(()=>{
|
|
168
|
-
setIsChanging(false);
|
|
169
|
-
});
|
|
170
|
-
}, [
|
|
171
|
-
locale
|
|
172
|
-
]);
|
|
173
|
-
const value = (0, _react.useMemo)(()=>({
|
|
174
|
-
locale,
|
|
175
|
-
setLocale,
|
|
176
|
-
isChanging
|
|
177
|
-
}), [
|
|
178
|
-
locale,
|
|
179
|
-
setLocale,
|
|
180
|
-
isChanging
|
|
181
|
-
]);
|
|
182
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(LocaleContext.Provider, {
|
|
183
|
-
value: value,
|
|
184
|
-
children: children
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
LocaleProvider.displayName = 'LocaleProvider';
|
|
188
|
-
/**
|
|
189
|
-
* 配置 Provider 组件
|
|
190
|
-
*/ const AppConfigProvider = /*#__PURE__*/ _react.default.memo(({ children, initialAntdConfig, initialInitializationContext })=>{
|
|
191
|
-
const [antdConfig, setAntdConfigState] = (0, _react.useState)(initialAntdConfig || _AppConfig.appConfig.getAntdConfig());
|
|
192
|
-
const [initializationContext, setInitializationContextState] = (0, _react.useState)(initialInitializationContext || _AppConfig.appConfig.getInitializationContext());
|
|
193
|
-
// 同步到单例
|
|
194
|
-
(0, _react.useEffect)(()=>{
|
|
195
|
-
_AppConfig.appConfig.setAntdConfig(antdConfig);
|
|
196
|
-
}, [
|
|
197
|
-
antdConfig
|
|
198
|
-
]);
|
|
199
|
-
(0, _react.useEffect)(()=>{
|
|
200
|
-
_AppConfig.appConfig.setInitializationContext(initializationContext);
|
|
201
|
-
}, [
|
|
202
|
-
initializationContext
|
|
203
|
-
]);
|
|
204
|
-
// 更新 Ant Design 配置
|
|
205
|
-
const setAntdConfig = (0, _react.useCallback)((config)=>{
|
|
206
|
-
setAntdConfigState(config);
|
|
207
|
-
}, []);
|
|
208
|
-
// 更新初始化上下文
|
|
209
|
-
const setInitializationContext = (0, _react.useCallback)((context)=>{
|
|
210
|
-
setInitializationContextState(context);
|
|
211
|
-
}, []);
|
|
212
|
-
const value = (0, _react.useMemo)(()=>({
|
|
213
|
-
antdConfig,
|
|
214
|
-
initializationContext,
|
|
215
|
-
setAntdConfig,
|
|
216
|
-
setInitializationContext
|
|
217
|
-
}), [
|
|
218
|
-
antdConfig,
|
|
219
|
-
initializationContext,
|
|
220
|
-
setAntdConfig,
|
|
221
|
-
setInitializationContext
|
|
222
|
-
]);
|
|
223
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(ConfigContext.Provider, {
|
|
224
|
-
value: value,
|
|
225
|
-
children: children
|
|
226
|
-
});
|
|
227
|
-
});
|
|
228
|
-
AppConfigProvider.displayName = 'AppConfigProvider';
|
|
229
|
-
/**
|
|
230
|
-
* 应用上下文 Provider 组件
|
|
231
|
-
*
|
|
232
|
-
* 组合所有 Provider,提供统一的全局上下文
|
|
233
|
-
*
|
|
234
|
-
* @example
|
|
235
|
-
* ```tsx
|
|
236
|
-
* <AppContextProvider
|
|
237
|
-
* initialTheme={{ mode: 'light', primaryColor: '#1890ff' }}
|
|
238
|
-
* initialLocale="zh-CN"
|
|
239
|
-
* >
|
|
240
|
-
* <App />
|
|
241
|
-
* </AppContextProvider>
|
|
242
|
-
* ```
|
|
243
|
-
*/ /**
|
|
244
|
-
* 状态管理器 Provider 组件
|
|
245
|
-
*/ const StateManagerProvider = /*#__PURE__*/ _react.default.memo(({ children, stateManager })=>{
|
|
246
|
-
const value = (0, _react.useMemo)(()=>({
|
|
247
|
-
stateManager: stateManager ?? null
|
|
248
|
-
}), [
|
|
249
|
-
stateManager
|
|
250
|
-
]);
|
|
251
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(StateManagerContext.Provider, {
|
|
252
|
-
value: value,
|
|
253
|
-
children: children
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
StateManagerProvider.displayName = 'StateManagerProvider';
|
|
257
|
-
const AppContextProvider = ({ children, initialTheme, initialLocale, initialAntdConfig, initialInitializationContext, stateManager, antdApp: _antdApp, uiApp: _uiApp })=>{
|
|
258
|
-
// 初始化单例配置(仅执行一次)
|
|
259
|
-
const initializedRef = _react.default.useRef(false);
|
|
260
|
-
_react.default.useEffect(()=>{
|
|
261
|
-
if (!initializedRef.current) {
|
|
262
|
-
_AppConfig.appConfig.initialize({
|
|
263
|
-
theme: initialTheme,
|
|
264
|
-
locale: initialLocale,
|
|
265
|
-
antdConfig: initialAntdConfig,
|
|
266
|
-
initializationContext: initialInitializationContext
|
|
267
|
-
});
|
|
268
|
-
initializedRef.current = true;
|
|
269
|
-
}
|
|
270
|
-
}, [
|
|
271
|
-
initialTheme,
|
|
272
|
-
initialLocale,
|
|
273
|
-
initialAntdConfig,
|
|
274
|
-
initialInitializationContext
|
|
275
|
-
]);
|
|
276
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(ThemeProvider, {
|
|
277
|
-
initialTheme: initialTheme,
|
|
278
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LocaleProvider, {
|
|
279
|
-
initialLocale: initialLocale,
|
|
280
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(AppConfigProvider, {
|
|
281
|
-
initialAntdConfig: initialAntdConfig,
|
|
282
|
-
initialInitializationContext: initialInitializationContext,
|
|
283
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(StateManagerProvider, {
|
|
284
|
-
stateManager: stateManager,
|
|
285
|
-
children: children
|
|
286
|
-
})
|
|
287
|
-
})
|
|
288
|
-
})
|
|
289
|
-
});
|
|
290
|
-
};
|
|
291
|
-
const useTheme = ()=>{
|
|
292
|
-
const context = (0, _react.useContext)(ThemeContext);
|
|
293
|
-
if (context === undefined) {
|
|
294
|
-
throw new Error('useTheme 必须在 AppContextProvider 内使用');
|
|
295
|
-
}
|
|
296
|
-
return context;
|
|
297
|
-
};
|
|
298
|
-
const useLocale = ()=>{
|
|
299
|
-
const context = (0, _react.useContext)(LocaleContext);
|
|
300
|
-
if (context === undefined) {
|
|
301
|
-
throw new Error('useLocale 必须在 AppContextProvider 内使用');
|
|
302
|
-
}
|
|
303
|
-
return context;
|
|
304
|
-
};
|
|
305
|
-
const useConfig = ()=>{
|
|
306
|
-
const context = (0, _react.useContext)(ConfigContext);
|
|
307
|
-
if (context === undefined) {
|
|
308
|
-
throw new Error('useConfig 必须在 AppContextProvider 内使用');
|
|
309
|
-
}
|
|
310
|
-
return context;
|
|
311
|
-
};
|
|
312
|
-
const useStateManager = ()=>{
|
|
313
|
-
const context = (0, _react.useContext)(StateManagerContext);
|
|
314
|
-
if (context === undefined) {
|
|
315
|
-
throw new Error('useStateManager 必须在 AppContextProvider 内使用');
|
|
316
|
-
}
|
|
317
|
-
return context.stateManager;
|
|
318
|
-
};
|
|
319
|
-
const useAppContext = ()=>{
|
|
320
|
-
const themeContext = useTheme();
|
|
321
|
-
const localeContext = useLocale();
|
|
322
|
-
const configContext = useConfig();
|
|
323
|
-
const stateManagerContext = useStateManager();
|
|
324
|
-
// 优化:使用更细粒度的依赖项,避免不必要的重新计算
|
|
325
|
-
// 只依赖实际变化的值,函数引用是稳定的
|
|
326
|
-
return (0, _react.useMemo)(()=>({
|
|
327
|
-
theme: themeContext.theme,
|
|
328
|
-
locale: localeContext.locale,
|
|
329
|
-
antdConfig: configContext.antdConfig,
|
|
330
|
-
initializationContext: configContext.initializationContext,
|
|
331
|
-
stateManager: stateManagerContext,
|
|
332
|
-
setTheme: themeContext.setTheme,
|
|
333
|
-
setLocale: localeContext.setLocale,
|
|
334
|
-
setAntdConfig: configContext.setAntdConfig,
|
|
335
|
-
setInitializationContext: configContext.setInitializationContext
|
|
336
|
-
}), [
|
|
337
|
-
themeContext.theme,
|
|
338
|
-
localeContext.locale,
|
|
339
|
-
configContext.antdConfig,
|
|
340
|
-
configContext.initializationContext,
|
|
341
|
-
stateManagerContext,
|
|
342
|
-
// 函数引用是稳定的,不需要作为依赖
|
|
343
|
-
themeContext.setTheme,
|
|
344
|
-
localeContext.setLocale,
|
|
345
|
-
configContext.setAntdConfig,
|
|
346
|
-
configContext.setInitializationContext
|
|
347
|
-
]);
|
|
348
|
-
};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get AppContextProvider(){return AppContextProvider},get useAppContext(){return useAppContext},get useConfig(){return useConfig},get useLocale(){return useLocale},get useStateManager(){return useStateManager},get useTheme(){return useTheme}});const _jsxruntime=require("react/jsx-runtime");const _react=/*#__PURE__*/_interop_require_wildcard(require("react"));const _library=require("../../library");const _AppConfig=require("../config/AppConfig");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={__proto__:null};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}const ThemeContext=(0,_react.createContext)(undefined);const LocaleContext=(0,_react.createContext)(undefined);const ConfigContext=(0,_react.createContext)(undefined);const StateManagerContext=(0,_react.createContext)(undefined);const ThemeProvider=_react.default.memo(({children,initialTheme})=>{const[theme,setThemeState]=(0,_react.useState)(initialTheme||_AppConfig.appConfig.getTheme());const applyDocumentThemeClass=(0,_react.useCallback)(mode=>{if(typeof window==="undefined"){return}const html=document.documentElement;html.classList.remove("light","dark");const resolvedMode=mode==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":mode||"light";html.classList.add(resolvedMode)},[]);(0,_react.useEffect)(()=>{_AppConfig.appConfig.setTheme(theme)},[theme]);(0,_react.useEffect)(()=>{if(typeof window==="undefined"){return}applyDocumentThemeClass(theme.mode);if(theme.mode!=="system"){return}const mediaQuery=window.matchMedia("(prefers-color-scheme: dark)");const onSystemThemeChange=()=>applyDocumentThemeClass("system");if(typeof mediaQuery.addEventListener==="function"){mediaQuery.addEventListener("change",onSystemThemeChange);return()=>mediaQuery.removeEventListener("change",onSystemThemeChange)}mediaQuery.addListener(onSystemThemeChange);return()=>mediaQuery.removeListener(onSystemThemeChange)},[applyDocumentThemeClass,theme.mode]);const setTheme=(0,_react.useCallback)(newTheme=>{setThemeState(prev=>{return typeof newTheme==="function"?newTheme(prev):newTheme})},[]);const value=(0,_react.useMemo)(()=>({theme,setTheme}),[theme,setTheme]);return(0,_jsxruntime.jsx)(ThemeContext.Provider,{value:value,children:children})});ThemeProvider.displayName="ThemeProvider";const LocaleProvider=_react.default.memo(({children,initialLocale})=>{const[locale,setLocaleState]=(0,_react.useState)(initialLocale||_AppConfig.appConfig.getLocale());const[isChanging,setIsChanging]=(0,_react.useState)(false);(0,_react.useEffect)(()=>{_AppConfig.appConfig.setLocale(locale)},[locale]);const setLocale=(0,_react.useCallback)(newLocale=>{if(newLocale===locale){return}setIsChanging(true);setLocaleState(newLocale);(0,_library.setLang)(newLocale);requestAnimationFrame(()=>{setIsChanging(false)})},[locale]);const value=(0,_react.useMemo)(()=>({locale,setLocale,isChanging}),[locale,setLocale,isChanging]);return(0,_jsxruntime.jsx)(LocaleContext.Provider,{value:value,children:children})});LocaleProvider.displayName="LocaleProvider";const AppConfigProvider=_react.default.memo(({children,initialAntdConfig,initialInitializationContext})=>{const[antdConfig,setAntdConfigState]=(0,_react.useState)(initialAntdConfig||_AppConfig.appConfig.getAntdConfig());const[initializationContext,setInitializationContextState]=(0,_react.useState)(initialInitializationContext||_AppConfig.appConfig.getInitializationContext());(0,_react.useEffect)(()=>{_AppConfig.appConfig.setAntdConfig(antdConfig)},[antdConfig]);(0,_react.useEffect)(()=>{_AppConfig.appConfig.setInitializationContext(initializationContext)},[initializationContext]);const setAntdConfig=(0,_react.useCallback)(config=>{setAntdConfigState(config)},[]);const setInitializationContext=(0,_react.useCallback)(context=>{setInitializationContextState(context)},[]);const value=(0,_react.useMemo)(()=>({antdConfig,initializationContext,setAntdConfig,setInitializationContext}),[antdConfig,initializationContext,setAntdConfig,setInitializationContext]);return(0,_jsxruntime.jsx)(ConfigContext.Provider,{value:value,children:children})});AppConfigProvider.displayName="AppConfigProvider";const StateManagerProvider=_react.default.memo(({children,stateManager})=>{const value=(0,_react.useMemo)(()=>({stateManager:stateManager??null}),[stateManager]);return(0,_jsxruntime.jsx)(StateManagerContext.Provider,{value:value,children:children})});StateManagerProvider.displayName="StateManagerProvider";const AppContextProvider=({children,initialTheme,initialLocale,initialAntdConfig,initialInitializationContext,stateManager,antdApp:_antdApp,uiApp:_uiApp})=>{const initializedRef=_react.default.useRef(false);_react.default.useEffect(()=>{if(!initializedRef.current){_AppConfig.appConfig.initialize({theme:initialTheme,locale:initialLocale,antdConfig:initialAntdConfig,initializationContext:initialInitializationContext});initializedRef.current=true}},[initialTheme,initialLocale,initialAntdConfig,initialInitializationContext]);return(0,_jsxruntime.jsx)(ThemeProvider,{initialTheme:initialTheme,children:(0,_jsxruntime.jsx)(LocaleProvider,{initialLocale:initialLocale,children:(0,_jsxruntime.jsx)(AppConfigProvider,{initialAntdConfig:initialAntdConfig,initialInitializationContext:initialInitializationContext,children:(0,_jsxruntime.jsx)(StateManagerProvider,{stateManager:stateManager,children:children})})})})};const useTheme=()=>{const context=(0,_react.useContext)(ThemeContext);if(context===undefined){throw new Error("useTheme 必须在 AppContextProvider 内使用")}return context};const useLocale=()=>{const context=(0,_react.useContext)(LocaleContext);if(context===undefined){throw new Error("useLocale 必须在 AppContextProvider 内使用")}return context};const useConfig=()=>{const context=(0,_react.useContext)(ConfigContext);if(context===undefined){throw new Error("useConfig 必须在 AppContextProvider 内使用")}return context};const useStateManager=()=>{const context=(0,_react.useContext)(StateManagerContext);if(context===undefined){throw new Error("useStateManager 必须在 AppContextProvider 内使用")}return context.stateManager};const useAppContext=()=>{const themeContext=useTheme();const localeContext=useLocale();const configContext=useConfig();const stateManagerContext=useStateManager();return(0,_react.useMemo)(()=>({theme:themeContext.theme,locale:localeContext.locale,antdConfig:configContext.antdConfig,initializationContext:configContext.initializationContext,stateManager:stateManagerContext,setTheme:themeContext.setTheme,setLocale:localeContext.setLocale,setAntdConfig:configContext.setAntdConfig,setInitializationContext:configContext.setInitializationContext}),[themeContext.theme,localeContext.locale,configContext.antdConfig,configContext.initializationContext,stateManagerContext,themeContext.setTheme,localeContext.setLocale,configContext.setAntdConfig,configContext.setInitializationContext])};
|
|
@@ -1,122 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "BasicLayout", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return BasicLayout;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _jsxruntime = require("react/jsx-runtime");
|
|
12
|
-
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
13
|
-
const _AppContext = require("./AppContext");
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
15
|
-
if (typeof WeakMap !== "function") return null;
|
|
16
|
-
var cacheBabelInterop = new WeakMap();
|
|
17
|
-
var cacheNodeInterop = new WeakMap();
|
|
18
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
19
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
20
|
-
})(nodeInterop);
|
|
21
|
-
}
|
|
22
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
23
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
24
|
-
return obj;
|
|
25
|
-
}
|
|
26
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
27
|
-
return {
|
|
28
|
-
default: obj
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
32
|
-
if (cache && cache.has(obj)) {
|
|
33
|
-
return cache.get(obj);
|
|
34
|
-
}
|
|
35
|
-
var newObj = {
|
|
36
|
-
__proto__: null
|
|
37
|
-
};
|
|
38
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
39
|
-
for(var key in obj){
|
|
40
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
41
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
42
|
-
if (desc && (desc.get || desc.set)) {
|
|
43
|
-
Object.defineProperty(newObj, key, desc);
|
|
44
|
-
} else {
|
|
45
|
-
newObj[key] = obj[key];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
newObj.default = obj;
|
|
50
|
-
if (cache) {
|
|
51
|
-
cache.set(obj, newObj);
|
|
52
|
-
}
|
|
53
|
-
return newObj;
|
|
54
|
-
}
|
|
55
|
-
const BasicLayout = /*#__PURE__*/ (0, _react.memo)(({ children, configProps: externalConfigProps, globalProvider })=>{
|
|
56
|
-
const { antdConfig, theme } = (0, _AppContext.useAppContext)();
|
|
57
|
-
const [isSystemDark, setIsSystemDark] = _react.default.useState(()=>{
|
|
58
|
-
if (typeof window === 'undefined') {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
return window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
62
|
-
});
|
|
63
|
-
const finalConfigProps = antdConfig || externalConfigProps;
|
|
64
|
-
_react.default.useEffect(()=>{
|
|
65
|
-
if (typeof window === 'undefined') {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
69
|
-
const updateSystemTheme = (event)=>{
|
|
70
|
-
setIsSystemDark(event.matches);
|
|
71
|
-
};
|
|
72
|
-
setIsSystemDark(mediaQuery.matches);
|
|
73
|
-
if (typeof mediaQuery.addEventListener === 'function') {
|
|
74
|
-
mediaQuery.addEventListener('change', updateSystemTheme);
|
|
75
|
-
return ()=>mediaQuery.removeEventListener('change', updateSystemTheme);
|
|
76
|
-
}
|
|
77
|
-
mediaQuery.addListener(updateSystemTheme);
|
|
78
|
-
return ()=>mediaQuery.removeListener(updateSystemTheme);
|
|
79
|
-
}, []);
|
|
80
|
-
const resolvedMode = theme.mode === 'system' ? isSystemDark ? 'dark' : 'light' : theme.mode;
|
|
81
|
-
const cssVars = _react.default.useMemo(()=>{
|
|
82
|
-
const vars = {};
|
|
83
|
-
if (theme.primaryColor) {
|
|
84
|
-
vars['--app-primary-color'] = theme.primaryColor;
|
|
85
|
-
}
|
|
86
|
-
if (finalConfigProps && typeof finalConfigProps === 'object') {
|
|
87
|
-
const cssVariables = finalConfigProps.cssVariables;
|
|
88
|
-
if (cssVariables && typeof cssVariables === 'object') {
|
|
89
|
-
Object.entries(cssVariables).forEach(([key, value])=>{
|
|
90
|
-
vars[`--${key}`] = String(value);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return vars;
|
|
95
|
-
}, [
|
|
96
|
-
finalConfigProps,
|
|
97
|
-
theme.primaryColor
|
|
98
|
-
]);
|
|
99
|
-
const GlobalProvider = _react.default.useMemo(()=>globalProvider ? /*#__PURE__*/ _react.default.lazy(globalProvider) : null, [
|
|
100
|
-
globalProvider
|
|
101
|
-
]);
|
|
102
|
-
const renderedContent = _react.default.useMemo(()=>{
|
|
103
|
-
if (!GlobalProvider) {
|
|
104
|
-
return children;
|
|
105
|
-
}
|
|
106
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Suspense, {
|
|
107
|
-
fallback: null,
|
|
108
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(GlobalProvider, {
|
|
109
|
-
children: children
|
|
110
|
-
})
|
|
111
|
-
});
|
|
112
|
-
}, [
|
|
113
|
-
GlobalProvider,
|
|
114
|
-
children
|
|
115
|
-
]);
|
|
116
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
117
|
-
"data-theme-mode": resolvedMode,
|
|
118
|
-
style: cssVars,
|
|
119
|
-
children: renderedContent
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
BasicLayout.displayName = 'BasicLayout';
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"BasicLayout",{enumerable:true,get:function(){return BasicLayout}});const _jsxruntime=require("react/jsx-runtime");const _react=/*#__PURE__*/_interop_require_wildcard(require("react"));const _AppContext=require("./AppContext");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={__proto__:null};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}const BasicLayout=(0,_react.memo)(({children,configProps:externalConfigProps,globalProvider})=>{const{antdConfig,theme}=(0,_AppContext.useAppContext)();const[isSystemDark,setIsSystemDark]=_react.default.useState(()=>{if(typeof window==="undefined"){return false}return window.matchMedia("(prefers-color-scheme: dark)").matches});const finalConfigProps=antdConfig||externalConfigProps;_react.default.useEffect(()=>{if(typeof window==="undefined"){return}const mediaQuery=window.matchMedia("(prefers-color-scheme: dark)");const updateSystemTheme=event=>{setIsSystemDark(event.matches)};setIsSystemDark(mediaQuery.matches);if(typeof mediaQuery.addEventListener==="function"){mediaQuery.addEventListener("change",updateSystemTheme);return()=>mediaQuery.removeEventListener("change",updateSystemTheme)}mediaQuery.addListener(updateSystemTheme);return()=>mediaQuery.removeListener(updateSystemTheme)},[]);const resolvedMode=theme.mode==="system"?isSystemDark?"dark":"light":theme.mode;const cssVars=_react.default.useMemo(()=>{const vars={};if(theme.primaryColor){vars["--app-primary-color"]=theme.primaryColor}if(finalConfigProps&&typeof finalConfigProps==="object"){const cssVariables=finalConfigProps.cssVariables;if(cssVariables&&typeof cssVariables==="object"){Object.entries(cssVariables).forEach(([key,value])=>{vars[`--${key}`]=String(value)})}}return vars},[finalConfigProps,theme.primaryColor]);const GlobalProvider=_react.default.useMemo(()=>globalProvider?_react.default.lazy(globalProvider):null,[globalProvider]);const renderedContent=_react.default.useMemo(()=>{if(!GlobalProvider){return children}return(0,_jsxruntime.jsx)(_react.default.Suspense,{fallback:null,children:(0,_jsxruntime.jsx)(GlobalProvider,{children:children})})},[GlobalProvider,children]);return(0,_jsxruntime.jsx)("div",{"data-theme-mode":resolvedMode,style:cssVars,children:renderedContent})});BasicLayout.displayName="BasicLayout";
|
|
@@ -1,150 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* 默认应用页面组件
|
|
3
|
-
* 当用户未提供 app 选项时显示的默认页面
|
|
4
|
-
*/ "use strict";
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
Object.defineProperty(exports, "DefaultApp", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function() {
|
|
11
|
-
return DefaultApp;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
const _jsxruntime = require("react/jsx-runtime");
|
|
15
|
-
const _react = require("react");
|
|
16
|
-
const _library = require("../../library");
|
|
17
|
-
const cardStyle = {
|
|
18
|
-
background: 'rgba(255, 255, 255, 0.96)',
|
|
19
|
-
borderRadius: 10,
|
|
20
|
-
boxShadow: '0 6px 20px rgba(0, 0, 0, 0.14)',
|
|
21
|
-
padding: 20
|
|
22
|
-
};
|
|
23
|
-
const DefaultApp = /*#__PURE__*/ (0, _react.memo)(({ title, description })=>{
|
|
24
|
-
const displayTitle = title || (0, _library.$t)('defaultApp.title');
|
|
25
|
-
const displayDescription = description || (0, _library.$t)('defaultApp.description');
|
|
26
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
27
|
-
style: {
|
|
28
|
-
minHeight: '100vh',
|
|
29
|
-
display: 'flex',
|
|
30
|
-
alignItems: 'center',
|
|
31
|
-
justifyContent: 'center',
|
|
32
|
-
padding: 24,
|
|
33
|
-
background: 'linear-gradient(130deg, #274c77 0%, #2c7da0 42%, #61a5c2 100%)'
|
|
34
|
-
},
|
|
35
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
36
|
-
style: {
|
|
37
|
-
maxWidth: 860,
|
|
38
|
-
width: '100%'
|
|
39
|
-
},
|
|
40
|
-
children: [
|
|
41
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
42
|
-
style: {
|
|
43
|
-
textAlign: 'center',
|
|
44
|
-
marginBottom: 28,
|
|
45
|
-
color: '#fff'
|
|
46
|
-
},
|
|
47
|
-
children: [
|
|
48
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
|
49
|
-
style: {
|
|
50
|
-
fontSize: 56,
|
|
51
|
-
lineHeight: '60px',
|
|
52
|
-
marginBottom: 12
|
|
53
|
-
},
|
|
54
|
-
children: "🚀"
|
|
55
|
-
}),
|
|
56
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("h1", {
|
|
57
|
-
style: {
|
|
58
|
-
margin: 0,
|
|
59
|
-
fontSize: 34
|
|
60
|
-
},
|
|
61
|
-
children: displayTitle
|
|
62
|
-
}),
|
|
63
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
|
|
64
|
-
style: {
|
|
65
|
-
marginTop: 12,
|
|
66
|
-
opacity: 0.9
|
|
67
|
-
},
|
|
68
|
-
children: displayDescription
|
|
69
|
-
})
|
|
70
|
-
]
|
|
71
|
-
}),
|
|
72
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
|
73
|
-
style: {
|
|
74
|
-
display: 'grid',
|
|
75
|
-
gap: 16
|
|
76
|
-
},
|
|
77
|
-
children: [
|
|
78
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("section", {
|
|
79
|
-
style: cardStyle,
|
|
80
|
-
children: [
|
|
81
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("h2", {
|
|
82
|
-
style: {
|
|
83
|
-
marginTop: 0
|
|
84
|
-
},
|
|
85
|
-
children: [
|
|
86
|
-
"💻 ",
|
|
87
|
-
(0, _library.$t)('defaultApp.quickStart.title')
|
|
88
|
-
]
|
|
89
|
-
}),
|
|
90
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
|
|
91
|
-
children: (0, _library.$t)('defaultApp.quickStart.description')
|
|
92
|
-
}),
|
|
93
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("pre", {
|
|
94
|
-
style: {
|
|
95
|
-
margin: 0,
|
|
96
|
-
background: '#f4f6f8',
|
|
97
|
-
borderRadius: 8,
|
|
98
|
-
padding: 12,
|
|
99
|
-
overflowX: 'auto'
|
|
100
|
-
},
|
|
101
|
-
children: (0, _library.$t)('defaultApp.quickStart.code')
|
|
102
|
-
})
|
|
103
|
-
]
|
|
104
|
-
}),
|
|
105
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("section", {
|
|
106
|
-
style: cardStyle,
|
|
107
|
-
children: [
|
|
108
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("h2", {
|
|
109
|
-
style: {
|
|
110
|
-
marginTop: 0
|
|
111
|
-
},
|
|
112
|
-
children: [
|
|
113
|
-
"📚 ",
|
|
114
|
-
(0, _library.$t)('defaultApp.nextSteps.title')
|
|
115
|
-
]
|
|
116
|
-
}),
|
|
117
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)("ul", {
|
|
118
|
-
style: {
|
|
119
|
-
paddingLeft: 20,
|
|
120
|
-
marginBottom: 0
|
|
121
|
-
},
|
|
122
|
-
children: [
|
|
123
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("li", {
|
|
124
|
-
children: (0, _library.$t)('defaultApp.nextSteps.step1')
|
|
125
|
-
}),
|
|
126
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("li", {
|
|
127
|
-
children: (0, _library.$t)('defaultApp.nextSteps.step2')
|
|
128
|
-
}),
|
|
129
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("li", {
|
|
130
|
-
children: (0, _library.$t)('defaultApp.nextSteps.step3')
|
|
131
|
-
})
|
|
132
|
-
]
|
|
133
|
-
})
|
|
134
|
-
]
|
|
135
|
-
})
|
|
136
|
-
]
|
|
137
|
-
}),
|
|
138
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
|
|
139
|
-
style: {
|
|
140
|
-
textAlign: 'center',
|
|
141
|
-
color: 'rgba(255,255,255,0.88)',
|
|
142
|
-
marginTop: 18
|
|
143
|
-
},
|
|
144
|
-
children: (0, _library.$t)('defaultApp.footer')
|
|
145
|
-
})
|
|
146
|
-
]
|
|
147
|
-
})
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
DefaultApp.displayName = 'DefaultApp';
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"DefaultApp",{enumerable:true,get:function(){return DefaultApp}});const _jsxruntime=require("react/jsx-runtime");const _react=require("react");const _library=require("../../library");const cardStyle={background:"rgba(255, 255, 255, 0.96)",borderRadius:10,boxShadow:"0 6px 20px rgba(0, 0, 0, 0.14)",padding:20};const DefaultApp=(0,_react.memo)(({title,description})=>{const displayTitle=title||(0,_library.$t)("defaultApp.title");const displayDescription=description||(0,_library.$t)("defaultApp.description");return(0,_jsxruntime.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"linear-gradient(130deg, #274c77 0%, #2c7da0 42%, #61a5c2 100%)"},children:(0,_jsxruntime.jsxs)("div",{style:{maxWidth:860,width:"100%"},children:[(0,_jsxruntime.jsxs)("div",{style:{textAlign:"center",marginBottom:28,color:"#fff"},children:[(0,_jsxruntime.jsx)("div",{style:{fontSize:56,lineHeight:"60px",marginBottom:12},children:"🚀"}),(0,_jsxruntime.jsx)("h1",{style:{margin:0,fontSize:34},children:displayTitle}),(0,_jsxruntime.jsx)("p",{style:{marginTop:12,opacity:.9},children:displayDescription})]}),(0,_jsxruntime.jsxs)("div",{style:{display:"grid",gap:16},children:[(0,_jsxruntime.jsxs)("section",{style:cardStyle,children:[(0,_jsxruntime.jsxs)("h2",{style:{marginTop:0},children:["💻 ",(0,_library.$t)("defaultApp.quickStart.title")]}),(0,_jsxruntime.jsx)("p",{children:(0,_library.$t)("defaultApp.quickStart.description")}),(0,_jsxruntime.jsx)("pre",{style:{margin:0,background:"#f4f6f8",borderRadius:8,padding:12,overflowX:"auto"},children:(0,_library.$t)("defaultApp.quickStart.code")})]}),(0,_jsxruntime.jsxs)("section",{style:cardStyle,children:[(0,_jsxruntime.jsxs)("h2",{style:{marginTop:0},children:["📚 ",(0,_library.$t)("defaultApp.nextSteps.title")]}),(0,_jsxruntime.jsxs)("ul",{style:{paddingLeft:20,marginBottom:0},children:[(0,_jsxruntime.jsx)("li",{children:(0,_library.$t)("defaultApp.nextSteps.step1")}),(0,_jsxruntime.jsx)("li",{children:(0,_library.$t)("defaultApp.nextSteps.step2")}),(0,_jsxruntime.jsx)("li",{children:(0,_library.$t)("defaultApp.nextSteps.step3")})]})]})]}),(0,_jsxruntime.jsx)("p",{style:{textAlign:"center",color:"rgba(255,255,255,0.88)",marginTop:18},children:(0,_library.$t)("defaultApp.footer")})]})})});DefaultApp.displayName="DefaultApp";
|