@vlian/framework 1.2.59 → 1.2.61

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 (154) hide show
  1. package/dist/analytics/index.cjs +1 -22
  2. package/dist/analytics.umd.js +1 -1
  3. package/dist/components/LocaleSwitch.cjs +1 -116
  4. package/dist/components/ThemeSwitch.cjs +1 -115
  5. package/dist/components/index.cjs +1 -20
  6. package/dist/components/persistence.cjs +1 -58
  7. package/dist/core/Test.cjs +1 -64
  8. package/dist/core/app/AppContext.cjs +1 -348
  9. package/dist/core/app/AppContext.types.cjs +1 -4
  10. package/dist/core/app/BasicLayout.cjs +1 -122
  11. package/dist/core/app/DefaultApp.cjs +1 -150
  12. package/dist/core/app/index.cjs +1 -41
  13. package/dist/core/config/AppConfig.cjs +1 -139
  14. package/dist/core/config/ConfigLoader.cjs +1 -323
  15. package/dist/core/config/ConfigValidator.cjs +2 -133
  16. package/dist/core/config/index.cjs +1 -28
  17. package/dist/core/dev/DevTools.cjs +1 -226
  18. package/dist/core/error/ErrorBoundary.cjs +1 -401
  19. package/dist/core/error/ErrorHandler.cjs +1 -275
  20. package/dist/core/error/index.cjs +1 -34
  21. package/dist/core/event/AppEventBus.cjs +1 -444
  22. package/dist/core/event/frameworkEvents.cjs +1 -141
  23. package/dist/core/event/hooks.cjs +1 -69
  24. package/dist/core/event/index.cjs +1 -41
  25. package/dist/core/event/types.cjs +1 -62
  26. package/dist/core/event/useEventBus.cjs +1 -25
  27. package/dist/core/index.cjs +1 -140
  28. package/dist/core/initialization/InitializationErrorThrower.cjs +1 -75
  29. package/dist/core/initialization/index.cjs +1 -26
  30. package/dist/core/initialization/initialization.cjs +1 -64
  31. package/dist/core/initialization/initializationErrorState.cjs +1 -66
  32. package/dist/core/kernel/defaultAdapters.cjs +1 -184
  33. package/dist/core/kernel/errors.cjs +1 -69
  34. package/dist/core/kernel/index.cjs +1 -20
  35. package/dist/core/kernel/startKernel.cjs +1 -200
  36. package/dist/core/kernel/types.cjs +1 -4
  37. package/dist/core/middleware.cjs +1 -73
  38. package/dist/core/plugin/PluginEventBus.cjs +1 -298
  39. package/dist/core/plugin/PluginSandbox.cjs +1 -137
  40. package/dist/core/plugin.cjs +1 -494
  41. package/dist/core/router/RouterManager.cjs +1 -286
  42. package/dist/core/router/adapter/AdapterManager.cjs +1 -235
  43. package/dist/core/router/adapter/index.cjs +1 -22
  44. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -128
  45. package/dist/core/router/adapter/react-router/index.cjs +1 -20
  46. package/dist/core/router/adapter/types.cjs +1 -6
  47. package/dist/core/router/dev/RouterDevTools.cjs +1 -260
  48. package/dist/core/router/dev/index.cjs +1 -20
  49. package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -193
  50. package/dist/core/router/dynamic/index.cjs +1 -20
  51. package/dist/core/router/errors/RouterError.cjs +1 -61
  52. package/dist/core/router/errors/index.cjs +1 -20
  53. package/dist/core/router/index.cjs +1 -36
  54. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -144
  55. package/dist/core/router/lifecycle/index.cjs +1 -20
  56. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -193
  57. package/dist/core/router/middleware/auth.cjs +1 -66
  58. package/dist/core/router/middleware/index.cjs +1 -22
  59. package/dist/core/router/middleware/types.cjs +1 -6
  60. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -227
  61. package/dist/core/router/monitoring/index.cjs +1 -20
  62. package/dist/core/router/navigation/RouterNavigation.cjs +1 -239
  63. package/dist/core/router/navigation/index.cjs +1 -20
  64. package/dist/core/router/performance/RouteCache.cjs +1 -305
  65. package/dist/core/router/performance/RoutePreloader.cjs +1 -292
  66. package/dist/core/router/performance/index.cjs +1 -21
  67. package/dist/core/router/plugin/RouterPluginManager.cjs +1 -262
  68. package/dist/core/router/plugin/index.cjs +1 -21
  69. package/dist/core/router/plugin/types.cjs +1 -39
  70. package/dist/core/router/types.cjs +1 -4
  71. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -129
  72. package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -250
  73. package/dist/core/router/utils/transform.cjs +1 -780
  74. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -83
  75. package/dist/core/router/validation/index.cjs +1 -21
  76. package/dist/core/router/validation/schema.cjs +1 -159
  77. package/dist/core/router/version/RouteVersionManager.cjs +1 -205
  78. package/dist/core/router/version/index.cjs +1 -20
  79. package/dist/core/splash/SplashScreen.cjs +1 -341
  80. package/dist/core/splash/index.cjs +1 -22
  81. package/dist/core/splash/splashScreenUtils.cjs +1 -38
  82. package/dist/core/startup/AppInstance.cjs +1 -239
  83. package/dist/core/startup/environment.cjs +1 -169
  84. package/dist/core/startup/index.cjs +1 -23
  85. package/dist/core/startup/initializeServices.cjs +1 -226
  86. package/dist/core/startup/performanceTracker.cjs +1 -179
  87. package/dist/core/startup/renderApp.cjs +1 -314
  88. package/dist/core/startup/startApp.cjs +1 -317
  89. package/dist/core/types.cjs +1 -4
  90. package/dist/index.cjs +1 -52
  91. package/dist/index.umd.cjs +1 -27
  92. package/dist/index.umd.js +1 -1
  93. package/dist/kernel/constants.cjs +1 -65
  94. package/dist/kernel/index.cjs +1 -38
  95. package/dist/kernel/kernel.cjs +1 -295
  96. package/dist/kernel/manager/cacheManager.cjs +1 -46
  97. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -91
  98. package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -60
  99. package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -86
  100. package/dist/kernel/manager/i18n/index.cjs +1 -11
  101. package/dist/kernel/manager/i18nManager.cjs +1 -11
  102. package/dist/kernel/manager/index.cjs +1 -28
  103. package/dist/kernel/manager/logger/LoggerManager.cjs +1 -107
  104. package/dist/kernel/manager/logger/index.cjs +1 -11
  105. package/dist/kernel/manager/logger/logger.persistence.cjs +1 -62
  106. package/dist/kernel/manager/logger/logger.schema.cjs +1 -74
  107. package/dist/kernel/manager/loggerManager.cjs +1 -11
  108. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -84
  109. package/dist/kernel/manager/theme/index.cjs +1 -11
  110. package/dist/kernel/manager/theme/theme.dom.cjs +1 -61
  111. package/dist/kernel/manager/theme/theme.persistence.cjs +1 -57
  112. package/dist/kernel/manager/theme/theme.schema.cjs +1 -122
  113. package/dist/kernel/manager/themeManager.cjs +1 -11
  114. package/dist/kernel/types.cjs +1 -4
  115. package/dist/library/index.cjs +1 -19
  116. package/dist/library/locale/index.cjs +1 -39
  117. package/dist/library/locale/langs/en-us/index.cjs +1 -32
  118. package/dist/library/locale/langs/zh-cn/index.cjs +1 -32
  119. package/dist/library/locale/types.cjs +1 -4
  120. package/dist/library/storage/cache.cjs +1 -243
  121. package/dist/library/storage/encryption.cjs +1 -147
  122. package/dist/library/storage/index.cjs +1 -124
  123. package/dist/state/StateManager.cjs +1 -166
  124. package/dist/state/adapters/AdapterFactory.cjs +1 -89
  125. package/dist/state/adapters/DefaultAdapter.cjs +1 -75
  126. package/dist/state/adapters/ReduxAdapter.cjs +1 -443
  127. package/dist/state/adapters/ZustandAdapter.cjs +1 -69
  128. package/dist/state/adapters/index.cjs +1 -44
  129. package/dist/state/adapters/types.cjs +1 -20
  130. package/dist/state/core/DerivedStateInstance.cjs +1 -174
  131. package/dist/state/core/StateInstance.cjs +1 -170
  132. package/dist/state/core/StateRegistry.cjs +1 -110
  133. package/dist/state/core/StateScope.cjs +1 -137
  134. package/dist/state/core/index.cjs +1 -30
  135. package/dist/state/index.cjs +1 -30
  136. package/dist/state/types.cjs +1 -12
  137. package/dist/state.umd.js +1 -1
  138. package/dist/types.cjs +1 -4
  139. package/dist/utils/analytics.cjs +1 -217
  140. package/dist/utils/configSecurity.cjs +3 -182
  141. package/dist/utils/csrf.cjs +1 -18
  142. package/dist/utils/errors/ErrorCodes.cjs +1 -25
  143. package/dist/utils/errors.cjs +1 -111
  144. package/dist/utils/index.cjs +1 -135
  145. package/dist/utils/logger.cjs +1 -25
  146. package/dist/utils/logger.types.cjs +1 -11
  147. package/dist/utils/monitoring.cjs +1 -18
  148. package/dist/utils/performance.cjs +1 -22
  149. package/dist/utils/resourceLoader.cjs +1 -22
  150. package/dist/utils/runtimeSecurity.cjs +1 -11
  151. package/dist/utils/security.cjs +1 -19
  152. package/dist/utils/traceId.cjs +1 -37
  153. package/dist/utils/validation.cjs +1 -19
  154. package/package.json +12 -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,4 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});
@@ -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";