@moneko/core 2.0.16-beta.9 → 2.0.17-beta.0

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 (102) hide show
  1. package/build/common.js +1 -1
  2. package/build/envFlags.d.ts +1 -1
  3. package/build/envFlags.js +1 -1
  4. package/build/html-plugin-option.d.ts +2 -2
  5. package/build/html-plugin-option.js +1 -1
  6. package/build/modifyVars.js +1 -1
  7. package/build/webpack.common.js +1 -1
  8. package/lib/components/{app-router/index.d.ts → app-router.d.ts} +1 -1
  9. package/lib/components/app-router.js +2 -0
  10. package/lib/components/app-router.js.map +1 -0
  11. package/lib/components/{fallback-comp/index.js → fallback-comp.js} +1 -1
  12. package/lib/components/fallback-comp.js.map +1 -0
  13. package/lib/components/{fallback/index.js → fallback.js} +2 -2
  14. package/lib/components/fallback.js.map +1 -0
  15. package/lib/components/{layout-menu/index.js → layout-menu.js} +2 -2
  16. package/lib/components/layout-menu.js.map +1 -0
  17. package/lib/index.d.ts +6 -2
  18. package/lib/index.js +1 -1
  19. package/lib/index.js.map +1 -1
  20. package/lib/localizable.d.ts +53 -0
  21. package/lib/localizable.js +2 -0
  22. package/lib/localizable.js.map +1 -0
  23. package/lib/menu.d.ts +115 -0
  24. package/lib/menu.js +2 -0
  25. package/lib/menu.js.map +1 -0
  26. package/lib/packages/back-stage/app.js +1 -1
  27. package/lib/packages/back-stage/app.js.map +1 -1
  28. package/lib/packages/back-stage/bootstrap.js +1 -1
  29. package/lib/packages/back-stage/bootstrap.js.map +1 -1
  30. package/lib/packages/back-stage/index.d.ts +0 -1
  31. package/lib/packages/back-stage/index.js +1 -1
  32. package/lib/packages/back-stage/index.js.map +1 -1
  33. package/lib/packages/back-stage/layout.js +2 -0
  34. package/lib/packages/back-stage/layout.js.map +1 -0
  35. package/lib/packages/library/app.js +1 -1
  36. package/lib/packages/library/app.js.map +1 -1
  37. package/lib/packages/library/index.d.ts +0 -1
  38. package/lib/packages/library/index.js +1 -1
  39. package/lib/packages/library/index.js.map +1 -1
  40. package/lib/packages/mobile/app.js +1 -1
  41. package/lib/packages/mobile/app.js.map +1 -1
  42. package/lib/packages/mobile/index.d.ts +0 -1
  43. package/lib/packages/mobile/index.js +1 -1
  44. package/lib/packages/mobile/index.js.map +1 -1
  45. package/lib/packages/single-spa/app.d.ts +2 -2
  46. package/lib/packages/single-spa/app.js +1 -1
  47. package/lib/packages/single-spa/app.js.map +1 -1
  48. package/lib/packages/single-spa/bootstrap.js +1 -1
  49. package/lib/packages/single-spa/bootstrap.js.map +1 -1
  50. package/lib/packages/single-spa/index.d.ts +0 -1
  51. package/lib/packages/single-spa/index.js +1 -1
  52. package/lib/packages/single-spa/index.js.map +1 -1
  53. package/lib/packages/site/app.js +1 -1
  54. package/lib/packages/site/app.js.map +1 -1
  55. package/lib/packages/site/index.d.ts +0 -1
  56. package/lib/packages/site/index.js +1 -1
  57. package/lib/packages/site/index.js.map +1 -1
  58. package/lib/prefix/react-router-dom.js +1 -1
  59. package/lib/prefix/react-router-dom.js.map +1 -1
  60. package/lib/react-router-dom/link.d.ts +9 -0
  61. package/lib/react-router-dom/link.js +2 -0
  62. package/lib/react-router-dom/link.js.map +1 -0
  63. package/lib/{hooks/navgate.js → react-router-dom/use-navgate.js} +1 -1
  64. package/lib/react-router-dom/use-navgate.js.map +1 -0
  65. package/lib/router/index.d.ts +6 -0
  66. package/lib/router/index.js.map +1 -1
  67. package/lib/{store → sso}/index.d.ts +12 -2
  68. package/lib/{store → sso}/index.js +1 -1
  69. package/lib/sso/index.js.map +1 -0
  70. package/lib/styles/normalize.css +26 -18
  71. package/lib/styles/variables.css +33 -33
  72. package/package.json +2 -3
  73. package/template/404.html +29 -0
  74. package/typings/global.d.ts +15 -15
  75. package/lib/components/app-router/index.js +0 -2
  76. package/lib/components/app-router/index.js.map +0 -1
  77. package/lib/components/fallback/index.js.map +0 -1
  78. package/lib/components/fallback-comp/index.js.map +0 -1
  79. package/lib/components/layout-menu/index.js.map +0 -1
  80. package/lib/hooks/navgate.js.map +0 -1
  81. package/lib/packages/back-stage/layout/index.js +0 -2
  82. package/lib/packages/back-stage/layout/index.js.map +0 -1
  83. package/lib/packages/back-stage/layout/index.less +0 -81
  84. package/lib/packages/back-stage/models/app-program.d.ts +0 -0
  85. package/lib/packages/back-stage/models/app-program.js +0 -2
  86. package/lib/packages/back-stage/models/app-program.js.map +0 -1
  87. package/lib/prefix/i18n-hooks.d.ts +0 -1
  88. package/lib/prefix/i18n-hooks.js +0 -2
  89. package/lib/prefix/i18n-hooks.js.map +0 -1
  90. package/lib/prefix/mini-idc.d.ts +0 -1
  91. package/lib/prefix/mini-idc.js +0 -2
  92. package/lib/prefix/mini-idc.js.map +0 -1
  93. package/lib/store/index.js.map +0 -1
  94. package/lib/styles/animation.css +0 -24
  95. package/lib/utils/env.d.ts +0 -0
  96. package/lib/utils/env.js +0 -2
  97. package/lib/utils/env.js.map +0 -1
  98. /package/lib/components/{fallback-comp/index.d.ts → fallback-comp.d.ts} +0 -0
  99. /package/lib/components/{fallback/index.d.ts → fallback.d.ts} +0 -0
  100. /package/lib/components/{layout-menu/index.d.ts → layout-menu.d.ts} +0 -0
  101. /package/lib/packages/back-stage/{layout/index.d.ts → layout.d.ts} +0 -0
  102. /package/lib/{hooks/navgate.d.ts → react-router-dom/use-navgate.d.ts} +0 -0
package/build/common.js CHANGED
@@ -1 +1 @@
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:all[name]})}_export(exports,{ENTRYPATH:function(){return ENTRYPATH},log:function(){return log},CONFIG:function(){return CONFIG},PUBLICPATH:function(){return PUBLICPATH}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _readline=_interopRequireDefault(require("readline"));var _chalk=_interopRequireDefault(require("chalk"));var _webpackMerge=require("webpack-merge");var _processEnv=require("./process-env");var _utils=require("./utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _customConf_minifier;var ENTRYPATH={mobile:"mobile",site:"site","back-stage":"back-stage","single-spa":"single-spa",library:"library","single-component":"single-component"};var includeModule=[_processEnv.pkgName,"neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design"];var defaultSplitChunk={chunks:"all",minSize:1024,minChunks:1};if(_processEnv.APPTYPE==="single-component"){defaultSplitChunk=false}var defaultConfig={mode:"csr",compiler:"swc",bundleAnalyzer:{analyzerMode:"static",reportFilename:"report.html",openAnalyzer:false},entry:{},minifier:{options:{},css:"cssnano"},sourceMap:{filename:"[file].map",publicPath:""},env:{},miniIdc:{programName:"".concat(_processEnv.PACKAGENAME,"-").concat(_processEnv.PACKAGEVERSION,"-program-state")},routeBaseName:"/",publicPath:"auto",designSize:_processEnv.APPTYPE==="mobile"?375:1680,fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{},layoutSider:{},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:[],cacheDirectory:_processEnv.PROGRAMPATH+"/node_modules/.temp_cache",devServer:{allowedHosts:[".baidu.com"],host:"localhost",port:3e3,https:false,compress:false},htmlPluginOption:{template:"./node_modules/".concat(_processEnv.pkgName,"/template/index.html"),favicon:"./node_modules/".concat(_processEnv.pkgName,"/template/favicon.ico")},assetHtml:[],routerMode:"browser",plugins:[],splitChunk:defaultSplitChunk,runtimeChunk:_processEnv.APPTYPE==="single-component"?false:"single",moduleFederation:[],rulesInclude:{less:includeModule,css:includeModule,js:includeModule,media:includeModule,fonts:includeModule}};var log=function(msg){_readline.default.cursorTo(process.stdout,0);process.stdout.write(msg)};var customConf=defaultConfig;var configPath=null;var normalConf={};var envConf={};try{configPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/index.ts");_fs.default.accessSync(configPath,_fs.default.constants.R_OK)}catch(error){configPath=null}if(configPath){try{var conf=eval((0,_utils.tfc)(configPath)).default;normalConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}if(_processEnv.CUSTOMCONFIG){var customConfigPath=null;try{customConfigPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/".concat(_processEnv.CUSTOMCONFIG,".ts"));_fs.default.accessSync(customConfigPath,_fs.default.constants.R_OK)}catch(error){customConfigPath=null}if(customConfigPath!==null){try{var conf=eval((0,_utils.tfc)(customConfigPath)).default;envConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}}customConf=(0,_webpackMerge.merge)(customConf,normalConf,envConf);if(!(customConf===null||customConf===void 0?void 0:(_customConf_minifier=customConf.minifier)===null||_customConf_minifier===void 0?void 0:_customConf_minifier.type)){customConf.minifier.type=customConf.compiler==="swc"?"swc":"terser"}if(customConf.devtool===false)customConf.sourceMap=false;if(customConf.sourceMap===false)customConf.devtool=false;var CONFIG=customConf;var PUBLICPATH=CONFIG.publicPath||"auto";global.NEKOCLICONFIG={CONFIG:CONFIG,log:log};
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:all[name]})}_export(exports,{ENTRYPATH:function(){return ENTRYPATH},log:function(){return log},CONFIG:function(){return CONFIG},PUBLICPATH:function(){return PUBLICPATH}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _readline=_interopRequireDefault(require("readline"));var _chalk=_interopRequireDefault(require("chalk"));var _webpackMerge=require("webpack-merge");var _processEnv=require("./process-env");var _utils=require("./utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _customConf_minifier;var ENTRYPATH={mobile:"mobile",site:"site","back-stage":"back-stage","single-spa":"single-spa",library:"library","single-component":"single-component"};var includeModule=[_processEnv.pkgName,"neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design"];var defaultSplitChunk={chunks:"all",minSize:1024,minChunks:1};if(_processEnv.APPTYPE==="single-component"){defaultSplitChunk=false}var defaultConfig={mode:"csr",compiler:"swc",bundleAnalyzer:{analyzerMode:"static",reportFilename:"report.html",openAnalyzer:false},entry:{},minifier:{options:{},css:"cssnano"},sourceMap:{filename:"[file].map",publicPath:""},env:{},persistence:"".concat(_processEnv.PACKAGENAME,"-program:").concat(_processEnv.PACKAGEVERSION),routeBaseName:"/",publicPath:"/",designSize:_processEnv.APPTYPE==="mobile"?375:1680,fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{},layoutSider:{},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:[],cacheDirectory:_processEnv.PROGRAMPATH+"/node_modules/.temp_cache",devServer:{allowedHosts:[".baidu.com"],host:"localhost",port:3e3,https:false,compress:false},htmlPluginOption:{template:"./node_modules/".concat(_processEnv.pkgName,"/template/index.html"),favicon:"./node_modules/".concat(_processEnv.pkgName,"/template/favicon.ico"),tags:[]},assetHtml:[],routerMode:"browser",fixBrowserRouter:false,plugins:[],splitChunk:defaultSplitChunk,runtimeChunk:_processEnv.APPTYPE==="single-component"?false:"single",moduleFederation:[],rulesInclude:{less:includeModule,css:includeModule,js:includeModule,media:includeModule,fonts:includeModule}};var log=function(msg){_readline.default.cursorTo(process.stdout,0);process.stdout.write(msg)};var customConf=defaultConfig;var configPath=null;var normalConf={};var envConf={};try{configPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/index.ts");_fs.default.accessSync(configPath,_fs.default.constants.R_OK)}catch(error){configPath=null}if(configPath){try{var conf=eval((0,_utils.tfc)(configPath)).default;normalConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}if(_processEnv.CUSTOMCONFIG){var customConfigPath=null;try{customConfigPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/".concat(_processEnv.CUSTOMCONFIG,".ts"));_fs.default.accessSync(customConfigPath,_fs.default.constants.R_OK)}catch(error){customConfigPath=null}if(customConfigPath!==null){try{var conf=eval((0,_utils.tfc)(customConfigPath)).default;envConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}}customConf=(0,_webpackMerge.merge)(customConf,normalConf,envConf);if(!(customConf===null||customConf===void 0?void 0:(_customConf_minifier=customConf.minifier)===null||_customConf_minifier===void 0?void 0:_customConf_minifier.type)){customConf.minifier.type=customConf.compiler==="swc"?"swc":"terser"}if(customConf.devtool===false)customConf.sourceMap=false;if(customConf.sourceMap===false)customConf.devtool=false;if(customConf.fixBrowserRouter){if(!customConf.htmlPluginOption.tags){customConf.htmlPluginOption.tags=[]}customConf.htmlPluginOption.tags.push({textContent:"\n (function(l) {\n if (l.search[1] === '/' ) {\n var decoded = l.search.slice(1).split('&').map(function(s) { \n return s.replace(/~and~/g, '&')\n }).join('?');\n window.history.replaceState(null, null,\n l.pathname.slice(0, -1) + decoded + l.hash\n );\n }\n }(window.location))\n "})}var CONFIG=customConf;var PUBLICPATH=CONFIG.publicPath||"/";global.NEKOCLICONFIG={CONFIG:CONFIG,log:log};
@@ -4,7 +4,7 @@ declare const envFlags: {
4
4
  providerConfig: string;
5
5
  fallbackCompPath: string;
6
6
  ReactDOMPath: string;
7
- miniIdc: string;
7
+ favicon: string;
8
8
  hasLocales: string;
9
9
  layoutSider: string;
10
10
  hasAntd: string;
package/build/envFlags.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _common=require("./common");var _coverage=require("./coverage");var _processEnv=require("./process-env");var _utils=require("./utils");function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}var reactVersion=_processEnv.hasReact?require("react/package.json").version:"18";var ReactDOMPath=parseFloat(reactVersion)>=18?"react-dom/client":"react-dom";var entryName=_processEnv.APPTYPE==="library"?"site":"src";var APPENTRY=false;try{var appEntryPath=_path.default.join(_processEnv.PROGRAMPATH,"./src/index.ts");_fs.default.accessSync(appEntryPath,_fs.default.constants.R_OK);APPENTRY=appEntryPath}catch(error){APPENTRY=false}var envFlags={projectName:JSON.stringify((0,_utils.toUpperCaseString)(_processEnv.PACKAGENAME)),projectCoverage:JSON.stringify(_coverage.coverage),providerConfig:JSON.stringify({prefixCls:_common.CONFIG.prefixCls,iconPrefixCls:_common.CONFIG.prefixCls+"-icon",input:{autoComplete:"off"}}),fallbackCompPath:JSON.stringify(_common.CONFIG.fallbackCompPath),ReactDOMPath:JSON.stringify(ReactDOMPath),miniIdc:JSON.stringify(_common.CONFIG.miniIdc),hasLocales:JSON.stringify(_fs.default.existsSync(_path.default.join(_processEnv.PROGRAMPATH,"./".concat(entryName,"/locales")))),layoutSider:JSON.stringify(_common.CONFIG.layoutSider),hasAntd:JSON.stringify(_processEnv.hasAntd),APPTYPE:JSON.stringify(_processEnv.APPTYPE),APPENTRY:JSON.stringify(APPENTRY),programInfo:JSON.stringify(_objectSpreadProps(_objectSpread({},_processEnv.programInfo),{routeBaseName:_common.CONFIG.routeBaseName,designSize:_common.CONFIG.designSize,routerMode:_common.CONFIG.routerMode,renderMode:_common.CONFIG.mode})),"process.env":JSON.stringify(_objectSpread({NODE_ENV:_processEnv.NODE_ENV,APPTYPE:_processEnv.APPTYPE},_common.CONFIG.env))};var _default=envFlags;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _common=require("./common");var _coverage=require("./coverage");var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));var _processEnv=require("./process-env");var _utils=require("./utils");function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}var reactVersion=_processEnv.hasReact?require("react/package.json").version:"18";var ReactDOMPath=parseFloat(reactVersion)>=18?"react-dom/client":"react-dom";var entryName=_processEnv.APPTYPE==="library"?"site":"src";var APPENTRY=false;try{var appEntryPath=_path.default.join(_processEnv.PROGRAMPATH,"./src/index.ts");_fs.default.accessSync(appEntryPath,_fs.default.constants.R_OK);APPENTRY=appEntryPath}catch(error){APPENTRY=false}var envFlags={projectName:JSON.stringify((0,_utils.toUpperCaseString)(_processEnv.PACKAGENAME)),projectCoverage:JSON.stringify(_coverage.coverage),providerConfig:JSON.stringify({prefixCls:_common.CONFIG.prefixCls,iconPrefixCls:_common.CONFIG.prefixCls+"-icon"}),fallbackCompPath:JSON.stringify(_common.CONFIG.fallbackCompPath),ReactDOMPath:JSON.stringify(ReactDOMPath),favicon:JSON.stringify(_htmlPluginOption.default[0].favicon),hasLocales:JSON.stringify(_fs.default.existsSync(_path.default.join(_processEnv.PROGRAMPATH,"./".concat(entryName,"/locales")))),layoutSider:JSON.stringify(_common.CONFIG.layoutSider),hasAntd:JSON.stringify(_processEnv.hasAntd),APPTYPE:JSON.stringify(_processEnv.APPTYPE),APPENTRY:JSON.stringify(APPENTRY),programInfo:JSON.stringify(_objectSpreadProps(_objectSpread({},_processEnv.programInfo),{routeBaseName:_common.CONFIG.routeBaseName,designSize:_common.CONFIG.designSize,routerMode:_common.CONFIG.routerMode,renderMode:_common.CONFIG.mode})),"process.env":JSON.stringify(_objectSpread({NODE_ENV:_processEnv.NODE_ENV,APPTYPE:_processEnv.APPTYPE},_common.CONFIG.env))};var _default=envFlags;
@@ -1,3 +1,3 @@
1
- import type { ConfigType } from '../typings/global';
2
- declare const htmlPluginOption: ConfigType['htmlPluginOption'];
1
+ import type { HtmlWebpackOption } from '../typings/global';
2
+ declare const htmlPluginOption: HtmlWebpackOption;
3
3
  export default htmlPluginOption;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _path=_interopRequireDefault(require("path"));var _webpackMerge=require("webpack-merge");var _common=require("./common");var _processEnv=require("./process-env");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var _CONFIG_env;var _CONFIG_htmlPluginOption=_common.CONFIG.htmlPluginOption,template=_CONFIG_htmlPluginOption.template,favicon=_CONFIG_htmlPluginOption.favicon,option=_objectWithoutProperties(_CONFIG_htmlPluginOption,["template","favicon"]);var htmlPluginOption=(0,_webpackMerge.merge)({title:((_CONFIG_env=_common.CONFIG.env)===null||_CONFIG_env===void 0?void 0:_CONFIG_env.PROJECTNAME)||_processEnv.PACKAGENAME.toLocaleUpperCase()||"Title",filename:"index.html",hash:false,minify:{collapseWhitespace:true,removeComments:true,removeRedundantAttributes:false,removeScriptTypeAttributes:false,removeStyleLinkTypeAttributes:false,removeAttributeQuotes:true,useShortDoctype:true},meta:{charset:"UTF-8","X-UA-Compatible":{"http-equiv":"X-UA-Compatible",content:"IE=edge,Chrome=1"},HandheldFriendly:"true",MobileOptimized:"320","screen-orientation":"portrait","x5-orientation":"portrait",browsermode:"application","x5-page-mode":"app","msapplication-tap-highlight":"no",viewport:"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no","apple-mobile-web-app-capable":"yes",renderer:"webkit"},template:_path.default.join(_processEnv.PROGRAMPATH,template),favicon:_path.default.join(_processEnv.PROGRAMPATH,favicon)},option);var _default=htmlPluginOption;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _path=_interopRequireDefault(require("path"));var _webpackMerge=require("webpack-merge");var _common=require("./common");var _processEnv=require("./process-env");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var _CONFIG_env;var _CONFIG_htmlPluginOption=_common.CONFIG.htmlPluginOption,template=_CONFIG_htmlPluginOption.template,favicon=_CONFIG_htmlPluginOption.favicon,option=_objectWithoutProperties(_CONFIG_htmlPluginOption,["template","favicon"]);var htmlPluginOption=(0,_webpackMerge.merge)({title:((_CONFIG_env=_common.CONFIG.env)===null||_CONFIG_env===void 0?void 0:_CONFIG_env.PROJECTNAME)||_processEnv.PACKAGENAME.toLocaleUpperCase()||"Title",filename:"index.html",hash:false,minify:{collapseWhitespace:true,removeComments:true,removeRedundantAttributes:false,removeScriptTypeAttributes:false,removeStyleLinkTypeAttributes:false,removeAttributeQuotes:true,useShortDoctype:true},meta:{charset:"UTF-8","X-UA-Compatible":{"http-equiv":"X-UA-Compatible",content:"IE=edge,Chrome=1"},HandheldFriendly:"true",MobileOptimized:"320","screen-orientation":"portrait","x5-orientation":"portrait",browsermode:"application","x5-page-mode":"app","msapplication-tap-highlight":"no",viewport:"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no","apple-mobile-web-app-capable":"yes",renderer:"webkit",description:_processEnv.programInfo.description||""},tags:[],template:_path.default.join(_processEnv.PROGRAMPATH,template),favicon:_path.default.join(_processEnv.PROGRAMPATH,favicon)},option);var _default=htmlPluginOption;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _common=require("./common");var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var prefixCls=_common.CONFIG.prefixCls||"n";var modifyVars={};Object.assign(modifyVars,{"@prefix-cls":prefixCls,"@ant-prefix":prefixCls,"@iconfont-css-prefix":prefixCls+"-icon","@favicon":JSON.stringify(_htmlPluginOption.default.favicon)},_common.CONFIG.modifyVars||{});var _default=modifyVars;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _common=require("./common");var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var prefixCls=_common.CONFIG.prefixCls||"n";var modifyVars={};Object.assign(modifyVars,{"@prefix-cls":prefixCls,"@ant-prefix":prefixCls,"@iconfont-css-prefix":prefixCls+"-icon","@favicon":JSON.stringify(_htmlPluginOption.default[0].favicon)},_common.CONFIG.modifyVars||{});var _default=modifyVars;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _addAssetHtmlWebpackPlugin=_interopRequireDefault(require("add-asset-html-webpack-plugin"));var _htmlWebpackPlugin=_interopRequireDefault(require("html-webpack-plugin"));var _webpack=require("webpack");var _webpackbar=_interopRequireDefault(require("webpackbar"));var _common=require("./common");var _envFlags=_interopRequireDefault(require("./envFlags"));var _htmlAddEntryAttr=_interopRequireDefault(require("./html-add-entry-attr"));var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));var _moduleFederation=require("./module-federation");var _moduleConfig=_interopRequireDefault(require("./module.config"));var _processEnv=require("./process-env");var _utils=require("./utils");function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}var eslintrc=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"];var stylelintrc=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"];var rootFiles=_fs.default.readdirSync(_processEnv.PROGRAMPATH);var hasEslint=false,hasStylelint=false;for(var i=0,len=rootFiles.length;i<len;i++){if(stylelintrc.includes(rootFiles[i])){hasStylelint=true}if(eslintrc.includes(rootFiles[i])){hasEslint=true}}if(!hasEslint){hasEslint=_processEnv.hasEslintConfig}if(!hasStylelint){hasStylelint=_processEnv.hasStylelintConfig}var StylelintPlugin=hasStylelint?require("stylelint-webpack-plugin"):null;var ESLintPlugin=hasEslint?require("eslint-webpack-plugin"):null;var alias={"@":(0,_utils.resolveProgramPath)("src")};Object.assign(alias,_common.CONFIG.alias);if(_processEnv.APPTYPE==="library"){Object.assign(alias,_defineProperty({"@":(0,_utils.resolveProgramPath)("site"),"@pkg":(0,_utils.resolveProgramPath)("components")},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("components")))}var assetHtmlOption=_common.CONFIG.assetHtml.map(function(item){return _objectSpread({publicPath:""},item)});var outputConfig={path:(0,_utils.resolveProgramPath)(_processEnv.APPTYPE==="library"?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:"js/[name].chunk.js",assetModuleFilename:"assets/[name].[hash][ext]",library:_processEnv.PACKAGENAME,libraryTarget:"window",globalObject:"window",chunkLoadingGlobal:"webpackJsonp_".concat(_processEnv.PACKAGENAME),pathinfo:false,clean:true,publicPath:_common.PUBLICPATH};var mainEntry=_path.default.join(__dirname,"../lib/packages/".concat(_common.ENTRYPATH[_processEnv.APPTYPE],"/index.js"));if(_processEnv.APPTYPE==="single-component"){Object.assign(alias,_defineProperty({},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("umd")));mainEntry=(0,_utils.resolveProgramPath)(_processEnv.DEV?"example/index.ts":"src/index.ts");outputConfig.path=(0,_utils.resolveProgramPath)(_processEnv.DEV?"dist":"umd");outputConfig.filename="index.js";outputConfig.library=_processEnv.PACKAGENAME;outputConfig.libraryTarget="umd";outputConfig.libraryExport="default"}var entryMap={main:mainEntry};if(_common.CONFIG.entry){if(typeof _common.CONFIG.entry==="string"){entryMap=_common.CONFIG.entry}else if(Object.keys(_common.CONFIG.entry)){Object.assign(entryMap,_common.CONFIG.entry)}}if(_common.CONFIG.output){if(typeof _common.CONFIG.output==="string"){outputConfig.path=_common.CONFIG.output}else if(Object.keys(_common.CONFIG.output)){Object.assign(outputConfig,_common.CONFIG.output)}}var config={entry:entryMap,stats:"errors-only",infrastructureLogging:{level:"none"},target:"web",plugins:[new _webpack.AutomaticPrefetchPlugin].concat(_toConsumableArray(_moduleFederation.moduleFederation),[ESLintPlugin&&new ESLintPlugin({threads:true,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),StylelintPlugin&&new StylelintPlugin({fix:true,threads:true,extensions:["css","scss","sass","less","ts","tsx","js","jsx"],exclude:["node_modules/","es/","lib/","docs/","coverage/","dist/"]}),new _htmlWebpackPlugin.default(_htmlPluginOption.default),new _addAssetHtmlWebpackPlugin.default(assetHtmlOption),_processEnv.APPTYPE==="single-spa"&&new _htmlAddEntryAttr.default(function(src){return!!(src.match(/main\.(.*)\.bundle.js$/)||src.match("main.bundle.js"))}),new _webpack.DefinePlugin(_envFlags.default),new _webpack.WatchIgnorePlugin({paths:[/\.d\.ts$/]}),_common.CONFIG.sourceMap&&new _webpack.SourceMapDevToolPlugin(_common.CONFIG.sourceMap),new _webpackbar.default({name:"编译中",color:"#6f42c1"})],_toConsumableArray(_common.CONFIG.plugins)).filter(Boolean),experiments:{topLevelAwait:true,syncWebAssembly:true,asyncWebAssembly:true},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:alias,fallback:{path:false,fs:false,crypto:false,assert:false}},module:_moduleConfig.default,externals:_common.CONFIG.externals,output:outputConfig};var _default=config;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _addAssetHtmlWebpackPlugin=_interopRequireDefault(require("add-asset-html-webpack-plugin"));var _htmlWebpackPlugin=_interopRequireDefault(require("html-webpack-plugin"));var _webpack=require("webpack");var _webpackbar=_interopRequireDefault(require("webpackbar"));var _common=require("./common");var _envFlags=_interopRequireDefault(require("./envFlags"));var _htmlAddEntryAttr=_interopRequireDefault(require("./html-add-entry-attr"));var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));var _moduleFederation=require("./module-federation");var _moduleConfig=_interopRequireDefault(require("./module.config"));var _processEnv=require("./process-env");var _utils=require("./utils");function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}var eslintrc=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"];var stylelintrc=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"];var rootFiles=_fs.default.readdirSync(_processEnv.PROGRAMPATH);var hasEslint=false,hasStylelint=false;for(var i=0,len=rootFiles.length;i<len;i++){if(stylelintrc.includes(rootFiles[i])){hasStylelint=true}if(eslintrc.includes(rootFiles[i])){hasEslint=true}}if(!hasEslint){hasEslint=_processEnv.hasEslintConfig}if(!hasStylelint){hasStylelint=_processEnv.hasStylelintConfig}var StylelintPlugin=hasStylelint?require("stylelint-webpack-plugin"):null;var ESLintPlugin=hasEslint?require("eslint-webpack-plugin"):null;var alias={"@":(0,_utils.resolveProgramPath)("src")};Object.assign(alias,_common.CONFIG.alias);if(_processEnv.APPTYPE==="library"){Object.assign(alias,_defineProperty({"@":(0,_utils.resolveProgramPath)("site"),"@pkg":(0,_utils.resolveProgramPath)("components")},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("components")))}var assetHtmlOption=_common.CONFIG.assetHtml.map(function(item){return _objectSpread({publicPath:""},item)});var outputConfig={path:(0,_utils.resolveProgramPath)(_processEnv.APPTYPE==="library"?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:"js/[name].chunk.js",assetModuleFilename:"assets/[name].[hash][ext]",library:_processEnv.PACKAGENAME,libraryTarget:"window",globalObject:"window",chunkLoadingGlobal:"webpackJsonp_".concat(_processEnv.PACKAGENAME),pathinfo:false,clean:true,publicPath:_common.PUBLICPATH};var mainEntry=_path.default.join(__dirname,"../lib/packages/".concat(_common.ENTRYPATH[_processEnv.APPTYPE],"/index.js"));if(_processEnv.APPTYPE==="single-component"){Object.assign(alias,_defineProperty({},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("umd")));mainEntry=(0,_utils.resolveProgramPath)(_processEnv.DEV?"example/index.ts":"src/index.ts");outputConfig.path=(0,_utils.resolveProgramPath)(_processEnv.DEV?"dist":"umd");outputConfig.filename="index.js";outputConfig.library=_processEnv.PACKAGENAME;outputConfig.libraryTarget="umd";outputConfig.libraryExport="default"}var entryMap={main:mainEntry};if(_common.CONFIG.entry){if(typeof _common.CONFIG.entry==="string"){entryMap=_common.CONFIG.entry}else if(Object.keys(_common.CONFIG.entry)){Object.assign(entryMap,_common.CONFIG.entry)}}if(_common.CONFIG.output){if(typeof _common.CONFIG.output==="string"){outputConfig.path=_common.CONFIG.output}else if(Object.keys(_common.CONFIG.output)){Object.assign(outputConfig,_common.CONFIG.output)}}var config={entry:entryMap,stats:"errors-only",infrastructureLogging:{level:"none"},target:"web",plugins:[new _webpack.AutomaticPrefetchPlugin].concat(_toConsumableArray(_moduleFederation.moduleFederation),[ESLintPlugin&&new ESLintPlugin({threads:true,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),StylelintPlugin&&new StylelintPlugin({fix:true,threads:true,extensions:["css","scss","sass","less","ts","tsx","js","jsx"],exclude:["node_modules/","es/","lib/","docs/","coverage/","dist/"]}),new _htmlWebpackPlugin.default(_htmlPluginOption.default),_common.CONFIG.fixBrowserRouter&&new _htmlWebpackPlugin.default({title:_htmlPluginOption.default.title,filename:"404.html",template:(0,_utils.resolveNodeModulesPath)("/".concat(_processEnv.pkgName,"/template/404.html")),favicon:_htmlPluginOption.default.favicon,inject:false}),new _addAssetHtmlWebpackPlugin.default(assetHtmlOption),_processEnv.APPTYPE==="single-spa"&&new _htmlAddEntryAttr.default(function(src){return!!(src.match(/main\.(.*)\.bundle.js$/)||src.match("main.bundle.js"))}),new _webpack.DefinePlugin(_envFlags.default),new _webpack.WatchIgnorePlugin({paths:[/\.d\.ts$/]}),_common.CONFIG.sourceMap&&new _webpack.SourceMapDevToolPlugin(_common.CONFIG.sourceMap),new _webpackbar.default({name:"编译中",color:"#6f42c1"})],_toConsumableArray(_common.CONFIG.plugins)).filter(Boolean),experiments:{topLevelAwait:true,syncWebAssembly:true,asyncWebAssembly:true},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:alias,fallback:{path:false,fs:false,crypto:false,assert:false}},module:_moduleConfig.default,externals:_common.CONFIG.externals,output:outputConfig};var _default=config;
@@ -1,7 +1,7 @@
1
1
  import { Fragment as ReactFragment, type ReactElement } from 'react';
2
2
  import { AliveScope } from 'react-activation';
3
3
  import { createHashRouter } from 'react-router-dom';
4
- import { type RouterProps } from '../../router';
4
+ import { type RouterProps } from '../router';
5
5
  export declare const createRouter: typeof createHashRouter;
6
6
  export declare let RouterFragment: typeof ReactFragment | typeof AliveScope;
7
7
  export declare function prefixRouter(list: RouterProps[], fallback: ReactElement): RouterProps[];
@@ -0,0 +1,2 @@
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{Fragment as ReactFragment,Suspense,cloneElement as clone,createElement as create,useEffect,isValidElement}from"react";import{isObject}from"@moneko/common";import{AliveScope,KeepAlive,useAliveController}from"react-activation";import{createBrowserRouter,createHashRouter}from"react-router-dom";import Fallback from"./fallback";import{router}from"../router";var PrefixKeepAlive=function(_param){var children=_param.children,name=_param.name,args=_objectWithoutProperties(_param,["children","name"]);var _useAliveController=useAliveController(),drop=_useAliveController.drop,dropScope=_useAliveController.dropScope,clear=_useAliveController.clear,getCachingNodes=_useAliveController.getCachingNodes;var id=window.location.pathname+window.location.hash;useEffect(function(){if(window.__POWERED_BY_QIANKUN__&&window.primaryApp){if(!window.primaryApp.currentTarget){window.primaryApp.currentTarget={}}Object.assign(window.primaryApp.currentTarget,{aliveController:{drop:drop,dropScope:dropScope,clear:clear,getCachingNodes:getCachingNodes}})}},[clear,drop,dropScope,getCachingNodes]);var _children=children;return React.createElement(KeepAlive,_extends({id:id,name:id},args),clone(_children,{path:name,selfUrl:id}))};var existKeepAlive=false;export var createRouter=programInfo.routerMode==="hash"?createHashRouter:createBrowserRouter;export var RouterFragment=ReactFragment;export function prefixRouter(list,fallback){return list.map(function(r){var _=Object.assign({},r);if(!!_.alive&&!existKeepAlive){existKeepAlive=true;RouterFragment=AliveScope}if(_.element){var props=Object.assign({path:_.key},_.props);var ele=isValidElement(_.element)?clone(_.element,props):create(_.element,props);if(_.alive){var aliveProps={name:_.key,cacheKey:_.key};if(isObject(_.alive)){Object.assign(aliveProps,_.alive)}_.element=create(PrefixKeepAlive,aliveProps,ele)}else{_.element=React.createElement(Suspense,{fallback:r.fallback||fallback},ele)}}if(Array.isArray(_.children)){_.children=prefixRouter(_.children,fallback)}return _})}export var routerData=prefixRouter(router,React.createElement(Fallback,null));
2
+ //# sourceMappingURL=app-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/app-router.tsx"],"sourcesContent":["import React, {\n Fragment as ReactFragment,\n Suspense,\n cloneElement as clone,\n createElement as create,\n useEffect,\n isValidElement,\n type ReactElement,\n} from 'react';\nimport { isObject } from '@moneko/common';\nimport { AliveScope, KeepAlive, useAliveController, type KeepAliveProps } from 'react-activation';\nimport { createBrowserRouter, createHashRouter } from 'react-router-dom';\nimport Fallback from './fallback';\nimport { router, type RouterProps } from '../router';\n\nconst PrefixKeepAlive: React.FC<Partial<KeepAliveProps>> = ({ children, name, ...args }) => {\n const { drop, dropScope, clear, getCachingNodes } = useAliveController();\n const id = window.location.pathname + window.location.hash;\n\n useEffect(() => {\n if (window.__POWERED_BY_QIANKUN__ && window.primaryApp) {\n if (!window.primaryApp.currentTarget) {\n window.primaryApp.currentTarget = {};\n }\n Object.assign(window.primaryApp.currentTarget, {\n aliveController: { drop, dropScope, clear, getCachingNodes },\n });\n }\n }, [clear, drop, dropScope, getCachingNodes]);\n\n const _children = children as ReactElement;\n\n return (\n <KeepAlive id={id} name={id} {...args}>\n {clone(_children, {\n path: name,\n selfUrl: id,\n })}\n </KeepAlive>\n );\n};\n\nlet existKeepAlive = false;\n\nexport const createRouter =\n programInfo.routerMode === 'hash' ? createHashRouter : createBrowserRouter;\nexport let RouterFragment: typeof ReactFragment | typeof AliveScope = ReactFragment;\n\nexport function prefixRouter(list: RouterProps[], fallback: ReactElement) {\n return list.map((r) => {\n const _ = Object.assign({}, r);\n\n if (!!_.alive && !existKeepAlive) {\n existKeepAlive = true;\n RouterFragment = AliveScope;\n }\n if (_.element) {\n const props = Object.assign({ path: _.key }, _.props);\n const ele = isValidElement(_.element) ? clone(_.element, props) : create(_.element, props);\n\n if (_.alive) {\n const aliveProps: Partial<KeepAliveProps> = {\n name: _.key,\n cacheKey: _.key,\n };\n\n if (isObject(_.alive)) {\n Object.assign(aliveProps, _.alive);\n }\n _.element = create(PrefixKeepAlive, aliveProps, ele);\n } else {\n _.element = <Suspense fallback={r.fallback || fallback}>{ele}</Suspense>;\n }\n }\n\n if (Array.isArray(_.children)) {\n _.children = prefixRouter(_.children, fallback);\n }\n return _;\n });\n}\n\nexport const routerData = prefixRouter(router, <Fallback />);\n"],"names":["React","Fragment","ReactFragment","Suspense","cloneElement","clone","createElement","create","useEffect","isValidElement","isObject","AliveScope","KeepAlive","useAliveController","createBrowserRouter","createHashRouter","Fallback","router","PrefixKeepAlive","children","name","args","drop","dropScope","clear","getCachingNodes","id","window","location","pathname","hash","__POWERED_BY_QIANKUN__","primaryApp","currentTarget","Object","assign","aliveController","_children","path","selfUrl","existKeepAlive","createRouter","programInfo","routerMode","RouterFragment","prefixRouter","list","fallback","map","r","_","alive","element","props","key","ele","aliveProps","cacheKey","Array","isArray","routerData"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import*as React from"react";var FallbackComp=function(props){var _props_directory=props.directory,directory=_props_directory===void 0?"components":_props_directory,compName=props.compName,prop=_objectWithoutProperties(props,["directory","compName"]);var Comp=React.Fragment;try{Comp=require("@/".concat(directory,"/").concat(compName)).default}catch(error){console.info("".concat(compName," 组件不存在, 请在 @/").concat(directory,"/").concat(compName," 目录下新建 index.tsx, 并导出默认组件"))}return React.isValidElement(Comp)?null:React.createElement(Comp,_extends({},prop))};export default React.memo(FallbackComp);
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=fallback-comp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/fallback-comp.tsx"],"sourcesContent":["/* eslint-disable no-console */\nimport * as React from 'react';\n\nexport interface FallbackCompProps {\n /** 组件所在父级目录(默认:components) */\n directory?: string;\n /** 组件所在位置(不包含父级目录) */\n compName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\nconst FallbackComp: React.FC<FallbackCompProps> = (props: FallbackCompProps) => {\n const { directory = 'components', compName, ...prop } = props;\n\n let Comp = React.Fragment;\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n Comp = require(`@/${directory}/${compName}`).default;\n } catch (error) {\n console.info(\n `${compName} 组件不存在, 请在 @/${directory}/${compName} 目录下新建 index.tsx, 并导出默认组件`\n );\n }\n\n return React.isValidElement(Comp) ? null : <Comp {...prop} />;\n};\n\nexport default React.memo(FallbackComp);\n"],"names":["React","FallbackComp","props","directory","compName","prop","Comp","Fragment","require","default","error","console","info","isValidElement","memo"],"mappings":"w9BACA,UAAYA,UAAW,OAAQ,CAU/B,IAAMC,aAA4C,SAACC,MAA6B,CAC9E,qBAAwDA,MAAhDC,UAAAA,oCAAY,8BAAcC,SAAsBF,MAAtBE,SAAaC,8BAASH,OAAhDC,YAA0BC,aAElC,IAAIE,KAAON,MAAMO,QAAQ,CAEzB,GAAI,CAEFD,KAAOE,QAAQ,AAAC,KAAiBJ,OAAbD,UAAU,KAAY,OAATC,WAAYK,OAAO,AACtD,CAAE,MAAOC,MAAO,CACdC,QAAQC,IAAI,CACV,AAAC,GAA0BT,OAAxBC,SAAS,iBAA4BA,OAAbD,UAAU,KAAY,OAATC,SAAS,6BAErD,CAEA,OAAOJ,MAAMa,cAAc,CAACP,MAAQ,IAAI,CAAG,oBAACA,iBAASD,MAAQ,AAC/D,CAEA,gBAAeL,MAAMc,IAAI,CAACb,aAAc"}
@@ -1,2 +1,2 @@
1
- function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _toArray(arr){return _arrayWithHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableRest()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import React,{useMemo,useState}from"react";import{useOutlet}from"react-router-dom";import FallbackComp from"../fallback-comp";var Fallback=function(){var _useOutlet;var outlet=(_useOutlet=useOutlet())===null||_useOutlet===void 0?void 0:_useOutlet.props.children;var _useState=_slicedToArray(useState(React.createElement(React.Fragment,null,"Loading...")),2),el=_useState[0],setEl=_useState[1];useMemo(function(){if(typeof fallbackCompPath==="string"){var pat=fallbackCompPath.replace(/@\//,"").split("/");var _pat=_toArray(pat),directory=_pat[0],path=_pat.slice(1);setEl(React.createElement(FallbackComp,{directory:directory,compName:path.join("/")}))}},[]);return outlet?outlet:el};export default React.memo(Fallback);
2
- //# sourceMappingURL=index.js.map
1
+ function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _toArray(arr){return _arrayWithHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableRest()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import React,{useMemo,useState}from"react";import{useOutlet}from"react-router-dom";import FallbackComp from"./fallback-comp";var Fallback=function(){var _useOutlet;var outlet=(_useOutlet=useOutlet())===null||_useOutlet===void 0?void 0:_useOutlet.props.children;var _useState=_slicedToArray(useState(React.createElement(React.Fragment,null,"Loading...")),2),el=_useState[0],setEl=_useState[1];useMemo(function(){if(typeof fallbackCompPath==="string"){var pat=fallbackCompPath.replace(/@\//,"").split("/");var _pat=_toArray(pat),directory=_pat[0],path=_pat.slice(1);setEl(React.createElement(FallbackComp,{directory:directory,compName:path.join("/")}))}},[]);return outlet?outlet:el};export default React.memo(Fallback);
2
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/fallback.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { useOutlet } from 'react-router-dom';\nimport FallbackComp from './fallback-comp';\n\ndeclare const fallbackCompPath: string;\n\nconst Fallback: React.FC = () => {\n const outlet = useOutlet()?.props.children;\n const [el, setEl] = useState(<>Loading...</>);\n\n useMemo(() => {\n if (typeof fallbackCompPath === 'string') {\n const pat = fallbackCompPath.replace(/@\\//, '').split('/');\n const [directory, ...path] = pat;\n\n setEl(<FallbackComp directory={directory} compName={path.join('/')} />);\n }\n }, []);\n\n return outlet ? outlet : el;\n};\n\nexport default React.memo(Fallback);\n"],"names":["React","useMemo","useState","useOutlet","FallbackComp","Fallback","outlet","props","children","el","setEl","fallbackCompPath","pat","replace","split","directory","path","compName","join","memo"],"mappings":"ykDAAA,OAAOA,OAASC,OAAO,CAAEC,QAAQ,KAAQ,OAAQ,AACjD,QAASC,SAAS,KAAQ,kBAAmB,AAC7C,QAAOC,iBAAkB,iBAAkB,CAI3C,IAAMC,SAAqB,UAAM,KAChBF,WAAf,IAAMG,OAASH,CAAAA,WAAAA,qBAAAA,oBAAAA,KAAAA,EAAAA,WAAaI,MAAMC,QAAQ,CAC1C,IAAoBN,yBAAAA,SAAS,wCAAE,kBAAxBO,GAAaP,aAATQ,MAASR,aAEpBD,QAAQ,UAAM,CACZ,GAAI,OAAOU,mBAAqB,SAAU,CACxC,IAAMC,IAAMD,iBAAiBE,OAAO,CAAC,MAAO,IAAIC,KAAK,CAAC,KACtD,IAA6BF,cAAAA,KAAtBG,UAAsBH,QAAX,AAAGI,KAAQJ,WAAX,GAElBF,MAAM,oBAACN,cAAaW,UAAWA,UAAWE,SAAUD,KAAKE,IAAI,CAAC,OAChE,CAAC,AACH,EAAG,EAAE,EAEL,OAAOZ,OAASA,OAASG,EAAE,AAC7B,CAEA,gBAAeT,MAAMmB,IAAI,CAACd,SAAU"}
@@ -1,2 +1,2 @@
1
- function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{classNames,isEqual}from"@moneko/common";import{Menu}from"antd";import{useLocale}from"i18n-hooks";import{useSearchParams,Link}from"react-router-dom";import app from"@/store/app";var LayoutMenu=function(prop){var collapsed=prop.collapsed,menuProps=_objectWithoutProperties(prop,["collapsed"]);var _useSearchParams=_slicedToArray(useSearchParams(),1),search=_useSearchParams[0];var getLanguage=useLocale().getLanguage;var openKeysRef=useRef();var menu=app.menu,menuKV=app.menuKV,activeKey=app.activeKey;var _useState=_slicedToArray(useState([]),2),openKeys=_useState[0],setOpenKeys=_useState[1];var handleOpenChange=useCallback(function(keys){if(keys!==openKeys){setOpenKeys(keys)}},[openKeys]);var filterMenu=useCallback(function(list){return list.map(function(item){var icon=item.icon,itemIcon=item.itemIcon,disabled=item.disabled,type=item.type,key=item.key,path=item.path,label=item.label,children=item.children;var text=label?getLanguage(label):label;var childrens=Array.isArray(children)?filterMenu(children):children;return Object.assign({path:path,type:type,disabled:disabled,key:key,itemIcon:itemIcon,icon:icon,label:path&&!(childrens===null||childrens===void 0?void 0:childrens.length)?React.createElement(Link,{preventScrollReset:true,to:"".concat(key,"?menuId=").concat(key)},text):text},(childrens===null||childrens===void 0?void 0:childrens.length)&&{children:childrens})})},[getLanguage]);var menuId=useMemo(function(){return search.get("menuId")},[search]);var items=useMemo(function(){return filterMenu(menu.filter(function(m){return!m.hideMenu}))},[filterMenu,menu]);var selectedKeys=useMemo(function(){return activeKey?[activeKey]:[]},[activeKey]);useEffect(function(){Object.assign(openKeysRef,{current:openKeys})},[openKeys]);useEffect(function(){var current=menuKV[menuId||""];if(current&&!collapsed&&openKeysRef.current){var opk=_toConsumableArray(openKeysRef.current);if(!opk.includes(menuId))opk.push(menuId);if(current.parentId&&!opk.includes(current.parentId))opk.push(current.parentId);if(!isEqual(openKeysRef.current,opk))setOpenKeys(opk)}},[collapsed,menuId,menuKV]);useEffect(function(){if(menuId!==app.activeKey){app.activeKey=menuId}},[menuId]);return React.createElement(Menu,_extends({defaultSelectedKeys:selectedKeys,selectedKeys:selectedKeys,defaultOpenKeys:openKeys,openKeys:collapsed?undefined:openKeys,onOpenChange:handleOpenChange,mode:"inline",subMenuCloseDelay:0,triggerSubMenuAction:"click",items:items},menuProps,{className:classNames("layout-menu",menuProps.className)}))};export default React.memo(LayoutMenu);
2
- //# sourceMappingURL=index.js.map
1
+ function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{classNames,isEqual}from"@moneko/common";import{Menu}from"antd";import{useSearchParams,Link}from"react-router-dom";import{localizable}from"../localizable";import{menu}from"../menu";var LayoutMenu=function(prop){var collapsed=prop.collapsed,menuProps=_objectWithoutProperties(prop,["collapsed"]);var menus=menu.menus,kv=menu.kv,activeKey=menu.activeKey;var t=localizable.t;var _useSearchParams=_slicedToArray(useSearchParams(),1),search=_useSearchParams[0];var openKeysRef=useRef();var _useState=_slicedToArray(useState([]),2),openKeys=_useState[0],setOpenKeys=_useState[1];var handleOpenChange=useCallback(function(keys){if(keys!==openKeys){setOpenKeys(keys)}},[openKeys]);var filterMenu=useCallback(function(list){return list.map(function(item){var icon=item.icon,itemIcon=item.itemIcon,disabled=item.disabled,type=item.type,key=item.key,path=item.path,label=item.label,children=item.children;var text=t[label];var childrens=Array.isArray(children)?filterMenu(children):children;return Object.assign({path:path,type:type,disabled:disabled,key:key,itemIcon:itemIcon,icon:icon,label:path&&!(childrens===null||childrens===void 0?void 0:childrens.length)?React.createElement(Link,{preventScrollReset:true,to:"".concat(key,"?menuId=").concat(key)},text):text},(childrens===null||childrens===void 0?void 0:childrens.length)&&{children:childrens})})},[t]);var menuId=useMemo(function(){return search.get("menuId")},[search]);var items=useMemo(function(){return filterMenu(menus.filter(function(m){return!m.hideMenu}))},[filterMenu,menus]);var selectedKeys=useMemo(function(){return activeKey?[activeKey]:[]},[activeKey]);useEffect(function(){Object.assign(openKeysRef,{current:openKeys})},[openKeys]);useEffect(function(){var current=menuId&&kv[menuId];if(current&&!collapsed&&openKeysRef.current){var opk=_toConsumableArray(openKeysRef.current);if(!opk.includes(menuId))opk.push(menuId);if(current.parentId&&!opk.includes(current.parentId))opk.push(current.parentId);if(!isEqual(openKeysRef.current,opk))setOpenKeys(opk)}},[collapsed,menuId,kv]);useEffect(function(){if(menuId!==activeKey&&menuId){menu.activeKey=menuId}},[activeKey,menuId]);return React.createElement(Menu,_extends({defaultSelectedKeys:selectedKeys,selectedKeys:selectedKeys,defaultOpenKeys:openKeys,openKeys:collapsed?undefined:openKeys,onOpenChange:handleOpenChange,mode:"inline",subMenuCloseDelay:0,triggerSubMenuAction:"click",items:items},menuProps,{className:classNames("layout-menu",menuProps.className)}))};export default React.memo(LayoutMenu);
2
+ //# sourceMappingURL=layout-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/layout-menu.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { classNames, isEqual } from '@moneko/common';\nimport { Menu, type MenuProps } from 'antd';\nimport { useSearchParams, Link } from 'react-router-dom';\nimport { localizable } from '../localizable';\nimport { menu, type MenuItem } from '../menu';\n\nexport interface LayoutMenuProps extends MenuProps {\n collapsed?: boolean;\n}\n\nconst LayoutMenu: React.FC<LayoutMenuProps> = (prop) => {\n const { collapsed, ...menuProps } = prop;\n const { menus, kv, activeKey } = menu;\n const { t } = localizable;\n const [search] = useSearchParams();\n const openKeysRef = useRef<string[]>();\n const [openKeys, setOpenKeys] = useState<string[]>([]);\n const handleOpenChange = useCallback(\n (keys: string[]) => {\n if (keys !== openKeys) {\n setOpenKeys(keys as string[]);\n }\n },\n [openKeys]\n );\n\n const filterMenu = useCallback(\n (list: MenuItem[]): MenuItem[] => {\n return list.map((item) => {\n const { icon, itemIcon, disabled, type, key, path, label, children } = item;\n const text = t[label as string];\n const childrens = Array.isArray(children) ? filterMenu(children) : children;\n\n return Object.assign(\n {\n path,\n type,\n disabled,\n key,\n itemIcon,\n icon,\n label:\n path && !childrens?.length ? (\n <Link preventScrollReset to={`${key}?menuId=${key}`}>\n {text}\n </Link>\n ) : (\n text\n ),\n },\n childrens?.length && {\n children: childrens,\n }\n );\n });\n },\n [t]\n );\n\n const menuId = useMemo(() => search.get('menuId'), [search]);\n const items = useMemo(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n () => filterMenu(menus.filter((m: any) => !m.hideMenu)),\n [filterMenu, menus]\n );\n const selectedKeys = useMemo(() => (activeKey ? [activeKey] : []), [activeKey]);\n\n useEffect(() => {\n Object.assign(openKeysRef, {\n current: openKeys,\n });\n }, [openKeys]);\n useEffect(() => {\n const current = menuId && kv[menuId];\n\n if (current && !collapsed && openKeysRef.current) {\n const opk = [...openKeysRef.current];\n\n if (!opk.includes(menuId as string)) opk.push(menuId as string);\n if (current.parentId && !opk.includes(current.parentId)) opk.push(current.parentId);\n if (!isEqual(openKeysRef.current, opk)) setOpenKeys(opk);\n }\n }, [collapsed, menuId, kv]);\n\n useEffect(() => {\n if (menuId !== activeKey && menuId) {\n menu.activeKey = menuId;\n }\n }, [activeKey, menuId]);\n\n return (\n <Menu\n defaultSelectedKeys={selectedKeys}\n selectedKeys={selectedKeys}\n defaultOpenKeys={openKeys}\n // eslint-disable-next-line no-undefined\n openKeys={collapsed ? undefined : openKeys}\n onOpenChange={handleOpenChange}\n mode=\"inline\"\n subMenuCloseDelay={0}\n triggerSubMenuAction=\"click\"\n items={items}\n {...menuProps}\n className={classNames('layout-menu', menuProps.className)}\n />\n );\n};\n\nexport default React.memo(LayoutMenu);\n"],"names":["React","useCallback","useEffect","useMemo","useRef","useState","classNames","isEqual","Menu","useSearchParams","Link","localizable","menu","LayoutMenu","prop","collapsed","menuProps","menus","kv","activeKey","t","search","openKeysRef","openKeys","setOpenKeys","handleOpenChange","keys","filterMenu","list","map","item","icon","itemIcon","disabled","type","key","path","label","children","text","childrens","Array","isArray","Object","assign","length","preventScrollReset","to","menuId","get","items","filter","m","hideMenu","selectedKeys","current","opk","includes","push","parentId","defaultSelectedKeys","defaultOpenKeys","undefined","onOpenChange","mode","subMenuCloseDelay","triggerSubMenuAction","className","memo"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,9 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  export * from './prefix/react-router-dom.js';
3
- export * from './prefix/i18n-hooks.js';
4
3
  export * from './utils';
5
- export { default as createStore } from './store';
4
+ export { pathToRegexp } from 'path-to-regexp';
5
+ export { default as sso } from './sso';
6
+ export { type LocaleConfig, localizable, type LocaleName } from './localizable';
6
7
  export { matchUtil, router, onlyLoginRouter, myPkgs, myDemoKv, mdxComponents, type ExampleModule, type RouterProps, type MyPkg, } from './router';
8
+ export { type TabItem, type MenuItem, type CloseTab, menu } from './menu';
9
+ export type { LayoutMenuProps } from './components/layout-menu';
10
+ export { createRouter, prefixRouter, routerData, RouterFragment } from './components/app-router';
7
11
  export declare const LayoutMenu: any;
8
12
  export declare const DashboardLayout: any;
9
13
  export type { ConfigType, AppType, CommomType, ProgramInfoType, MemberTransformer, CoverageType, TerserOptions, MinifierType, SourceMapDevToolPluginOptions, ProjectCoverageType, SharedConfig, SwcOptions, OptimizationSplitChunksOptions, SwcImportOnDemandTransform, } from '../typings/global';
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export*from"./prefix/react-router-dom.js";export*from"./prefix/i18n-hooks.js";export*from"./utils";export{default as createStore}from"./store";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv,mdxComponents}from"./router";export var LayoutMenu=hasAntd?require("./components/layout-menu").default:null;export var DashboardLayout=hasAntd?require("./packages/back-stage/layout").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};
1
+ export*from"./prefix/react-router-dom.js";export*from"./utils";export{pathToRegexp}from"path-to-regexp";export{default as sso}from"./sso";export{localizable}from"./localizable";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv,mdxComponents}from"./router";export{menu}from"./menu";export{createRouter,prefixRouter,routerData,RouterFragment}from"./components/app-router";export var LayoutMenu=hasAntd?require("./components/layout-menu").default:null;export var DashboardLayout=hasAntd?require("./packages/back-stage/layout").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};
2
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './prefix/react-router-dom.js';\nexport * from './prefix/i18n-hooks.js';\n// export * from './prefix/mini-idc.js';\nexport * from './utils';\nexport { default as createStore } from './store';\nexport {\n matchUtil,\n router,\n onlyLoginRouter,\n myPkgs,\n myDemoKv,\n mdxComponents,\n type ExampleModule,\n type RouterProps,\n type MyPkg,\n} from './router';\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const LayoutMenu = hasAntd ? require('./components/layout-menu').default : null;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const DashboardLayout = hasAntd ? require('./packages/back-stage/layout').default : null;\nexport type {\n ConfigType,\n AppType,\n CommomType,\n ProgramInfoType,\n MemberTransformer,\n CoverageType,\n TerserOptions,\n MinifierType,\n SourceMapDevToolPluginOptions,\n ProjectCoverageType,\n SharedConfig,\n SwcOptions,\n OptimizationSplitChunksOptions,\n SwcImportOnDemandTransform,\n} from '../typings/global';\nimport type { ConfigType, CommomType, CoverageType, ProjectCoverageType } from '../typings/global';\nexport type PartialConfigType<T = 'swc'> = Partial<ConfigType<T>>;\nexport type PartialCommomType<T = 'swc'> = Partial<CommomType<T>>;\ndeclare const projectCoverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;\n\n/** 一些项目基本信息 */\nexport const projectBasicInfo = {\n projectName,\n providerConfig,\n programInfo,\n coverage: projectCoverage,\n};\n"],"names":["default","createStore","matchUtil","router","onlyLoginRouter","myPkgs","myDemoKv","mdxComponents","LayoutMenu","hasAntd","require","DashboardLayout","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,wBAAyB,AAEvC,YAAc,SAAU,AACxB,QAASA,WAAWC,WAAW,KAAQ,SAAU,AACjD,QACEC,SAAS,CACTC,MAAM,CACNC,eAAe,CACfC,MAAM,CACNC,QAAQ,CACRC,aAAa,KAIR,UAAW,AAElB,QAAO,IAAMC,WAAaC,QAAUC,QAAQ,4BAA4BV,OAAO,CAAG,IAAI,AAAC,AAEvF,QAAO,IAAMW,gBAAkBF,QAAUC,QAAQ,gCAAgCV,OAAO,CAAG,IAAI,AAAC,AAuBhG,QAAO,IAAMY,iBAAmB,CAC9BC,YAAAA,YACAC,eAAAA,eACAC,YAAAA,YACAC,SAAUC,eACZ,CAAE"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './prefix/react-router-dom.js';\nexport * from './utils';\nexport { pathToRegexp } from 'path-to-regexp';\nexport { default as sso } from './sso';\nexport { type LocaleConfig, localizable, type LocaleName } from './localizable';\nexport {\n matchUtil,\n router,\n onlyLoginRouter,\n myPkgs,\n myDemoKv,\n mdxComponents,\n type ExampleModule,\n type RouterProps,\n type MyPkg,\n} from './router';\nexport { type TabItem, type MenuItem, type CloseTab, menu } from './menu';\nexport type { LayoutMenuProps } from './components/layout-menu';\nexport { createRouter, prefixRouter, routerData, RouterFragment } from './components/app-router';\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const LayoutMenu = hasAntd ? require('./components/layout-menu').default : null;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const DashboardLayout = hasAntd ? require('./packages/back-stage/layout').default : null;\nexport type {\n ConfigType,\n AppType,\n CommomType,\n ProgramInfoType,\n MemberTransformer,\n CoverageType,\n TerserOptions,\n MinifierType,\n SourceMapDevToolPluginOptions,\n ProjectCoverageType,\n SharedConfig,\n SwcOptions,\n OptimizationSplitChunksOptions,\n SwcImportOnDemandTransform,\n} from '../typings/global';\nimport type { ConfigType, CommomType, CoverageType, ProjectCoverageType } from '../typings/global';\nexport type PartialConfigType<T = 'swc'> = Partial<ConfigType<T>>;\nexport type PartialCommomType<T = 'swc'> = Partial<CommomType<T>>;\ndeclare const projectCoverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;\n\n/** 一些项目基本信息 */\nexport const projectBasicInfo = {\n projectName,\n providerConfig,\n programInfo,\n coverage: projectCoverage,\n};\n"],"names":["pathToRegexp","default","sso","localizable","matchUtil","router","onlyLoginRouter","myPkgs","myDemoKv","mdxComponents","menu","createRouter","prefixRouter","routerData","RouterFragment","LayoutMenu","hasAntd","require","DashboardLayout","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,SAAU,AACxB,QAASA,YAAY,KAAQ,gBAAiB,AAC9C,QAASC,WAAWC,GAAG,KAAQ,OAAQ,AACvC,QAA4BC,WAAW,KAAyB,eAAgB,AAChF,QACEC,SAAS,CACTC,MAAM,CACNC,eAAe,CACfC,MAAM,CACNC,QAAQ,CACRC,aAAa,KAIR,UAAW,AAClB,QAAqDC,IAAI,KAAQ,QAAS,AAE1E,QAASC,YAAY,CAAEC,YAAY,CAAEC,UAAU,CAAEC,cAAc,KAAQ,yBAA0B,AAEjG,QAAO,IAAMC,WAAaC,QAAUC,QAAQ,4BAA4BhB,OAAO,CAAG,IAAI,AAAC,AAEvF,QAAO,IAAMiB,gBAAkBF,QAAUC,QAAQ,gCAAgChB,OAAO,CAAG,IAAI,AAAC,AAuBhG,QAAO,IAAMkB,iBAAmB,CAC9BC,YAAAA,YACAC,eAAAA,eACAC,YAAAA,YACAC,SAAUC,eACZ,CAAE"}
@@ -0,0 +1,53 @@
1
+ import type { ReactNode } from 'react';
2
+ export type LocaleName = 'ar_EG' | 'az_AZ' | 'bg_BG' | 'bn_BD' | 'by_BY' | 'ca_ES' | 'cs_CZ' | 'da_DK' | 'de_DE' | 'el_GR' | 'en_GB' | 'en_US' | 'es_ES' | 'et_EE' | 'fa_IR' | 'fi_FI' | 'fr_BE' | 'fr_CA' | 'fr_FR' | 'ga_IE' | 'gl_ES' | 'he_IL' | 'hi_IN' | 'hr_HR' | 'hu_HU' | 'hy_AM' | 'id_ID' | 'is_IS' | 'it_IT' | 'ja_JP' | 'ka_GE' | 'kk_KZ' | 'kmr_IQ' | 'km_KH' | 'kn_IN' | 'ko_KR' | 'ku_IQ' | 'lt_LT' | 'lv_LV' | 'mk_MK' | 'ml_IN' | 'mn_MN' | 'ms_MY' | 'nb_NO' | 'ne_NP' | 'nl_BE' | 'nl_NL' | 'pl_PL' | 'pt_BR' | 'pt_PT' | 'ro_RO' | 'ru_RU' | 'sk_SK' | 'sl_SI' | 'sr_RS' | 'sv_SE' | 'ta_IN' | 'th_TH' | 'tr_TR' | 'uk_UA' | 'ur_PK' | 'vi_VN' | 'zh_CN' | 'zh_HK' | 'zh_TW';
3
+ export type LocaleConfig = {
4
+ /** 语言名称 (未设置时使用文件名)*/
5
+ language?: LocaleName;
6
+ /** 描述 */
7
+ title: string;
8
+ /** Icon */
9
+ icon?: ReactNode | string;
10
+ /** 翻译字典 */
11
+ translation: Record<string, string>;
12
+ };
13
+ interface Locale extends LocaleConfig {
14
+ language: LocaleName;
15
+ }
16
+ export declare const localizable: {
17
+ /** 使用的语言 */
18
+ language: LocaleName;
19
+ /** 获取本地化文本 */
20
+ t: Record<string, string>;
21
+ /** 本地化支持列表 */
22
+ locales: Pick<Locale, "language" | "icon" | "title">[];
23
+ /** 设置使用的语言
24
+ * @param {LocaleName} lang 语言
25
+ * @constructor
26
+ */
27
+ set(lang: LocaleName): void;
28
+ } & (<K extends "language" | "t" | "locales" | "set">(key: K, updater: (val: {
29
+ /** 使用的语言 */
30
+ language: LocaleName;
31
+ /** 获取本地化文本 */
32
+ t: Record<string, string>;
33
+ /** 本地化支持列表 */
34
+ locales: Pick<Locale, "language" | "icon" | "title">[];
35
+ /** 设置使用的语言
36
+ * @param {LocaleName} lang 语言
37
+ * @constructor
38
+ */
39
+ set(lang: LocaleName): void;
40
+ }[K]) => {
41
+ /** 使用的语言 */
42
+ language: LocaleName;
43
+ /** 获取本地化文本 */
44
+ t: Record<string, string>;
45
+ /** 本地化支持列表 */
46
+ locales: Pick<Locale, "language" | "icon" | "title">[];
47
+ /** 设置使用的语言
48
+ * @param {LocaleName} lang 语言
49
+ * @constructor
50
+ */
51
+ set(lang: LocaleName): void;
52
+ }[K]) => void);
53
+ export {};
@@ -0,0 +1,2 @@
1
+ var _models_keys,_models_keys_call;import sso from"./sso";var models={keys:function(){return[]}};try{models=hasLocales?require.context("@/locales/",true,/\.(t|j)s$/):{keys:function(){return[]}}}catch(error){console.warn(error)}var resources={};var locales=[];(_models_keys=models.keys)===null||_models_keys===void 0?void 0:(_models_keys_call=_models_keys.call(models))===null||_models_keys_call===void 0?void 0:_models_keys_call.map(function(path,i){var item=models(path).default;if(item&&Object.prototype.toString.call(item)==="[object Object]"){var _item_language=item.language,language=_item_language===void 0?path.replace(/(.*\/)*([^.]+).*/gi,"$2"):_item_language,_item_title=item.title,title=_item_title===void 0?language:_item_title,icon=item.icon,_item_translation=item.translation,translation=_item_translation===void 0?{}:_item_translation;if(i===0){locales.splice(0)}locales.push({language:language,title:title,icon:icon});resources[language]={language:language,title:title,icon:icon,translation:new Proxy(translation,{get:function get(target,key){return target[key]||key}})}}item=null});var defaultLocale=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},resources.zh_CN);export var localizable=sso({language:"zh_CN",t:defaultLocale.translation,locales:locales,set:function set(lang){var _resources_lang;localizable.language=lang;localizable.t=((_resources_lang=resources[lang])===null||_resources_lang===void 0?void 0:_resources_lang.translation)||defaultLocale.translation}});
2
+ //# sourceMappingURL=localizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/localizable.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport sso from './sso';\n\nexport type LocaleName =\n | 'ar_EG'\n | 'az_AZ'\n | 'bg_BG'\n | 'bn_BD'\n | 'by_BY'\n | 'ca_ES'\n | 'cs_CZ'\n | 'da_DK'\n | 'de_DE'\n | 'el_GR'\n | 'en_GB'\n | 'en_US'\n | 'es_ES'\n | 'et_EE'\n | 'fa_IR'\n | 'fi_FI'\n | 'fr_BE'\n | 'fr_CA'\n | 'fr_FR'\n | 'ga_IE'\n | 'gl_ES'\n | 'he_IL'\n | 'hi_IN'\n | 'hr_HR'\n | 'hu_HU'\n | 'hy_AM'\n | 'id_ID'\n | 'is_IS'\n | 'it_IT'\n | 'ja_JP'\n | 'ka_GE'\n | 'kk_KZ'\n | 'kmr_IQ'\n | 'km_KH'\n | 'kn_IN'\n | 'ko_KR'\n | 'ku_IQ'\n | 'lt_LT'\n | 'lv_LV'\n | 'mk_MK'\n | 'ml_IN'\n | 'mn_MN'\n | 'ms_MY'\n | 'nb_NO'\n | 'ne_NP'\n | 'nl_BE'\n | 'nl_NL'\n | 'pl_PL'\n | 'pt_BR'\n | 'pt_PT'\n | 'ro_RO'\n | 'ru_RU'\n | 'sk_SK'\n | 'sl_SI'\n | 'sr_RS'\n | 'sv_SE'\n | 'ta_IN'\n | 'th_TH'\n | 'tr_TR'\n | 'uk_UA'\n | 'ur_PK'\n | 'vi_VN'\n | 'zh_CN'\n | 'zh_HK'\n | 'zh_TW';\n\nlet models = {\n keys: () => [],\n} as unknown as __WebpackModuleApi.RequireContext;\n\ndeclare const hasLocales: boolean;\n\ntry {\n models = hasLocales // eslint-disable-next-line\n ? require.context('@/locales/', true, /\\.(t|j)s$/) // eslint-disable-next-line\n : ({\n keys: () => [],\n } as unknown as __WebpackModuleApi.RequireContext);\n} catch (error) {\n // eslint-disable-next-line no-console\n console.warn(error);\n}\nexport type LocaleConfig = {\n /** 语言名称 (未设置时使用文件名)*/\n language?: LocaleName;\n /** 描述 */\n title: string;\n /** Icon */\n icon?: ReactNode | string;\n /** 翻译字典 */\n translation: Record<string, string>;\n};\ntype LocaleConfigMap = Record<LocaleName, Locale>;\nconst resources: Partial<LocaleConfigMap> = {};\nconst locales: Pick<Locale, 'language' | 'icon' | 'title'>[] = [];\n\nmodels.keys?.()?.map((path: string, i: number) => {\n let item: LocaleConfigMap[LocaleName] | null = models(path).default;\n\n if (item && Object.prototype.toString.call(item) === '[object Object]') {\n const {\n language = path.replace(/(.*\\/)*([^.]+).*/gi, '$2') as LocaleName,\n title = language,\n icon,\n translation = {},\n } = item;\n\n if (i === 0) {\n locales.splice(0);\n }\n locales.push({\n language,\n title,\n icon,\n });\n resources[language] = {\n language,\n title,\n icon,\n translation: new Proxy(translation, {\n get(target, key) {\n return target[key as string] || key;\n },\n }),\n };\n }\n item = null;\n});\n\ninterface Locale extends LocaleConfig {\n language: LocaleName;\n}\nconst defaultLocale: Locale = Object.assign(\n {\n title: '简体中文',\n language: 'zh_CN',\n translation: {},\n },\n resources.zh_CN\n);\n\nexport const localizable = sso({\n /** 使用的语言 */\n language: 'zh_CN' as LocaleName,\n /** 获取本地化文本 */\n t: defaultLocale.translation,\n /** 本地化支持列表 */\n locales: locales,\n /** 设置使用的语言\n * @param {LocaleName} lang 语言\n * @constructor\n */\n set(lang: LocaleName) {\n localizable.language = lang;\n localizable.t = resources[lang]?.translation || defaultLocale.translation;\n },\n});\n"],"names":["models","sso","keys","hasLocales","require","context","error","console","warn","resources","locales","map","path","i","item","default","Object","prototype","toString","call","language","replace","title","icon","translation","splice","push","Proxy","get","target","key","defaultLocale","assign","zh_CN","localizable","t","set","lang"],"mappings":"IAoGAA,aAAAA,iBAnGA,QAAOC,QAAS,OAAQ,CAqExB,IAAID,OAAS,CACXE,KAAM,iBAAM,EAAE,CAChB,EAIA,GAAI,CACFF,OAASG,WACLC,QAAQC,OAAO,CAAC,aAAc,IAAI,CAAE,aACnC,CACCH,KAAM,iBAAM,EAAE,CAChB,CAAkD,AACxD,CAAE,MAAOI,MAAO,CAEdC,QAAQC,IAAI,CAACF,MACf,CAYA,IAAMG,UAAsC,CAAC,EAC7C,IAAMC,QAAyD,EAAE,AAEjEV,EAAAA,aAAAA,OAAOE,IAAI,UAAXF,sBAAAA,KAAAA,EAAAA,CAAAA,kBAAAA,aAAAA,KAAAA,iBAAAA,2BAAAA,KAAAA,EAAAA,kBAAiBW,IAAI,SAACC,KAAcC,EAAc,CAChD,IAAIC,KAA2Cd,OAAOY,MAAMG,OAAO,CAEnE,GAAID,MAAQE,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACL,QAAU,kBAAmB,CACtE,mBAKIA,KAJFM,SAAAA,iCAAWR,KAAKS,OAAO,CAAC,qBAAsB,iCAI5CP,KAHFQ,MAAAA,2BAAQF,qBACRG,KAEET,KAFFS,uBAEET,KADFU,YAAAA,uCAAc,CAAC,oBAGjB,GAAIX,IAAM,EAAG,CACXH,QAAQe,MAAM,CAAC,EACjB,CAAC,AACDf,QAAQgB,IAAI,CAAC,CACXN,SAAAA,SACAE,MAAAA,MACAC,KAAAA,IACF,EACAd,CAAAA,SAAS,CAACW,SAAS,CAAG,CACpBA,SAAAA,SACAE,MAAAA,MACAC,KAAAA,KACAC,YAAa,IAAIG,MAAMH,YAAa,CAClCI,IAAAA,SAAAA,IAAIC,MAAM,CAAEC,GAAG,CAAE,CACf,OAAOD,MAAM,CAACC,IAAc,EAAIA,GAClC,CACF,EACF,CACF,CAAC,AACDhB,KAAO,IAAI,AACb,GAKA,IAAMiB,cAAwBf,OAAOgB,MAAM,CACzC,CACEV,MAAO,OACPF,SAAU,QACVI,YAAa,CAAC,CAChB,EACAf,UAAUwB,KAAK,CAGjB,QAAO,IAAMC,YAAcjC,IAAI,CAE7BmB,SAAU,QAEVe,EAAGJ,cAAcP,WAAW,CAE5Bd,QAASA,QAKT0B,IAAAA,SAAAA,IAAIC,IAAgB,CAAE,KAEJ5B,eADhByB,CAAAA,YAAYd,QAAQ,CAAGiB,IACvBH,CAAAA,YAAYC,CAAC,CAAG1B,CAAAA,CAAAA,gBAAAA,SAAS,CAAC4B,KAAK,UAAf5B,yBAAAA,KAAAA,EAAAA,gBAAiBe,WAAW,AAAD,GAAKO,cAAcP,WAAW,AAC3E,CACF,EAAG"}
package/lib/menu.d.ts ADDED
@@ -0,0 +1,115 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { RouterProps } from './router';
3
+ export type CloseTab = 'left' | 'right' | 'other' | 'self';
4
+ export interface TabItem extends RouterProps {
5
+ key: string;
6
+ url?: string;
7
+ path?: string;
8
+ closable?: boolean;
9
+ icon?: ReactNode;
10
+ label?: ReactNode;
11
+ dynamicTitle?: string;
12
+ }
13
+ export interface MenuItem extends RouterProps {
14
+ key: string;
15
+ type?: string;
16
+ label?: ReactNode;
17
+ children?: MenuItem[];
18
+ [key: string]: any;
19
+ }
20
+ type ClosedCallback = (closes?: TabItem[], next?: TabItem) => void;
21
+ export declare const menu: {
22
+ /** 当前菜单 */
23
+ activeKey: string;
24
+ /** 当前用户可访问的菜单列表 */
25
+ menus: MenuItem[];
26
+ /** 菜单列表的kv数据, 根据menus自动生成 */
27
+ kv: Record<string, MenuItem>;
28
+ /** 选项卡数据 */
29
+ tabs: TabItem[];
30
+ /** 设置菜单列表
31
+ * @param {MenuItem[]} data 菜单数据
32
+ * @constructor
33
+ */
34
+ setMenu(data: MenuItem[]): void;
35
+ /** 添加选项卡
36
+ * @param {TabItem} tab 选项卡
37
+ * @constructor
38
+ */
39
+ addTab(tab: TabItem): void;
40
+ /** 打开选项卡
41
+ * @param {TabItem} tab 选项卡
42
+ * @constructor
43
+ */
44
+ openTab(tab: TabItem): void;
45
+ /** 关闭选项卡
46
+ * @param {string} key 选项卡key
47
+ * @param {CloseTab} type 操作类型,如何关闭
48
+ * @param {ClosedCallback} callback 回调函数
49
+ * @constructor
50
+ */
51
+ closeTab(key: string, type: CloseTab | undefined, callback: ClosedCallback): void;
52
+ } & (<K extends "activeKey" | "menus" | "kv" | "tabs" | "setMenu" | "addTab" | "openTab" | "closeTab">(key: K, updater: (val: {
53
+ /** 当前菜单 */
54
+ activeKey: string;
55
+ /** 当前用户可访问的菜单列表 */
56
+ menus: MenuItem[];
57
+ /** 菜单列表的kv数据, 根据menus自动生成 */
58
+ kv: Record<string, MenuItem>;
59
+ /** 选项卡数据 */
60
+ tabs: TabItem[];
61
+ /** 设置菜单列表
62
+ * @param {MenuItem[]} data 菜单数据
63
+ * @constructor
64
+ */
65
+ setMenu(data: MenuItem[]): void;
66
+ /** 添加选项卡
67
+ * @param {TabItem} tab 选项卡
68
+ * @constructor
69
+ */
70
+ addTab(tab: TabItem): void;
71
+ /** 打开选项卡
72
+ * @param {TabItem} tab 选项卡
73
+ * @constructor
74
+ */
75
+ openTab(tab: TabItem): void;
76
+ /** 关闭选项卡
77
+ * @param {string} key 选项卡key
78
+ * @param {CloseTab} type 操作类型,如何关闭
79
+ * @param {ClosedCallback} callback 回调函数
80
+ * @constructor
81
+ */
82
+ closeTab(key: string, type: CloseTab | undefined, callback: ClosedCallback): void;
83
+ }[K]) => {
84
+ /** 当前菜单 */
85
+ activeKey: string;
86
+ /** 当前用户可访问的菜单列表 */
87
+ menus: MenuItem[];
88
+ /** 菜单列表的kv数据, 根据menus自动生成 */
89
+ kv: Record<string, MenuItem>;
90
+ /** 选项卡数据 */
91
+ tabs: TabItem[];
92
+ /** 设置菜单列表
93
+ * @param {MenuItem[]} data 菜单数据
94
+ * @constructor
95
+ */
96
+ setMenu(data: MenuItem[]): void;
97
+ /** 添加选项卡
98
+ * @param {TabItem} tab 选项卡
99
+ * @constructor
100
+ */
101
+ addTab(tab: TabItem): void;
102
+ /** 打开选项卡
103
+ * @param {TabItem} tab 选项卡
104
+ * @constructor
105
+ */
106
+ openTab(tab: TabItem): void;
107
+ /** 关闭选项卡
108
+ * @param {string} key 选项卡key
109
+ * @param {CloseTab} type 操作类型,如何关闭
110
+ * @param {ClosedCallback} callback 回调函数
111
+ * @constructor
112
+ */
113
+ closeTab(key: string, type: CloseTab | undefined, callback: ClosedCallback): void;
114
+ }[K]) => void);
115
+ export {};
package/lib/menu.js ADDED
@@ -0,0 +1,2 @@
1
+ function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import{isEqual,isFunction}from"@moneko/common";import sso from"./sso";var getItems=function(arr){var result=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(arr.length===0){return result}var _arr_=arr[0],_arr__children=_arr_.children,children=_arr__children===void 0?[]:_arr__children,i18n=_arr_.i18n,label=_arr_.label,hideMenu=_arr_.hideMenu,args=_objectWithoutProperties(_arr_,["children","i18n","label","hideMenu"]);var item=Object.create(null);Object.assign(item,args,{label:i18n||label});if(children.length){item.children=getItems(children)}if(!hideMenu){result.push(item)}return getItems(arr.slice(1),result)};var getMenuKV=function(arr,obj){var _iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;try{for(var _iterator=arr[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var _ref=_step.value;var item=_ref;var children=item.children,args=_objectWithoutProperties(item,["children"]);obj[item.key]=args;if(children===null||children===void 0?void 0:children.length){getMenuKV(children,obj)}}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}};export var menu=sso({activeKey:"home",menus:[],kv:{},tabs:[],setMenu:function setMenu(data){var items=getItems(data),kv={};getMenuKV(items,kv);menu.menus=items;menu.kv=kv},addTab:function addTab(tab){var current=menu.kv[tab.key];if(current&&!menu.tabs.find(function(item){return item.key===tab.key})){var ntabs=_toConsumableArray(menu.tabs).concat([_objectSpread(_objectSpreadProps(_objectSpread({},current),{i18n:current.i18n||"route-".concat(current.key)}),tab)]);if(!isEqual(ntabs,menu.tabs)){menu.tabs=ntabs}}},openTab:function openTab(tab){menu.addTab(tab);menu.activeKey=tab.key},closeTab:function closeTab(key){var type=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"self",callback=arguments.length>2?arguments[2]:void 0;if(!key)return;var tabs=menu.tabs,activeKey=menu.activeKey;var nActiveKey=activeKey;var closeTabs=[];var nTabs=[];var nextTab=null;var isCloseSelf=type==="self";var idx=tabs.findIndex(function(t){return t.key===key});var isNotClose=function(item,i){return item.closable===false||({left:i>=idx,right:i<=idx,other:i===idx,self:key!==item.key})[type]};for(var i=0;i<tabs.length;i++){var item=tabs[i];var notClose=isNotClose(item,i);if(isCloseSelf){if(!notClose){if(key===nActiveKey){var adx=i?i-1:i+1;if(tabs[adx]){nActiveKey=tabs[adx].key;nextTab=tabs[adx]}}}}else if(notClose&&item.key===key&&nActiveKey!==key){nActiveKey=key;nextTab=tabs[i]}if(!notClose){closeTabs.push(item)}if(notClose){nTabs.push(item)}}menu.tabs=nTabs;menu.activeKey=nActiveKey;if(isFunction(callback)){callback(closeTabs,nextTab);return}}});
2
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/menu.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { isEqual, isFunction } from '@moneko/common';\nimport sso from './sso';\nimport type { RouterProps } from './router';\n\nexport type CloseTab = 'left' | 'right' | 'other' | 'self';\nexport interface TabItem extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n icon?: ReactNode;\n label?: ReactNode;\n dynamicTitle?: string;\n}\nexport interface MenuItem extends RouterProps {\n key: string;\n type?: string;\n label?: ReactNode;\n children?: MenuItem[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n// eslint-disable-next-line no-unused-vars\ntype ClosedCallback = (closes?: TabItem[], next?: TabItem) => void;\n\nconst getItems = (arr: MenuItem[], result: MenuItem[] = []): MenuItem[] => {\n if (arr.length === 0) {\n return result;\n }\n const { children = [], i18n, label, hideMenu, ...args } = arr[0];\n const item: MenuItem = Object.create(null);\n\n Object.assign(item, args, { label: i18n || label });\n if (children.length) {\n item.children = getItems(children);\n }\n if (!hideMenu) {\n result.push(item);\n }\n return getItems(arr.slice(1), result);\n};\nconst getMenuKV = (arr: MenuItem[], obj: Record<string, MenuItem>): void => {\n for (const item of arr) {\n const { children, ...args } = item;\n\n obj[item.key] = args;\n if (children?.length) {\n getMenuKV(children, obj);\n }\n }\n};\n\nexport const menu = sso({\n /** 当前菜单 */\n activeKey: 'home',\n /** 当前用户可访问的菜单列表 */\n menus: [] as MenuItem[],\n /** 菜单列表的kv数据, 根据menus自动生成 */\n kv: {} as Record<string, MenuItem>,\n /** 选项卡数据 */\n tabs: [] as TabItem[],\n /** 设置菜单列表\n * @param {MenuItem[]} data 菜单数据\n * @constructor\n */\n setMenu(data: MenuItem[]) {\n const items = getItems(data),\n kv: Record<string, MenuItem> = {};\n\n getMenuKV(items, kv);\n menu.menus = items;\n menu.kv = kv;\n },\n /** 添加选项卡\n * @param {TabItem} tab 选项卡\n * @constructor\n */\n addTab(tab: TabItem) {\n const current = menu.kv[tab.key];\n\n if (current && !menu.tabs.find((item) => item.key === tab.key)) {\n const ntabs: TabItem[] = [\n ...menu.tabs,\n {\n ...current,\n i18n: current.i18n || `route-${current.key}`,\n ...tab,\n },\n ];\n\n if (!isEqual(ntabs, menu.tabs)) {\n menu.tabs = ntabs;\n }\n }\n },\n /** 打开选项卡\n * @param {TabItem} tab 选项卡\n * @constructor\n */\n openTab(tab: TabItem) {\n menu.addTab(tab);\n menu.activeKey = tab.key;\n },\n /** 关闭选项卡\n * @param {string} key 选项卡key\n * @param {CloseTab} type 操作类型,如何关闭\n * @param {ClosedCallback} callback 回调函数\n * @constructor\n */\n closeTab(key: string, type: CloseTab = 'self', callback: ClosedCallback) {\n if (!key) return;\n const { tabs, activeKey } = menu;\n let nActiveKey = activeKey;\n const closeTabs: TabItem[] = [];\n const nTabs: TabItem[] = [];\n let nextTab: TabItem | null = null;\n // 关闭当前tab\n const isCloseSelf = type === 'self';\n const idx = tabs.findIndex((t) => t.key === key);\n const isNotClose = (item: TabItem, i: number) => {\n return (\n item.closable === false ||\n {\n left: i >= idx,\n right: i <= idx,\n other: i === idx,\n self: key !== item.key,\n }[type]\n );\n };\n\n for (let i = 0; i < tabs.length; i++) {\n const item = tabs[i];\n const notClose = isNotClose(item, i);\n\n if (isCloseSelf) {\n if (!notClose) {\n if (key === nActiveKey) {\n const adx: number | null = i ? i - 1 : i + 1;\n\n if (tabs[adx]) {\n nActiveKey = tabs[adx].key;\n nextTab = tabs[adx];\n }\n }\n }\n } else if (notClose && item.key === key && nActiveKey !== key) {\n nActiveKey = key;\n nextTab = tabs[i];\n }\n if (!notClose) {\n closeTabs.push(item);\n }\n if (notClose) {\n nTabs.push(item);\n }\n }\n\n menu.tabs = nTabs;\n menu.activeKey = nActiveKey;\n if (isFunction(callback)) {\n callback(closeTabs, nextTab);\n return;\n }\n },\n});\n"],"names":["isEqual","isFunction","sso","getItems","arr","result","length","children","i18n","label","hideMenu","args","item","Object","create","assign","push","slice","getMenuKV","obj","key","menu","activeKey","menus","kv","tabs","setMenu","data","items","addTab","tab","current","find","ntabs","openTab","closeTab","type","callback","nActiveKey","closeTabs","nTabs","nextTab","isCloseSelf","idx","findIndex","t","isNotClose","i","closable","left","right","other","self","notClose","adx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React,{useEffect}from"react";import{ConfigProvider}from"antd";import en_US from"antd/es/locale/en_US";import zh_CN from"antd/es/locale/zh_CN";import dayjs from"dayjs";import relativeTime from"dayjs/plugin/relativeTime";import{useLocale}from"i18n-hooks";import{RouterProvider}from"react-router-dom";import"dayjs/locale/zh.js";import"dayjs/locale/en.js";import{createRouter,prefixRouter,routerData,RouterFragment}from"../../components/app-router";import Fallback from"../../components/fallback";import{onlyLoginRouter}from"../../router";import{watermark}from"../../utils";import account from"@/store/account";var localeDictionary={zh_CN:zh_CN,en_US:en_US};dayjs.extend(relativeTime);ConfigProvider.config({prefixCls:providerConfig.prefixCls,iconPrefixCls:providerConfig.iconPrefixCls,theme:providerConfig.theme});onlyLoginRouter[0].element=null;var App=function(){var isLogin=!!account.info;var _useLocale=useLocale(),lang=_useLocale.lang,getLanguage=_useLocale.getLanguage;useEffect(function(){document.body.style.backgroundImage="url(".concat(watermark({text:projectName}),")")},[]);return React.createElement(RouterFragment,null,React.createElement(ConfigProvider,_extends({},providerConfig,{locale:localeDictionary[lang]||zh_CN,form:{validateMessages:{required:"".concat(getLanguage("ph:please-fill"),"${label}!"),types:{email:"${label}".concat(getLanguage("wrong-format"))},pattern:{mismatch:"".concat(getLanguage("ph:fill-correct"),"${label}!")}}}}),React.createElement(RouterProvider,{router:createRouter(isLogin?routerData:prefixRouter(onlyLoginRouter,React.createElement(Fallback,null)),{basename:programInfo.routeBaseName,window:window}),fallbackElement:React.createElement(Fallback,null)})))};export default App;
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React,{useEffect}from"react";import{ConfigProvider}from"antd";import en_US from"antd/es/locale/en_US";import zh_CN from"antd/es/locale/zh_CN";import dayjs from"dayjs";import relativeTime from"dayjs/plugin/relativeTime";import{RouterProvider}from"react-router-dom";import{createRouter,prefixRouter,routerData,RouterFragment}from"../../components/app-router";import Fallback from"../../components/fallback";import{localizable}from"../../localizable";import{onlyLoginRouter}from"../../router";import"dayjs/locale/zh.js";import"dayjs/locale/en.js";import{watermark}from"../../utils";import{global}from"@/store";var localeDictionary={zh_CN:zh_CN,en_US:en_US};dayjs.extend(relativeTime);ConfigProvider.config({prefixCls:providerConfig.prefixCls,iconPrefixCls:providerConfig.iconPrefixCls,theme:providerConfig.theme});var App=function(){var isLogin=global.isLogin;var language=localizable.language,t=localizable.t;useEffect(function(){document.body.style.backgroundImage="url(".concat(watermark({text:projectName}),")")},[]);return React.createElement(RouterFragment,null,React.createElement(ConfigProvider,_extends({},providerConfig,{locale:localeDictionary[language]||zh_CN,form:{validateMessages:{required:"".concat(t["ph:please-fill"],"${label}!"),types:{email:"${label}".concat(t["wrong-format"])},pattern:{mismatch:"".concat(t["ph:fill-correct"],"${label}!")}}}}),React.createElement(RouterProvider,{router:createRouter(isLogin?routerData:prefixRouter(onlyLoginRouter,React.createElement(Fallback,null)),{basename:programInfo.routeBaseName,window:window}),fallbackElement:React.createElement(Fallback,null)})))};export default App;
2
2
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/back-stage/app.tsx"],"sourcesContent":["import React, { type FC, useEffect } from 'react';\nimport { ConfigProvider } from 'antd';\nimport en_US from 'antd/es/locale/en_US';\nimport zh_CN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { useLocale, type LocaleName } from 'i18n-hooks';\nimport { RouterProvider } from 'react-router-dom';\nimport 'dayjs/locale/zh.js';\nimport 'dayjs/locale/en.js';\nimport {\n createRouter,\n prefixRouter,\n routerData,\n RouterFragment,\n} from '../../components/app-router';\nimport Fallback from '../../components/fallback';\nimport { onlyLoginRouter } from '../../router';\nimport { watermark } from '../../utils';\nimport type { Locale } from 'antd/es/locale-provider';\nimport account from '@/store/account';\n\nconst localeDictionary: Partial<Record<LocaleName, Locale>> = {\n zh_CN,\n en_US,\n};\n\ndayjs.extend(relativeTime);\n\nConfigProvider.config({\n prefixCls: providerConfig.prefixCls,\n iconPrefixCls: providerConfig.iconPrefixCls,\n theme: providerConfig.theme,\n});\n\nonlyLoginRouter[0].element = null;\n\nconst App: FC = () => {\n const isLogin = !!account.info;\n const { lang, getLanguage } = useLocale();\n\n useEffect(() => {\n document.body.style.backgroundImage = `url(${watermark({\n text: projectName,\n })})`;\n }, []);\n\n return (\n <RouterFragment>\n <ConfigProvider\n {...providerConfig}\n locale={localeDictionary[lang] || zh_CN}\n form={{\n validateMessages: {\n required: `${getLanguage('ph:please-fill')}\\${label}!`,\n types: {\n email: `\\${label}${getLanguage('wrong-format')}`,\n },\n pattern: {\n mismatch: `${getLanguage('ph:fill-correct')}\\${label}!`,\n },\n },\n }}\n >\n <RouterProvider\n router={createRouter(isLogin ? routerData : prefixRouter(onlyLoginRouter, <Fallback />), {\n basename: programInfo.routeBaseName,\n window: window,\n })}\n fallbackElement={<Fallback />}\n />\n </ConfigProvider>\n </RouterFragment>\n );\n};\n\nexport default App;\n"],"names":["React","useEffect","ConfigProvider","en_US","zh_CN","dayjs","relativeTime","useLocale","RouterProvider","createRouter","prefixRouter","routerData","RouterFragment","Fallback","onlyLoginRouter","watermark","account","localeDictionary","extend","config","prefixCls","providerConfig","iconPrefixCls","theme","element","App","isLogin","info","lang","getLanguage","document","body","style","backgroundImage","text","projectName","locale","form","validateMessages","required","types","email","pattern","mismatch","router","basename","programInfo","routeBaseName","window","fallbackElement"],"mappings":"oRAAA,OAAOA,OAAkBC,SAAS,KAAQ,OAAQ,AAClD,QAASC,cAAc,KAAQ,MAAO,AACtC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,2BAA4B,AACrD,QAASC,SAAS,KAAyB,YAAa,AACxD,QAASC,cAAc,KAAQ,kBAAmB,AAClD,OAAO,oBAAqB,AAC5B,OAAO,oBAAqB,AAC5B,QACEC,YAAY,CACZC,YAAY,CACZC,UAAU,CACVC,cAAc,KACT,6BAA8B,AACrC,QAAOC,aAAc,2BAA4B,AACjD,QAASC,eAAe,KAAQ,cAAe,AAC/C,QAASC,SAAS,KAAQ,aAAc,AAExC,QAAOC,YAAa,iBAAkB,CAEtC,IAAMC,iBAAwD,CAC5Db,MAAAA,MACAD,MAAAA,KACF,EAEAE,MAAMa,MAAM,CAACZ,cAEbJ,eAAeiB,MAAM,CAAC,CACpBC,UAAWC,eAAeD,SAAS,CACnCE,cAAeD,eAAeC,aAAa,CAC3CC,MAAOF,eAAeE,KAAK,AAC7B,EAEAT,CAAAA,eAAe,CAAC,EAAE,CAACU,OAAO,CAAG,IAAI,CAEjC,IAAMC,IAAU,UAAM,CACpB,IAAMC,QAAU,CAAC,CAACV,QAAQW,IAAI,CAC9B,IAA8BpB,WAAAA,YAAtBqB,KAAsBrB,WAAtBqB,KAAMC,YAAgBtB,WAAhBsB,YAEd5B,UAAU,UAAM,CACd6B,SAASC,IAAI,CAACC,KAAK,CAACC,eAAe,CAAG,AAAC,OAEpC,OAF0ClB,UAAU,CACrDmB,KAAMC,WACR,GAAG,IACL,EAAG,EAAE,EAEL,OACE,oBAACvB,oBACC,oBAACV,2BACKmB,gBACJe,OAAQnB,gBAAgB,CAACW,KAAK,EAAIxB,MAClCiC,KAAM,CACJC,iBAAkB,CAChBC,SAAU,AAAC,GAAgC,OAA9BV,YAAY,kBAAkB,aAC3CW,MAAO,CACLC,MAAO,AAAC,WAAuC,OAA5BZ,YAAY,gBACjC,EACAa,QAAS,CACPC,SAAU,AAAC,GAAiC,OAA/Bd,YAAY,mBAAmB,YAC9C,CACF,CACF,IAEA,oBAACrB,gBACCoC,OAAQnC,aAAaiB,QAAUf,WAAaD,aAAaI,gBAAiB,oBAACD,eAAY,CAAE,CACvFgC,SAAUC,YAAYC,aAAa,CACnCC,OAAQA,MACV,GACAC,gBAAiB,oBAACpC,kBAK5B,CAEA,gBAAeY,GAAI"}
1
+ {"version":3,"sources":["../../../src/packages/back-stage/app.tsx"],"sourcesContent":["import React, { type FC, useEffect } from 'react';\nimport { ConfigProvider } from 'antd';\nimport en_US from 'antd/es/locale/en_US';\nimport zh_CN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { RouterProvider } from 'react-router-dom';\nimport {\n createRouter,\n prefixRouter,\n routerData,\n RouterFragment,\n} from '../../components/app-router';\nimport Fallback from '../../components/fallback';\nimport { type LocaleName, localizable } from '../../localizable';\nimport { onlyLoginRouter } from '../../router';\nimport 'dayjs/locale/zh.js';\nimport 'dayjs/locale/en.js';\nimport { watermark } from '../../utils';\nimport type { Locale } from 'antd/es/locale-provider';\nimport { global } from '@/store';\n\nconst localeDictionary: Partial<Record<LocaleName, Locale>> = {\n zh_CN,\n en_US,\n};\n\ndayjs.extend(relativeTime);\nConfigProvider.config({\n prefixCls: providerConfig.prefixCls,\n iconPrefixCls: providerConfig.iconPrefixCls,\n theme: providerConfig.theme,\n});\n\nconst App: FC = () => {\n const { isLogin } = global;\n const { language, t } = localizable;\n\n useEffect(() => {\n document.body.style.backgroundImage = `url(${watermark({\n text: projectName,\n })})`;\n }, []);\n\n return (\n <RouterFragment>\n <ConfigProvider\n {...providerConfig}\n locale={localeDictionary[language] || zh_CN}\n form={{\n validateMessages: {\n required: `${t['ph:please-fill']}\\${label}!`,\n types: {\n email: `\\${label}${t['wrong-format']}`,\n },\n pattern: {\n mismatch: `${t['ph:fill-correct']}\\${label}!`,\n },\n },\n }}\n >\n <RouterProvider\n router={createRouter(isLogin ? routerData : prefixRouter(onlyLoginRouter, <Fallback />), {\n basename: programInfo.routeBaseName,\n window: window,\n })}\n fallbackElement={<Fallback />}\n />\n </ConfigProvider>\n </RouterFragment>\n );\n};\n\nexport default App;\n"],"names":["React","useEffect","ConfigProvider","en_US","zh_CN","dayjs","relativeTime","RouterProvider","createRouter","prefixRouter","routerData","RouterFragment","Fallback","localizable","onlyLoginRouter","watermark","global","localeDictionary","extend","config","prefixCls","providerConfig","iconPrefixCls","theme","App","isLogin","language","t","document","body","style","backgroundImage","text","projectName","locale","form","validateMessages","required","types","email","pattern","mismatch","router","basename","programInfo","routeBaseName","window","fallbackElement"],"mappings":"oRAAA,OAAOA,OAAkBC,SAAS,KAAQ,OAAQ,AAClD,QAASC,cAAc,KAAQ,MAAO,AACtC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,2BAA4B,AACrD,QAASC,cAAc,KAAQ,kBAAmB,AAClD,QACEC,YAAY,CACZC,YAAY,CACZC,UAAU,CACVC,cAAc,KACT,6BAA8B,AACrC,QAAOC,aAAc,2BAA4B,AACjD,QAA0BC,WAAW,KAAQ,mBAAoB,AACjE,QAASC,eAAe,KAAQ,cAAe,AAC/C,OAAO,oBAAqB,AAC5B,OAAO,oBAAqB,AAC5B,QAASC,SAAS,KAAQ,aAAc,AAExC,QAASC,MAAM,KAAQ,SAAU,CAEjC,IAAMC,iBAAwD,CAC5Db,MAAAA,MACAD,MAAAA,KACF,EAEAE,MAAMa,MAAM,CAACZ,cACbJ,eAAeiB,MAAM,CAAC,CACpBC,UAAWC,eAAeD,SAAS,CACnCE,cAAeD,eAAeC,aAAa,CAC3CC,MAAOF,eAAeE,KAAK,AAC7B,GAEA,IAAMC,IAAU,UAAM,CACpB,IAAM,AAAEC,QAAYT,OAAZS,QACR,IAAQC,SAAgBb,YAAhBa,SAAUC,EAAMd,YAANc,EAElB1B,UAAU,UAAM,CACd2B,SAASC,IAAI,CAACC,KAAK,CAACC,eAAe,CAAG,AAAC,OAEpC,OAF0ChB,UAAU,CACrDiB,KAAMC,WACR,GAAG,IACL,EAAG,EAAE,EAEL,OACE,oBAACtB,oBACC,oBAACT,2BACKmB,gBACJa,OAAQjB,gBAAgB,CAACS,SAAS,EAAItB,MACtC+B,KAAM,CACJC,iBAAkB,CAChBC,SAAU,AAAC,GAAsB,OAApBV,CAAC,CAAC,iBAAiB,CAAC,aACjCW,MAAO,CACLC,MAAO,AAAC,WAA6B,OAAlBZ,CAAC,CAAC,eAAe,CACtC,EACAa,QAAS,CACPC,SAAU,AAAC,GAAuB,OAArBd,CAAC,CAAC,kBAAkB,CAAC,YACpC,CACF,CACF,IAEA,oBAACpB,gBACCmC,OAAQlC,aAAaiB,QAAUf,WAAaD,aAAaK,gBAAiB,oBAACF,eAAY,CAAE,CACvF+B,SAAUC,YAAYC,aAAa,CACnCC,OAAQA,MACV,GACAC,gBAAiB,oBAACnC,kBAK5B,CAEA,gBAAeY,GAAI"}
@@ -1,2 +1,2 @@
1
- import React from"react";import{isFunction}from"@moneko/common";import{I18nProvider}from"i18n-hooks";import App from"./app";var appEntry=APPENTRY?require(APPENTRY):null;var SafeReactDOM=require(ReactDOMPath);var version=parseFloat(React.version);var container=document.getElementById("root");var Main=function(){return React.createElement(I18nProvider,null,React.createElement(App,null))};if(version>=18){if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}if(programInfo.renderMode==="ssr"){window.rootInstance=SafeReactDOM.hydrateRoot(container,React.createElement(Main,null))}else{window.rootInstance=SafeReactDOM.createRoot(container);window.rootInstance.render(React.createElement(Main,null))}if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.mount)){appEntry===null||appEntry===void 0?void 0:appEntry.mount()}}else{if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}var render=module.hot?SafeReactDOM.render:SafeReactDOM.hydrate;render(React.createElement(Main,null),container);if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.mount)){appEntry===null||appEntry===void 0?void 0:appEntry.mount()}}
1
+ import React from"react";import{isFunction}from"@moneko/common";import App from"./app";var appEntry=APPENTRY?require(APPENTRY):null;var SafeReactDOM=require(ReactDOMPath);var version=parseFloat(React.version);var container=document.getElementById("root");if(version>=18){if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}if(programInfo.renderMode==="ssr"){window.rootInstance=SafeReactDOM.hydrateRoot(container,React.createElement(App,null))}else{window.rootInstance=SafeReactDOM.createRoot(container);window.rootInstance.render(React.createElement(App,null))}if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.mount)){appEntry===null||appEntry===void 0?void 0:appEntry.mount()}}else{if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}var render=module.hot?SafeReactDOM.render:SafeReactDOM.hydrate;render(React.createElement(App,null),container);if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.mount)){appEntry===null||appEntry===void 0?void 0:appEntry.mount()}}
2
2
  //# sourceMappingURL=bootstrap.js.map