@moneko/core 2.0.0-beta.8 → 2.0.1

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 (90) hide show
  1. package/{lib/utils → build}/color-palette.d.ts +0 -0
  2. package/build/color-palette.js +1 -0
  3. package/build/common.js +1 -1
  4. package/build/envFlags.d.ts +1 -1
  5. package/build/envFlags.js +1 -1
  6. package/build/minify.d.ts +1 -1
  7. package/build/modifyVars.js +1 -1
  8. package/build/module.config.js +1 -1
  9. package/build/process-env.d.ts +3 -1
  10. package/build/process-env.js +1 -1
  11. package/build/swcrc.js +1 -1
  12. package/build/tsloader.config.js +1 -1
  13. package/build/utils.d.ts +9 -6
  14. package/build/utils.js +1 -1
  15. package/{lib/utils/theme.d.ts → build/variables.d.ts} +9 -1
  16. package/build/variables.js +1 -0
  17. package/build/webpack.common.js +1 -1
  18. package/build/webpack.dev.js +1 -1
  19. package/build/webpack.prod.js +1 -1
  20. package/lib/components/app-router/index.d.ts +3 -2
  21. package/lib/components/app-router/index.js +1 -1
  22. package/lib/components/app-router/index.js.map +1 -1
  23. package/lib/components/fallback/index.js +1 -1
  24. package/lib/components/fallback/index.js.map +1 -1
  25. package/lib/components/fallback-comp/index.js.map +1 -1
  26. package/lib/components/layout-menu/index.js.map +1 -1
  27. package/lib/hooks/navgate.js.map +1 -1
  28. package/lib/index.d.ts +3 -9
  29. package/lib/index.js +1 -1
  30. package/lib/index.js.map +1 -1
  31. package/lib/packages/back-stage/app.d.ts +0 -2
  32. package/lib/packages/back-stage/app.js +1 -1
  33. package/lib/packages/back-stage/app.js.map +1 -1
  34. package/lib/packages/back-stage/index.d.ts +1 -1
  35. package/lib/packages/back-stage/index.js +1 -1
  36. package/lib/packages/back-stage/index.js.map +1 -1
  37. package/lib/packages/back-stage/layout/index.js +1 -1
  38. package/lib/packages/back-stage/layout/index.js.map +1 -1
  39. package/lib/packages/back-stage/models/app-program.d.ts +1 -1
  40. package/lib/packages/back-stage/models/app-program.js.map +1 -1
  41. package/lib/packages/library/app.js.map +1 -1
  42. package/lib/packages/library/index.d.ts +1 -1
  43. package/lib/packages/library/index.js +1 -1
  44. package/lib/packages/library/index.js.map +1 -1
  45. package/lib/packages/mobile/app.js.map +1 -1
  46. package/lib/packages/mobile/index.d.ts +1 -1
  47. package/lib/packages/mobile/index.js +1 -1
  48. package/lib/packages/mobile/index.js.map +1 -1
  49. package/lib/packages/single-spa/app.js.map +1 -1
  50. package/lib/packages/single-spa/bootstrap.js.map +1 -1
  51. package/lib/packages/single-spa/index.d.ts +1 -1
  52. package/lib/packages/single-spa/index.js +1 -1
  53. package/lib/packages/single-spa/index.js.map +1 -1
  54. package/lib/packages/site/app.js.map +1 -1
  55. package/lib/packages/site/index.d.ts +1 -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.map +1 -1
  59. package/lib/router/index.d.ts +24 -6
  60. package/lib/router/index.js +1 -1
  61. package/lib/router/index.js.map +1 -1
  62. package/lib/styles/animation.css +58 -0
  63. package/lib/styles/normalize.css +93 -22
  64. package/lib/styles/variables.css +40 -0
  65. package/lib/utils/index.d.ts +1 -2
  66. package/lib/utils/index.js +1 -1
  67. package/lib/utils/index.js.map +1 -1
  68. package/package.json +21 -21
  69. package/typings/global.d.ts +31 -11
  70. package/build/has-antd.d.ts +0 -2
  71. package/build/has-antd.js +0 -1
  72. package/lib/components/readme/index.d.ts +0 -3
  73. package/lib/components/readme/index.js +0 -2
  74. package/lib/components/readme/index.js.map +0 -1
  75. package/lib/components/readme/index.less +0 -4
  76. package/lib/packages/back-stage/antd.global.less +0 -67
  77. package/lib/styles/animation.less +0 -58
  78. package/lib/styles/ant.variables.global.less +0 -231
  79. package/lib/styles/eval/bezierEasing.less +0 -106
  80. package/lib/styles/eval/colorPalette.less +0 -73
  81. package/lib/styles/eval/tinyColor.less +0 -1181
  82. package/lib/styles/index.global.less +0 -136
  83. package/lib/styles/vars.less +0 -98
  84. package/lib/utils/color-palette.js +0 -2
  85. package/lib/utils/color-palette.js.map +0 -1
  86. package/lib/utils/lazy-import.d.ts +0 -22
  87. package/lib/utils/lazy-import.js +0 -2
  88. package/lib/utils/lazy-import.js.map +0 -1
  89. package/lib/utils/theme.js +0 -2
  90. package/lib/utils/theme.js.map +0 -1
package/lib/index.d.ts CHANGED
@@ -3,15 +3,12 @@ export * from './prefix/react-router-dom.js';
3
3
  export * from './prefix/i18n-hooks.js';
4
4
  export * from './prefix/mini-idc.js';
5
5
  export * from './utils';
6
- export { useUnactivate, useActivate, useAliveController } from 'react-activation';
7
- export { lazyImport, safeImport } from './utils/lazy-import';
8
- export { matchUtil, router, onlyLoginRouter, myPkgs } from './router';
9
- export type { RouterProps } from './router/index';
6
+ export { matchUtil, router, onlyLoginRouter, myPkgs, myDemoKv, type ExampleModule, type RouterProps, type MyPkg, } from './router';
10
7
  export declare const LayoutMenu: any;
11
8
  export type { ConfigType, AppType, CommomType, ProgramInfoType } from '../typings/global';
12
9
  import type { ConfigType, CommomType, CoverageType, ProjectCoverageType } from '../typings/global';
13
- export declare type PartialConfigType<T = 'swc'> = Partial<ConfigType<T>>;
14
- export declare type PartialCommomType<T = 'swc'> = Partial<CommomType<T>>;
10
+ export type PartialConfigType<T = 'swc'> = Partial<ConfigType<T>>;
11
+ export type PartialCommomType<T = 'swc'> = Partial<CommomType<T>>;
15
12
  /** 一些项目基本信息 */
16
13
  export declare const projectBasicInfo: {
17
14
  projectName: string;
@@ -42,6 +39,3 @@ export declare const projectBasicInfo: {
42
39
  };
43
40
  coverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;
44
41
  };
45
- export { default as colorPalette } from './utils/color-palette';
46
- export { setThemeColor, getColorPalette } from './utils/theme';
47
- export type { ThemeColorOptions } from './utils/theme';
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"./prefix/mini-idc.js";export*from"./utils";export{useUnactivate,useActivate,useAliveController}from"react-activation";export{lazyImport,safeImport}from"./utils/lazy-import";export{matchUtil,router,onlyLoginRouter,myPkgs}from"./router";export var LayoutMenu=HASANTD?require("./components/layout-menu").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};export{default as colorPalette}from"./utils/color-palette";export{setThemeColor,getColorPalette}from"./utils/theme";
1
+ export*from"./prefix/react-router-dom.js";export*from"./prefix/i18n-hooks.js";export*from"./prefix/mini-idc.js";export*from"./utils";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv}from"./router";export var LayoutMenu=hasAntd?require("./components/layout-menu").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';\nexport * from './prefix/mini-idc.js';\nexport * from './utils';\nexport { useUnactivate, useActivate, useAliveController } from 'react-activation';\nexport { lazyImport, safeImport } from './utils/lazy-import';\nexport { matchUtil, router, onlyLoginRouter, myPkgs } from './router';\nexport type { RouterProps } from './router/index';\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const LayoutMenu = HASANTD ? require('./components/layout-menu').default : null;\n\nexport type { ConfigType, AppType, CommomType, ProgramInfoType } 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>>;\n\ndeclare const projectCoverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;\n\n/** 一些项目基本信息 */\nexport const projectBasicInfo = {\n projectName,\n providerConfig,\n programInfo,\n coverage: projectCoverage,\n};\n\nexport { default as colorPalette } from './utils/color-palette';\nexport { setThemeColor, getColorPalette } from './utils/theme';\nexport type { ThemeColorOptions } from './utils/theme';\n"],"names":["useUnactivate","useActivate","useAliveController","lazyImport","safeImport","matchUtil","router","onlyLoginRouter","myPkgs","LayoutMenu","HASANTD","require","default","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage","colorPalette","setThemeColor","getColorPalette"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,wBAAyB,AACvC,YAAc,sBAAuB,AACrC,YAAc,SAAU,AACxB,QAASA,aAAa,CAAEC,WAAW,CAAEC,kBAAkB,KAAQ,kBAAmB,AAClF,QAASC,UAAU,CAAEC,UAAU,KAAQ,qBAAsB,AAC7D,QAASC,SAAS,CAAEC,MAAM,CAAEC,eAAe,CAAEC,MAAM,KAAQ,UAAW,AAGtE,QAAO,IAAMC,WAAaC,QAAUC,QAAQ,4BAA4BC,OAAO,CAAG,IAAI,AAAC,AAUvF,QAAO,IAAMC,iBAAmB,CAC9BC,YAAAA,YACAC,eAAAA,eACAC,YAAAA,YACAC,SAAUC,eACZ,CAAE,AAEF,QAASN,WAAWO,YAAY,KAAQ,uBAAwB,AAChE,QAASC,aAAa,CAAEC,eAAe,KAAQ,eAAgB"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './prefix/react-router-dom.js';\nexport * from './prefix/i18n-hooks.js';\nexport * from './prefix/mini-idc.js';\nexport * from './utils';\nexport {\n matchUtil,\n router,\n onlyLoginRouter,\n myPkgs,\n myDemoKv,\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;\nexport type { ConfigType, AppType, CommomType, ProgramInfoType } 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>>;\n\ndeclare const projectCoverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;\n\n/** 一些项目基本信息 */\nexport const projectBasicInfo = {\n projectName,\n providerConfig,\n programInfo,\n coverage: projectCoverage,\n};\n\n// export { default as colorPalette } from './utils/color-palette';\n// export { setThemeColor, getColorPalette, type ThemeColorOptions } from './styles/vars';\n"],"names":["matchUtil","router","onlyLoginRouter","myPkgs","myDemoKv","LayoutMenu","hasAntd","require","default","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,wBAAyB,AACvC,YAAc,sBAAuB,AACrC,YAAc,SAAU,AACxB,QACEA,SAAS,CACTC,MAAM,CACNC,eAAe,CACfC,MAAM,CACNC,QAAQ,KAIH,UAAW,AAElB,QAAO,IAAMC,WAAaC,QAAUC,QAAQ,4BAA4BC,OAAO,CAAG,IAAI,AAAC,AASvF,QAAO,IAAMC,iBAAmB,CAC9BC,YAAAA,YACAC,eAAAA,eACAC,YAAAA,YACAC,SAAUC,eACZ,CAAE"}
@@ -1,7 +1,5 @@
1
1
  import React from 'react';
2
2
  import 'dayjs/locale/zh.js';
3
3
  import 'dayjs/locale/en.js';
4
- import './antd.global.less';
5
- import '../../styles/ant.variables.global.less';
6
4
  declare const App: React.FC;
7
5
  export default App;
@@ -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{BrowserRouter,HashRouter}from"react-router-dom";import{useSelector,shallowEqual}from"mini-idc";import{useLocale}from"i18n-hooks";import{ConfigProvider}from"antd";import AppRouter from"../../components/app-router";import FallbackComp from"../../components/fallback-comp";import{onlyLoginRouter}from"../../router";import{watermark}from"../../utils";import SiderLayout from"./layout";import zh_CN from"antd/es/locale/zh_CN";import en_US from"antd/es/locale/en_US";import dayjs from"dayjs";import relativeTime from"dayjs/plugin/relativeTime";import"dayjs/locale/zh.js";import"dayjs/locale/en.js";import"./antd.global.less";import"../../styles/ant.variables.global.less";var localeDictionary={zh_CN:zh_CN,en_US:en_US};dayjs.extend(relativeTime);var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}ConfigProvider.config(providerConfig);var getAntdLocal=function(lang){return localeDictionary[lang]||zh_CN};var App=function(){var isLogin=useSelector(function(state){return!!state.account.info},shallowEqual);var _useLocale=useLocale(),lang=_useLocale.lang,getLanguage=_useLocale.getLanguage;useEffect(function(){document.body.style.backgroundImage="url(".concat(watermark({text:projectName}),")")},[]);var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(Router,_extends({},props),React.createElement(ConfigProvider,_extends({},providerConfig,{locale:getAntdLocal(lang),form:{validateMessages:{required:"".concat(getLanguage("ph:please-fill"),"${label}!"),types:{email:"${label}".concat(getLanguage("wrong-format"))},pattern:{mismatch:"".concat(getLanguage("ph:fill-correct"),"${label}!")}}}}),isLogin?React.createElement(SiderLayout,null):React.createElement(React.Fragment,null,React.createElement("div",{className:"flex f-a-c pos-r-0 login-toolbox"},React.createElement(FallbackComp,{compName:"switch-language"})),React.createElement(AppRouter,{router:onlyLoginRouter}),React.createElement(FallbackComp,{compName:"layout-footer"}))))};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{BrowserRouter,HashRouter}from"react-router-dom";import{useSelector,shallowEqual}from"mini-idc";import{useLocale}from"i18n-hooks";import{ConfigProvider}from"antd";import AppRouter from"../../components/app-router";import FallbackComp from"../../components/fallback-comp";import{onlyLoginRouter}from"../../router";import{watermark}from"../../utils";import SiderLayout from"./layout";import zh_CN from"antd/es/locale/zh_CN";import en_US from"antd/es/locale/en_US";import dayjs from"dayjs";import relativeTime from"dayjs/plugin/relativeTime";import"dayjs/locale/zh.js";import"dayjs/locale/en.js";var localeDictionary={zh_CN:zh_CN,en_US:en_US};dayjs.extend(relativeTime);var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}ConfigProvider.config(providerConfig);var getAntdLocal=function(lang){return localeDictionary[lang]||zh_CN};var App=function(){var isLogin=useSelector(function(state){return!!state.account.info},shallowEqual);var _useLocale=useLocale(),lang=_useLocale.lang,getLanguage=_useLocale.getLanguage;useEffect(function(){document.body.style.backgroundImage="url(".concat(watermark({text:projectName}),")")},[]);var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(Router,_extends({},props),React.createElement(ConfigProvider,_extends({},providerConfig,{locale:getAntdLocal(lang),form:{validateMessages:{required:"".concat(getLanguage("ph:please-fill"),"${label}!"),types:{email:"${label}".concat(getLanguage("wrong-format"))},pattern:{mismatch:"".concat(getLanguage("ph:fill-correct"),"${label}!")}}}}),isLogin?React.createElement(SiderLayout,null):React.createElement(React.Fragment,null,React.createElement("div",{className:"flex f-a-c absolute r-0 login-toolbox"},React.createElement(FallbackComp,{compName:"switch-language"})),React.createElement(AppRouter,{router:onlyLoginRouter}),React.createElement(FallbackComp,{compName:"layout-footer"}))))};export default App;
2
2
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/back-stage/app.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { useSelector, shallowEqual } from 'mini-idc';\nimport { useLocale } from 'i18n-hooks';\nimport { ConfigProvider } from 'antd';\nimport AppRouter from '../../components/app-router';\nimport FallbackComp from '../../components/fallback-comp';\nimport { onlyLoginRouter } from '../../router';\nimport { watermark } from '../../utils';\nimport SiderLayout from './layout';\nimport zh_CN from 'antd/es/locale/zh_CN';\nimport en_US from 'antd/es/locale/en_US';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport 'dayjs/locale/zh.js';\nimport 'dayjs/locale/en.js';\nimport type { LocaleNameType } from 'i18n-hooks';\nimport type { Locale } from 'antd/es/locale-provider';\nimport './antd.global.less';\nimport '../../styles/ant.variables.global.less';\n\nconst localeDictionary: Partial<Record<LocaleNameType, Locale>> = {\n zh_CN,\n en_US,\n};\n\ndayjs.extend(relativeTime);\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\nConfigProvider.config(providerConfig);\n\nconst getAntdLocal = (lang: LocaleNameType) => {\n return localeDictionary[lang] || zh_CN;\n};\n\nconst App: React.FC = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isLogin = useSelector((state: { account: any }) => !!state.account.info, shallowEqual);\n const { lang, getLanguage } = useLocale();\n\n useEffect(() => {\n document.body.style.backgroundImage = `url(${watermark({\n text: projectName,\n })})`;\n }, []);\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n\n return (\n <Router {...props}>\n <ConfigProvider\n {...providerConfig}\n locale={getAntdLocal(lang)}\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 {isLogin ? (\n <SiderLayout />\n ) : (\n <React.Fragment>\n <div className=\"flex f-a-c pos-r-0 login-toolbox\">\n <FallbackComp compName=\"switch-language\" />\n </div>\n <AppRouter router={onlyLoginRouter} />\n <FallbackComp compName=\"layout-footer\" />\n </React.Fragment>\n )}\n </ConfigProvider>\n </Router>\n );\n};\n\nexport default App;\n"],"names":["React","useEffect","BrowserRouter","HashRouter","useSelector","shallowEqual","useLocale","ConfigProvider","AppRouter","FallbackComp","onlyLoginRouter","watermark","SiderLayout","zh_CN","en_US","dayjs","relativeTime","localeDictionary","extend","Router","programInfo","routerMode","config","providerConfig","getAntdLocal","lang","App","isLogin","state","account","info","getLanguage","document","body","style","backgroundImage","text","projectName","props","basename","routeBaseName","locale","form","validateMessages","required","types","email","pattern","mismatch","Fragment","div","className","compName","router"],"mappings":"AAAA,oRAAA,OAAOA,OAASC,SAAS,KAAQ,OAAQ,AACzC,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,WAAW,CAAEC,YAAY,KAAQ,UAAW,AACrD,QAASC,SAAS,KAAQ,YAAa,AACvC,QAASC,cAAc,KAAQ,MAAO,AACtC,QAAOC,cAAe,6BAA8B,AACpD,QAAOC,iBAAkB,gCAAiC,AAC1D,QAASC,eAAe,KAAQ,cAAe,AAC/C,QAASC,SAAS,KAAQ,aAAc,AACxC,QAAOC,gBAAiB,UAAW,AACnC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,2BAA4B,AACrD,OAAO,oBAAqB,AAC5B,OAAO,oBAAqB,AAG5B,OAAO,oBAAqB,AAC5B,OAAO,wCAAyC,CAEhD,IAAMC,iBAA4D,CAChEJ,MAAAA,MACAC,MAAAA,KACF,EAEAC,MAAMG,MAAM,CAACF,cACb,IAAIG,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAAShB,WACT,KAAM,AACR,KAAK,UACL,QACEgB,OAASjB,cACT,KAAM,AACV,CACAK,eAAee,MAAM,CAACC,gBAEtB,IAAMC,aAAe,SAACC,KAAyB,CAC7C,OAAOR,gBAAgB,CAACQ,KAAK,EAAIZ,KACnC,EAEA,IAAMa,IAAgB,UAAM,CAE1B,IAAMC,QAAUvB,YAAY,SAACwB,aAA4B,CAAC,CAACA,MAAMC,OAAO,CAACC,IAAI,EAAEzB,cAC/E,IAA8BC,WAAAA,YAAtBmB,KAAsBnB,WAAtBmB,KAAMM,YAAgBzB,WAAhByB,YAEd9B,UAAU,UAAM,CACd+B,SAASC,IAAI,CAACC,KAAK,CAACC,eAAe,CAAG,AAAC,OAEpC,OAF0CxB,UAAU,CACrDyB,KAAMC,WACR,GAAG,IACL,EAAG,EAAE,EACL,IAAIC,MAAgC,CAClCC,SAAUnB,YAAYoB,aAAa,AACrC,EAEA,GAAIpB,YAAYC,UAAU,GAAK,UAAW,CACxCiB,MAAQ,CAAC,CACX,CAAC,AAED,OACE,oBAACnB,mBAAWmB,OACV,oBAAC/B,2BACKgB,gBACJkB,OAAQjB,aAAaC,MACrBiB,KAAM,CACJC,iBAAkB,CAChBC,SAAU,AAAC,GAAgC,OAA9Bb,YAAY,kBAAkB,aAC3Cc,MAAO,CACLC,MAAO,AAAC,WAAuC,OAA5Bf,YAAY,gBACjC,EACAgB,QAAS,CACPC,SAAU,AAAC,GAAiC,OAA/BjB,YAAY,mBAAmB,YAC9C,CACF,CACF,IAECJ,QACC,oBAACf,kBAED,oBAACZ,MAAMiD,QAAQ,MACb,oBAACC,OAAIC,UAAU,oCACb,oBAAC1C,cAAa2C,SAAS,qBAEzB,oBAAC5C,WAAU6C,OAAQ3C,kBACnB,oBAACD,cAAa2C,SAAS,kBAE1B,EAIT,CAEA,gBAAe1B,GAAI"}
1
+ {"version":3,"sources":["../../../src/packages/back-stage/app.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { useSelector, shallowEqual } from 'mini-idc';\nimport { useLocale } from 'i18n-hooks';\nimport { ConfigProvider } from 'antd';\nimport AppRouter from '../../components/app-router';\nimport FallbackComp from '../../components/fallback-comp';\nimport { onlyLoginRouter } from '../../router';\nimport { watermark } from '../../utils';\nimport SiderLayout from './layout';\nimport zh_CN from 'antd/es/locale/zh_CN';\nimport en_US from 'antd/es/locale/en_US';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport 'dayjs/locale/zh.js';\nimport 'dayjs/locale/en.js';\nimport type { LocaleNameType } from 'i18n-hooks';\nimport type { Locale } from 'antd/es/locale-provider';\n\nconst localeDictionary: Partial<Record<LocaleNameType, Locale>> = {\n zh_CN,\n en_US,\n};\n\ndayjs.extend(relativeTime);\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\nConfigProvider.config(providerConfig);\n\nconst getAntdLocal = (lang: LocaleNameType) => {\n return localeDictionary[lang] || zh_CN;\n};\n\nconst App: React.FC = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isLogin = useSelector((state: { account: any }) => !!state.account.info, shallowEqual);\n const { lang, getLanguage } = useLocale();\n\n useEffect(() => {\n document.body.style.backgroundImage = `url(${watermark({\n text: projectName,\n })})`;\n }, []);\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n\n return (\n <Router {...props}>\n <ConfigProvider\n {...providerConfig}\n locale={getAntdLocal(lang)}\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 {isLogin ? (\n <SiderLayout />\n ) : (\n <React.Fragment>\n <div className=\"flex f-a-c absolute r-0 login-toolbox\">\n <FallbackComp compName=\"switch-language\" />\n </div>\n <AppRouter router={onlyLoginRouter} />\n <FallbackComp compName=\"layout-footer\" />\n </React.Fragment>\n )}\n </ConfigProvider>\n </Router>\n );\n};\n\nexport default App;\n"],"names":["React","useEffect","BrowserRouter","HashRouter","useSelector","shallowEqual","useLocale","ConfigProvider","AppRouter","FallbackComp","onlyLoginRouter","watermark","SiderLayout","zh_CN","en_US","dayjs","relativeTime","localeDictionary","extend","Router","programInfo","routerMode","config","providerConfig","getAntdLocal","lang","App","isLogin","state","account","info","getLanguage","document","body","style","backgroundImage","text","projectName","props","basename","routeBaseName","locale","form","validateMessages","required","types","email","pattern","mismatch","Fragment","div","className","compName","router"],"mappings":"oRAAA,OAAOA,OAASC,SAAS,KAAQ,OAAQ,AACzC,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,WAAW,CAAEC,YAAY,KAAQ,UAAW,AACrD,QAASC,SAAS,KAAQ,YAAa,AACvC,QAASC,cAAc,KAAQ,MAAO,AACtC,QAAOC,cAAe,6BAA8B,AACpD,QAAOC,iBAAkB,gCAAiC,AAC1D,QAASC,eAAe,KAAQ,cAAe,AAC/C,QAASC,SAAS,KAAQ,aAAc,AACxC,QAAOC,gBAAiB,UAAW,AACnC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,2BAA4B,AACrD,OAAO,oBAAqB,AAC5B,OAAO,oBAAqB,CAI5B,IAAMC,iBAA4D,CAChEJ,MAAAA,MACAC,MAAAA,KACF,EAEAC,MAAMG,MAAM,CAACF,cACb,IAAIG,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAAShB,WACT,KAAM,AACR,KAAK,UACL,QACEgB,OAASjB,cACT,KAAM,AACV,CACAK,eAAee,MAAM,CAACC,gBAEtB,IAAMC,aAAe,SAACC,KAAyB,CAC7C,OAAOR,gBAAgB,CAACQ,KAAK,EAAIZ,KACnC,EAEA,IAAMa,IAAgB,UAAM,CAE1B,IAAMC,QAAUvB,YAAY,SAACwB,aAA4B,CAAC,CAACA,MAAMC,OAAO,CAACC,IAAI,EAAEzB,cAC/E,IAA8BC,WAAAA,YAAtBmB,KAAsBnB,WAAtBmB,KAAMM,YAAgBzB,WAAhByB,YAEd9B,UAAU,UAAM,CACd+B,SAASC,IAAI,CAACC,KAAK,CAACC,eAAe,CAAG,AAAC,OAEpC,OAF0CxB,UAAU,CACrDyB,KAAMC,WACR,GAAG,IACL,EAAG,EAAE,EACL,IAAIC,MAAgC,CAClCC,SAAUnB,YAAYoB,aAAa,AACrC,EAEA,GAAIpB,YAAYC,UAAU,GAAK,UAAW,CACxCiB,MAAQ,CAAC,CACX,CAAC,AAED,OACE,oBAACnB,mBAAWmB,OACV,oBAAC/B,2BACKgB,gBACJkB,OAAQjB,aAAaC,MACrBiB,KAAM,CACJC,iBAAkB,CAChBC,SAAU,AAAC,GAAgC,OAA9Bb,YAAY,kBAAkB,aAC3Cc,MAAO,CACLC,MAAO,AAAC,WAAuC,OAA5Bf,YAAY,gBACjC,EACAgB,QAAS,CACPC,SAAU,AAAC,GAAiC,OAA/BjB,YAAY,mBAAmB,YAC9C,CACF,CACF,IAECJ,QACC,oBAACf,kBAED,oBAACZ,MAAMiD,QAAQ,MACb,oBAACC,OAAIC,UAAU,yCACb,oBAAC1C,cAAa2C,SAAS,qBAEzB,oBAAC5C,WAAU6C,OAAQ3C,kBACnB,oBAACD,cAAa2C,SAAS,kBAE1B,EAIT,CAEA,gBAAe1B,GAAI"}
@@ -1,5 +1,5 @@
1
1
  import '../../utils/env';
2
2
  import '../../utils/refresh-rem';
3
- import '../../styles/index.global.less';
3
+ import '../../styles/normalize.css';
4
4
  declare const bootstrap: typeof import("./bootstrap");
5
5
  export default bootstrap;
@@ -1,2 +1,2 @@
1
- import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/index.global.less";var bootstrap=await import("./bootstrap");export default bootstrap;
1
+ import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/normalize.css";var bootstrap=await import("./bootstrap");export default bootstrap;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/back-stage/index.ts"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/index.global.less';\n\nconst bootstrap = await import('./bootstrap');\n\nexport default bootstrap;\n"],"names":["bootstrap"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,gCAAiC,CAExC,IAAMA,UAAY,MAAM,MAAM,CAAC,cAE/B,gBAAeA,SAAU"}
1
+ {"version":3,"sources":["../../../src/packages/back-stage/index.ts"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/normalize.css';\n\nconst bootstrap = await import('./bootstrap');\n\nexport default bootstrap;\n"],"names":["bootstrap"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,4BAA6B,CAEpC,IAAMA,UAAY,MAAM,MAAM,CAAC,cAE/B,gBAAeA,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 _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 _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 _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,useState}from"react";import{useSearchParams}from"react-router-dom";import{useLocale}from"i18n-hooks";import{Tabs,Layout,Menu,Dropdown}from"antd";import{ReloadOutlined,DeleteRowOutlined,CloseOutlined}from"@ant-design/icons";import{isEqual}from"@moneko/common";import{useAliveController}from"react-activation";import{shallowEqual,useSelector,useDispatch}from"react-redux";import LayoutMenu from"../../../components/layout-menu";import AppRouter from"../../../components/app-router";import FallbackComp from"../../../components/fallback-comp";import{router}from"../../../router";import useNavigate from"../../../hooks/navgate";import styles from"./index.less";var closeTabs=[{label:"关闭左侧标签",icon:React.createElement(DeleteRowOutlined,{style:{transform:"scaleX(-1)"}}),key:"left"},{label:"关闭右侧标签",icon:React.createElement(DeleteRowOutlined,null),key:"right"},{label:"关闭其他标签",icon:React.createElement(CloseOutlined,null),key:"other"},{label:"刷新标签页",icon:React.createElement(ReloadOutlined,null),key:"refresh"}];var SiderLayout=function(){var dispatch=useDispatch();var activeKey=useSelector(function(store){return store.appProgram.activeKey},shallowEqual);var tabs=useSelector(function(store){return store.appProgram.tabs},shallowEqual);var menuKV=useSelector(function(store){return store.appProgram.menuKV||{}},shallowEqual);var navigate=useNavigate();var dropScope=useAliveController().dropScope;var _useSearchParams=_slicedToArray(useSearchParams(),1),search=_useSearchParams[0];var getLanguage=useLocale().getLanguage;var _useState=_slicedToArray(useState(false),2),collapsed=_useState[0],setCollapsed=_useState[1];var handleCollapsed=useCallback(function(value){if(value){var _timer=window.setTimeout(function(){setCollapsed(value);window.clearTimeout(_timer);_timer=null},0)}else{setCollapsed(value);var _timer1=window.setTimeout(function(){window.clearTimeout(_timer1);_timer1=null},30)}},[]);var closedTab=useCallback(function(tabKey,type){if(type==="refresh"){navigate("/refresh");return}dispatch({type:"appProgram/closeTab",payload:{key:tabKey,type:type,callback:function callback(closes,nextTab){closes===null||closes===void 0?void 0:closes.forEach(function(item){if(item.path&&dropScope){dropScope(item.path)}});if(nextTab){navigate("".concat(nextTab.path,"?menuId=").concat(nextTab.key))}}}})},[dispatch,dropScope,navigate]);var _useMemo=useMemo(function(){return{menuId:search.get("menuId")||"",dynamicTitle:search.get("dynamicTitle")||""}},[search]),menuId=_useMemo.menuId,dynamicTitle=_useMemo.dynamicTitle;var current=menuKV[menuId];useEffect(function(){if(menuId){dispatch({type:"appProgram/openTab",payload:{key:menuId,dynamicTitle:dynamicTitle}})}},[dispatch,dynamicTitle,menuId,current]);var getItems=useCallback(function(key){return key===activeKey?closeTabs:closeTabs.filter(function(t){return(t===null||t===void 0?void 0:t.key)!=="refresh"})},[activeKey]);return React.createElement(Layout,{className:styles.layout},layoutSider?React.createElement(Layout.Sider,_extends({className:styles.sider,trigger:null,collapsible:true,collapsed:collapsed,onBreakpoint:function(broken){return handleCollapsed(broken)},onCollapse:function(_collapsed){return handleCollapsed(_collapsed)},theme:"light",breakpoint:"md"},layoutSider),React.createElement("div",{className:styles.logo,"data-title":projectName},React.createElement(FallbackComp,{compName:"logo",show:!collapsed})),React.createElement(LayoutMenu,{collapsed:collapsed,theme:layoutSider.theme})):null,React.createElement(Layout,{className:styles.section},React.createElement(FallbackComp,{compName:"layout-header",collapsed:collapsed,onCollapsed:function(){return handleCollapsed(!collapsed)}}),React.createElement(Tabs,{className:styles.tabs,hideAdd:true,onTabClick:function(key){navigate("".concat(menuKV[key].path,"?menuId=").concat(menuKV[key].key))},activeKey:activeKey,size:"middle",type:"editable-card",onEdit:function(targetKey,action){if(action==="remove"&&typeof targetKey==="string"){closedTab(targetKey)}}},tabs.map(function(item){return React.createElement(Tabs.TabPane,{tab:React.createElement(Dropdown,{overlay:React.createElement(Menu,{items:getItems(item.key),onClick:function(info){info.domEvent.stopPropagation();closedTab(item.key,info.key)}}),trigger:["contextMenu"],destroyPopupOnHide:true},React.createElement("div",null,item.icon,getLanguage(item.i18n||"route-".concat(item.key))+item.dynamicTitle||"")),key:item.key,closable:item.closable})})),React.createElement(Layout.Content,{className:styles.layoutContent},React.createElement("div",{className:styles.content},React.createElement(AppRouter,{router:router})),React.createElement(FallbackComp,{compName:"layout-footer"}))))};export default React.memo(SiderLayout,isEqual);
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 _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 _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 _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,useState}from"react";import{useSearchParams}from"react-router-dom";import{useLocale}from"i18n-hooks";import{Tabs,Layout,Menu,Dropdown}from"antd";import{ReloadOutlined,DeleteRowOutlined,CloseOutlined}from"@ant-design/icons";import{isEqual}from"@moneko/common";import{shallowEqual,useSelector,useDispatch}from"react-redux";import LayoutMenu from"../../../components/layout-menu";import AppRouter from"../../../components/app-router";import FallbackComp from"../../../components/fallback-comp";import{router}from"../../../router";import useNavigate from"../../../hooks/navgate";import styles from"./index.less";var closeTabs=[{label:"关闭左侧标签",icon:React.createElement(DeleteRowOutlined,{style:{transform:"scaleX(-1)"}}),key:"left"},{label:"关闭右侧标签",icon:React.createElement(DeleteRowOutlined,null),key:"right"},{label:"关闭其他标签",icon:React.createElement(CloseOutlined,null),key:"other"},{label:"刷新标签页",icon:React.createElement(ReloadOutlined,null),key:"refresh"}];var SiderLayout=function(){var dispatch=useDispatch();var activeKey=useSelector(function(store){return store.appProgram.activeKey},shallowEqual);var tabs=useSelector(function(store){return store.appProgram.tabs},shallowEqual);var menuKV=useSelector(function(store){return store.appProgram.menuKV||{}},shallowEqual);var navigate=useNavigate();var _useSearchParams=_slicedToArray(useSearchParams(),1),search=_useSearchParams[0];var getLanguage=useLocale().getLanguage;var _useState=_slicedToArray(useState(false),2),collapsed=_useState[0],setCollapsed=_useState[1];var handleCollapsed=useCallback(function(value){if(value){var _timer=window.setTimeout(function(){setCollapsed(value);window.clearTimeout(_timer);_timer=null},0)}else{setCollapsed(value);var _timer1=window.setTimeout(function(){window.clearTimeout(_timer1);_timer1=null},30)}},[]);var closedTab=useCallback(function(tabKey,type){if(type==="refresh"){navigate("/refresh");return}dispatch({type:"appProgram/closeTab",payload:{key:tabKey,type:type,callback:function callback(_,nextTab){if(nextTab){navigate("".concat(nextTab.path,"?menuId=").concat(nextTab.key))}}}})},[dispatch,navigate]);var _useMemo=useMemo(function(){return{menuId:search.get("menuId")||"",dynamicTitle:search.get("dynamicTitle")||""}},[search]),menuId=_useMemo.menuId,dynamicTitle=_useMemo.dynamicTitle;var current=menuKV[menuId];useEffect(function(){if(menuId){dispatch({type:"appProgram/openTab",payload:{key:menuId,dynamicTitle:dynamicTitle}})}},[dispatch,dynamicTitle,menuId,current]);var getItems=useCallback(function(key){return key===activeKey?closeTabs:closeTabs.filter(function(t){return(t===null||t===void 0?void 0:t.key)!=="refresh"})},[activeKey]);return React.createElement(Layout,{className:styles.layout},layoutSider?React.createElement(Layout.Sider,_extends({className:styles.sider,trigger:null,collapsible:true,collapsed:collapsed,onBreakpoint:function(broken){return handleCollapsed(broken)},onCollapse:function(_collapsed){return handleCollapsed(_collapsed)},theme:"light",breakpoint:"md"},layoutSider),React.createElement("div",{className:styles.logo,"data-title":projectName},React.createElement(FallbackComp,{compName:"logo",show:!collapsed})),React.createElement(LayoutMenu,{collapsed:collapsed,theme:layoutSider.theme})):null,React.createElement(Layout,{className:styles.section},React.createElement(FallbackComp,{compName:"layout-header",collapsed:collapsed,onCollapsed:function(){return handleCollapsed(!collapsed)}}),React.createElement(Tabs,{className:styles.tabs,hideAdd:true,onTabClick:function(key){navigate("".concat(menuKV[key].path,"?menuId=").concat(menuKV[key].key))},activeKey:activeKey,size:"middle",type:"editable-card",onEdit:function(targetKey,action){if(action==="remove"&&typeof targetKey==="string"){closedTab(targetKey)}}},tabs.map(function(item){return React.createElement(Tabs.TabPane,{tab:React.createElement(Dropdown,{overlay:React.createElement(Menu,{items:getItems(item.key),onClick:function(info){info.domEvent.stopPropagation();closedTab(item.key,info.key)}}),trigger:["contextMenu"],destroyPopupOnHide:true},React.createElement("div",null,item.icon,getLanguage(item.i18n||"route-".concat(item.key))+item.dynamicTitle||"")),key:item.key,closable:item.closable})})),React.createElement(Layout.Content,{className:styles.layoutContent},React.createElement("div",{className:styles.content},React.createElement(AppRouter,{router:router})),React.createElement(FallbackComp,{compName:"layout-footer"}))))};export default React.memo(SiderLayout,isEqual);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/packages/back-stage/layout/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport { useLocale } from 'i18n-hooks';\nimport { Tabs, Layout, Menu, Dropdown } from 'antd';\nimport { ReloadOutlined, DeleteRowOutlined, CloseOutlined } from '@ant-design/icons';\nimport { isEqual } from '@moneko/common';\nimport { useAliveController } from 'react-activation';\nimport { shallowEqual, useSelector, useDispatch } from 'react-redux';\nimport LayoutMenu from '../../../components/layout-menu';\nimport AppRouter from '../../../components/app-router';\nimport FallbackComp from '../../../components/fallback-comp';\nimport { router } from '../../../router';\nimport useNavigate from '../../../hooks/navgate';\nimport type { RouterProps } from '../../../router';\nimport type { AppProgramModelType } from '../models/app-program';\nimport type { ItemType } from 'antd/es/menu/hooks/useItems';\nimport styles from './index.less';\n\ninterface TabProps extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n}\n\nconst closeTabs: ItemType[] = [\n {\n label: '关闭左侧标签',\n icon: <DeleteRowOutlined style={{ transform: 'scaleX(-1)' }} />,\n key: 'left',\n },\n {\n label: '关闭右侧标签',\n icon: <DeleteRowOutlined />,\n key: 'right',\n },\n {\n label: '关闭其他标签',\n icon: <CloseOutlined />,\n key: 'other',\n },\n {\n label: '刷新标签页',\n icon: <ReloadOutlined />,\n key: 'refresh',\n },\n];\n\nconst SiderLayout: React.FC = () => {\n const dispatch = useDispatch();\n const activeKey = useSelector((store: AppStore) => store.appProgram.activeKey, shallowEqual);\n const tabs = useSelector((store: AppStore) => store.appProgram.tabs, shallowEqual);\n const menuKV = useSelector(\n (store: { appProgram: AppProgramModelType }) => store.appProgram.menuKV || {},\n shallowEqual\n );\n const navigate = useNavigate();\n const { dropScope } = useAliveController();\n const [search] = useSearchParams();\n const { getLanguage } = useLocale();\n const [collapsed, setCollapsed] = useState<boolean>(false);\n const handleCollapsed = useCallback((value: boolean) => {\n if (value) {\n let _timer: number | null = window.setTimeout(() => {\n setCollapsed(value);\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 0);\n } else {\n setCollapsed(value);\n let _timer: number | null = window.setTimeout(() => {\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 30);\n }\n }, []);\n\n const closedTab = useCallback(\n (tabKey?: string, type?: string) => {\n if (type === 'refresh') {\n navigate('/refresh');\n return;\n }\n dispatch({\n type: 'appProgram/closeTab',\n payload: {\n key: tabKey,\n type: type,\n callback(closes?: TabProps[], nextTab?: TabProps) {\n closes?.forEach((item) => {\n if (item.path && dropScope) {\n dropScope(item.path);\n }\n });\n if (nextTab) {\n navigate(`${nextTab.path}?menuId=${nextTab.key}`);\n }\n },\n },\n });\n },\n [dispatch, dropScope, navigate]\n );\n\n const { menuId, dynamicTitle } = useMemo(\n () => ({\n menuId: search.get('menuId') || '',\n dynamicTitle: search.get('dynamicTitle') || '',\n }),\n [search]\n );\n const current = menuKV[menuId];\n\n useEffect(() => {\n if (menuId) {\n dispatch({\n type: 'appProgram/openTab',\n payload: {\n key: menuId,\n dynamicTitle,\n },\n });\n }\n }, [dispatch, dynamicTitle, menuId, current]);\n\n const getItems = useCallback(\n (key: string) =>\n key === activeKey ? closeTabs : closeTabs.filter((t) => t?.key !== 'refresh'),\n [activeKey]\n );\n\n return (\n <Layout className={styles.layout}>\n {layoutSider ? (\n <Layout.Sider\n className={styles.sider}\n trigger={null}\n collapsible\n collapsed={collapsed}\n onBreakpoint={(broken: boolean) => handleCollapsed(broken)}\n onCollapse={(_collapsed: boolean) => handleCollapsed(_collapsed)}\n theme=\"light\"\n breakpoint=\"md\"\n {...layoutSider}\n >\n <div className={styles.logo} data-title={projectName}>\n <FallbackComp compName=\"logo\" show={!collapsed} />\n </div>\n <LayoutMenu collapsed={collapsed} theme={layoutSider.theme} />\n </Layout.Sider>\n ) : null}\n <Layout className={styles.section}>\n <FallbackComp\n compName=\"layout-header\"\n collapsed={collapsed}\n onCollapsed={() => handleCollapsed(!collapsed)}\n />\n <Tabs\n className={styles.tabs}\n hideAdd\n onTabClick={(key: string) => {\n navigate(`${menuKV[key].path}?menuId=${menuKV[key].key}`);\n }}\n activeKey={activeKey}\n size=\"middle\"\n type=\"editable-card\"\n onEdit={(targetKey, action) => {\n if (action === 'remove' && typeof targetKey === 'string') {\n closedTab(targetKey);\n }\n }}\n >\n {tabs.map((item: TabProps) => (\n <Tabs.TabPane\n tab={\n <Dropdown\n overlay={\n <Menu\n items={getItems(item.key)}\n onClick={(info) => {\n info.domEvent.stopPropagation();\n closedTab(item.key, info.key);\n }}\n />\n }\n trigger={['contextMenu']}\n destroyPopupOnHide\n >\n <div>\n {item.icon}\n {getLanguage(item.i18n || `route-${item.key}`) + item.dynamicTitle || ''}\n </div>\n </Dropdown>\n }\n key={item.key}\n closable={item.closable}\n />\n ))}\n </Tabs>\n <Layout.Content className={styles.layoutContent}>\n <div className={styles.content}>\n <AppRouter router={router} />\n </div>\n <FallbackComp compName=\"layout-footer\" />\n </Layout.Content>\n </Layout>\n </Layout>\n );\n};\n\nexport default React.memo(SiderLayout, isEqual);\n"],"names":["React","useCallback","useEffect","useMemo","useState","useSearchParams","useLocale","Tabs","Layout","Menu","Dropdown","ReloadOutlined","DeleteRowOutlined","CloseOutlined","isEqual","useAliveController","shallowEqual","useSelector","useDispatch","LayoutMenu","AppRouter","FallbackComp","router","useNavigate","styles","closeTabs","label","icon","style","transform","key","SiderLayout","dispatch","activeKey","store","appProgram","tabs","menuKV","navigate","dropScope","search","getLanguage","collapsed","setCollapsed","handleCollapsed","value","_timer","window","setTimeout","clearTimeout","closedTab","tabKey","type","payload","callback","closes","nextTab","forEach","item","path","menuId","get","dynamicTitle","current","getItems","filter","t","className","layout","layoutSider","Sider","sider","trigger","collapsible","onBreakpoint","broken","onCollapse","_collapsed","theme","breakpoint","div","logo","data-title","projectName","compName","show","section","onCollapsed","hideAdd","onTabClick","size","onEdit","targetKey","action","map","TabPane","tab","overlay","items","onClick","info","domEvent","stopPropagation","destroyPopupOnHide","i18n","closable","Content","layoutContent","content","memo"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/packages/back-stage/layout/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport { useLocale } from 'i18n-hooks';\nimport { Tabs, Layout, Menu, Dropdown } from 'antd';\nimport { ReloadOutlined, DeleteRowOutlined, CloseOutlined } from '@ant-design/icons';\nimport { isEqual } from '@moneko/common';\nimport { shallowEqual, useSelector, useDispatch } from 'react-redux';\nimport LayoutMenu from '../../../components/layout-menu';\nimport AppRouter from '../../../components/app-router';\nimport FallbackComp from '../../../components/fallback-comp';\nimport { router } from '../../../router';\nimport useNavigate from '../../../hooks/navgate';\nimport type { RouterProps } from '../../../router';\nimport type { AppProgramModelType } from '../models/app-program';\nimport type { ItemType } from 'antd/es/menu/hooks/useItems';\nimport styles from './index.less';\n\ninterface TabProps extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n}\n\nconst closeTabs: ItemType[] = [\n {\n label: '关闭左侧标签',\n icon: <DeleteRowOutlined style={{ transform: 'scaleX(-1)' }} />,\n key: 'left',\n },\n {\n label: '关闭右侧标签',\n icon: <DeleteRowOutlined />,\n key: 'right',\n },\n {\n label: '关闭其他标签',\n icon: <CloseOutlined />,\n key: 'other',\n },\n {\n label: '刷新标签页',\n icon: <ReloadOutlined />,\n key: 'refresh',\n },\n];\n\nconst SiderLayout: React.FC = () => {\n const dispatch = useDispatch();\n const activeKey = useSelector((store: AppStore) => store.appProgram.activeKey, shallowEqual);\n const tabs = useSelector((store: AppStore) => store.appProgram.tabs, shallowEqual);\n const menuKV = useSelector(\n (store: { appProgram: AppProgramModelType }) => store.appProgram.menuKV || {},\n shallowEqual\n );\n const navigate = useNavigate();\n const [search] = useSearchParams();\n const { getLanguage } = useLocale();\n const [collapsed, setCollapsed] = useState<boolean>(false);\n const handleCollapsed = useCallback((value: boolean) => {\n if (value) {\n let _timer: number | null = window.setTimeout(() => {\n setCollapsed(value);\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 0);\n } else {\n setCollapsed(value);\n let _timer: number | null = window.setTimeout(() => {\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 30);\n }\n }, []);\n\n const closedTab = useCallback(\n (tabKey?: string, type?: string) => {\n if (type === 'refresh') {\n navigate('/refresh');\n return;\n }\n dispatch({\n type: 'appProgram/closeTab',\n payload: {\n key: tabKey,\n type: type,\n callback(_?: TabProps[], nextTab?: TabProps) {\n if (nextTab) {\n navigate(`${nextTab.path}?menuId=${nextTab.key}`);\n }\n },\n },\n });\n },\n [dispatch, navigate]\n );\n\n const { menuId, dynamicTitle } = useMemo(\n () => ({\n menuId: search.get('menuId') || '',\n dynamicTitle: search.get('dynamicTitle') || '',\n }),\n [search]\n );\n const current = menuKV[menuId];\n\n useEffect(() => {\n if (menuId) {\n dispatch({\n type: 'appProgram/openTab',\n payload: {\n key: menuId,\n dynamicTitle,\n },\n });\n }\n }, [dispatch, dynamicTitle, menuId, current]);\n\n const getItems = useCallback(\n (key: string) =>\n key === activeKey ? closeTabs : closeTabs.filter((t) => t?.key !== 'refresh'),\n [activeKey]\n );\n\n return (\n <Layout className={styles.layout}>\n {layoutSider ? (\n <Layout.Sider\n className={styles.sider}\n trigger={null}\n collapsible\n collapsed={collapsed}\n onBreakpoint={(broken: boolean) => handleCollapsed(broken)}\n onCollapse={(_collapsed: boolean) => handleCollapsed(_collapsed)}\n theme=\"light\"\n breakpoint=\"md\"\n {...layoutSider}\n >\n <div className={styles.logo} data-title={projectName}>\n <FallbackComp compName=\"logo\" show={!collapsed} />\n </div>\n <LayoutMenu collapsed={collapsed} theme={layoutSider.theme} />\n </Layout.Sider>\n ) : null}\n <Layout className={styles.section}>\n <FallbackComp\n compName=\"layout-header\"\n collapsed={collapsed}\n onCollapsed={() => handleCollapsed(!collapsed)}\n />\n <Tabs\n className={styles.tabs}\n hideAdd\n onTabClick={(key: string) => {\n navigate(`${menuKV[key].path}?menuId=${menuKV[key].key}`);\n }}\n activeKey={activeKey}\n size=\"middle\"\n type=\"editable-card\"\n onEdit={(targetKey, action) => {\n if (action === 'remove' && typeof targetKey === 'string') {\n closedTab(targetKey);\n }\n }}\n >\n {tabs.map((item: TabProps) => (\n <Tabs.TabPane\n tab={\n <Dropdown\n overlay={\n <Menu\n items={getItems(item.key)}\n onClick={(info) => {\n info.domEvent.stopPropagation();\n closedTab(item.key, info.key);\n }}\n />\n }\n trigger={['contextMenu']}\n destroyPopupOnHide\n >\n <div>\n {item.icon}\n {getLanguage(item.i18n || `route-${item.key}`) + item.dynamicTitle || ''}\n </div>\n </Dropdown>\n }\n key={item.key}\n closable={item.closable}\n />\n ))}\n </Tabs>\n <Layout.Content className={styles.layoutContent}>\n <div className={styles.content}>\n <AppRouter router={router} />\n </div>\n <FallbackComp compName=\"layout-footer\" />\n </Layout.Content>\n </Layout>\n </Layout>\n );\n};\n\nexport default React.memo(SiderLayout, isEqual);\n"],"names":["React","useCallback","useEffect","useMemo","useState","useSearchParams","useLocale","Tabs","Layout","Menu","Dropdown","ReloadOutlined","DeleteRowOutlined","CloseOutlined","isEqual","shallowEqual","useSelector","useDispatch","LayoutMenu","AppRouter","FallbackComp","router","useNavigate","styles","closeTabs","label","icon","style","transform","key","SiderLayout","dispatch","activeKey","store","appProgram","tabs","menuKV","navigate","search","getLanguage","collapsed","setCollapsed","handleCollapsed","value","_timer","window","setTimeout","clearTimeout","closedTab","tabKey","type","payload","callback","_","nextTab","path","menuId","get","dynamicTitle","current","getItems","filter","t","className","layout","layoutSider","Sider","sider","trigger","collapsible","onBreakpoint","broken","onCollapse","_collapsed","theme","breakpoint","div","logo","data-title","projectName","compName","show","section","onCollapsed","hideAdd","onTabClick","size","onEdit","targetKey","action","map","item","TabPane","tab","overlay","items","onClick","info","domEvent","stopPropagation","destroyPopupOnHide","i18n","closable","Content","layoutContent","content","memo"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ModelType } from 'mini-idc';
1
+ import { type ModelType } from 'mini-idc';
2
2
  import type { RouterProps } from '../../../router';
3
3
  export interface ItemTypes extends RouterProps {
4
4
  key: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/packages/back-stage/models/app-program.ts"],"sourcesContent":["import { isEqual, isFunction } from '@moneko/common';\nimport { ModelActionType, ModelEffectMap, ModelType, shallowEqual } from 'mini-idc';\nimport type { RouterProps } from '../../../router';\n\nexport interface ItemTypes extends RouterProps {\n key: string;\n path?: string;\n type?: string;\n label?: string | null;\n children?: ItemTypes[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nconst getItems = (arr: ItemTypes[]): ItemTypes[] => {\n return arr.map((item) => {\n const { children, ...args } = item;\n const _item = { ...args, label: args.i18n };\n\n if (Array.isArray(children) && children.length) {\n Object.assign(_item, {\n children: getItems(children),\n });\n }\n return _item;\n });\n};\nconst getMenuKV = (arr: ItemTypes[], obj: Record<string, ItemTypes>): void => {\n arr.forEach((item) => {\n const { children, ...args } = item;\n\n Object.assign(obj, {\n [item.key]: args,\n });\n if (Array.isArray(children) && children.length) {\n getMenuKV(children, obj);\n }\n });\n};\n\nexport interface AppProgramModelType {\n menu: ItemTypes[];\n menuKV: Record<string, ItemTypes>;\n activeKey?: string;\n tabs: TabProps[];\n}\nexport interface TabProps extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n}\ntype RemoveTabType = 'left' | 'right' | 'other' | 'self';\n\nconst model: ModelType<AppProgramModelType> = {\n namespace: 'appProgram',\n state: {\n menu: [],\n menuKV: {},\n tabs: [],\n activeKey: 'home',\n },\n reducers: {\n setMenu: (state, { payload = [] }) => {\n const items = getItems(payload),\n im: Record<string, ItemTypes> = {};\n\n getMenuKV(items, im);\n return {\n ...state,\n menu: items,\n menuKV: im,\n };\n },\n setTabs: (state, action) => {\n return {\n ...state,\n tabs: action.payload,\n };\n },\n addTab: (state, { payload }) => {\n const { tabs, menuKV } = state;\n const current = menuKV[payload.key];\n\n if (current && !tabs.find((item: TabProps) => item.key === payload.key)) {\n const ntabs = [\n ...tabs,\n {\n ...current,\n i18n: current.i18n || `route-${current.key}`,\n ...payload,\n },\n ];\n\n if (!isEqual(ntabs, tabs)) {\n return {\n ...state,\n tabs: ntabs,\n };\n }\n }\n\n return state;\n },\n setActiveKey: (state, action) => {\n return {\n ...state,\n activeKey: action.payload,\n };\n },\n },\n effects: {\n *openTab(\n { payload }: Partial<ModelActionType>,\n { put }: ModelEffectMap\n ): Generator<unknown, void, TabProps[]> {\n const { key, dynamicTitle = '' } = payload;\n\n yield put({\n type: 'appProgram/addTab',\n payload: {\n key,\n dynamicTitle,\n },\n });\n yield put({\n type: 'appProgram/setActiveKey',\n payload: key,\n });\n },\n *closeTab(\n { payload }: Partial<ModelActionType>,\n { put, select }: ModelEffectMap\n ): Generator<unknown, void, AppProgramModelType> {\n const { key, type = 'self', callback } = payload;\n\n if (!key) return;\n\n const { tabs, activeKey } = yield select((store: AppStore) => store.appProgram, shallowEqual);\n\n let nActiveKey = activeKey;\n const closeTabs: TabProps[] = [];\n let nextTab: TabProps | null = null;\n // 关闭当前tab\n const isCloseSelf = type === 'self';\n const idx = tabs.findIndex((t) => t.key === key);\n const nTabs = tabs.filter((item, i) => {\n let notClose = item.closable === false;\n\n if (!notClose) {\n notClose = {\n left: i >= idx,\n right: i <= idx,\n other: i === idx,\n self: key !== item.key,\n }[type as RemoveTabType];\n }\n\n if (isCloseSelf) {\n if (!notClose) {\n if (key === nActiveKey && isCloseSelf) {\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 return notClose;\n });\n\n if (isFunction(callback)) {\n payload.callback(closeTabs, nextTab);\n }\n\n yield put({\n type: 'appProgram/setTabs',\n payload: nTabs,\n });\n yield put({\n type: 'appProgram/setActiveKey',\n payload: nActiveKey,\n });\n },\n },\n};\n\nexport default model;\n"],"names":["isEqual","isFunction","shallowEqual","getItems","arr","map","item","children","args","_item","label","i18n","Array","isArray","length","Object","assign","getMenuKV","obj","forEach","key","model","namespace","state","menu","menuKV","tabs","activeKey","reducers","setMenu","payload","items","im","setTabs","action","addTab","current","find","ntabs","setActiveKey","effects","openTab","put","dynamicTitle","type","closeTab","select","callback","nActiveKey","closeTabs","nextTab","isCloseSelf","idx","nTabs","store","appProgram","findIndex","t","filter","i","notClose","closable","left","right","other","self","adx","push"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/packages/back-stage/models/app-program.ts"],"sourcesContent":["import { isEqual, isFunction } from '@moneko/common';\nimport { type ModelActionType, type ModelEffectMap, type ModelType, shallowEqual } from 'mini-idc';\nimport type { RouterProps } from '../../../router';\n\nexport interface ItemTypes extends RouterProps {\n key: string;\n path?: string;\n type?: string;\n label?: string | null;\n children?: ItemTypes[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nconst getItems = (arr: ItemTypes[]): ItemTypes[] => {\n return arr.map((item) => {\n const { children, ...args } = item;\n const _item = { ...args, label: args.i18n };\n\n if (Array.isArray(children) && children.length) {\n Object.assign(_item, {\n children: getItems(children),\n });\n }\n return _item;\n });\n};\nconst getMenuKV = (arr: ItemTypes[], obj: Record<string, ItemTypes>): void => {\n arr.forEach((item) => {\n const { children, ...args } = item;\n\n Object.assign(obj, {\n [item.key]: args,\n });\n if (Array.isArray(children) && children.length) {\n getMenuKV(children, obj);\n }\n });\n};\n\nexport interface AppProgramModelType {\n menu: ItemTypes[];\n menuKV: Record<string, ItemTypes>;\n activeKey?: string;\n tabs: TabProps[];\n}\nexport interface TabProps extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n}\ntype RemoveTabType = 'left' | 'right' | 'other' | 'self';\n\nconst model: ModelType<AppProgramModelType> = {\n namespace: 'appProgram',\n state: {\n menu: [],\n menuKV: {},\n tabs: [],\n activeKey: 'home',\n },\n reducers: {\n setMenu: (state, { payload = [] }) => {\n const items = getItems(payload),\n im: Record<string, ItemTypes> = {};\n\n getMenuKV(items, im);\n return {\n ...state,\n menu: items,\n menuKV: im,\n };\n },\n setTabs: (state, action) => {\n return {\n ...state,\n tabs: action.payload,\n };\n },\n addTab: (state, { payload }) => {\n const { tabs, menuKV } = state;\n const current = menuKV[payload.key];\n\n if (current && !tabs.find((item: TabProps) => item.key === payload.key)) {\n const ntabs = [\n ...tabs,\n {\n ...current,\n i18n: current.i18n || `route-${current.key}`,\n ...payload,\n },\n ];\n\n if (!isEqual(ntabs, tabs)) {\n return {\n ...state,\n tabs: ntabs,\n };\n }\n }\n\n return state;\n },\n setActiveKey: (state, action) => {\n return {\n ...state,\n activeKey: action.payload,\n };\n },\n },\n effects: {\n *openTab(\n { payload }: Partial<ModelActionType>,\n { put }: ModelEffectMap\n ): Generator<unknown, void, TabProps[]> {\n const { key, dynamicTitle = '' } = payload;\n\n yield put({\n type: 'appProgram/addTab',\n payload: {\n key,\n dynamicTitle,\n },\n });\n yield put({\n type: 'appProgram/setActiveKey',\n payload: key,\n });\n },\n *closeTab(\n { payload }: Partial<ModelActionType>,\n { put, select }: ModelEffectMap\n ): Generator<unknown, void, AppProgramModelType> {\n const { key, type = 'self', callback } = payload;\n\n if (!key) return;\n\n const { tabs, activeKey } = yield select((store: AppStore) => store.appProgram, shallowEqual);\n\n let nActiveKey = activeKey;\n const closeTabs: TabProps[] = [];\n let nextTab: TabProps | null = null;\n // 关闭当前tab\n const isCloseSelf = type === 'self';\n const idx = tabs.findIndex((t) => t.key === key);\n const nTabs = tabs.filter((item, i) => {\n let notClose = item.closable === false;\n\n if (!notClose) {\n notClose = {\n left: i >= idx,\n right: i <= idx,\n other: i === idx,\n self: key !== item.key,\n }[type as RemoveTabType];\n }\n\n if (isCloseSelf) {\n if (!notClose) {\n if (key === nActiveKey && isCloseSelf) {\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 return notClose;\n });\n\n if (isFunction(callback)) {\n payload.callback(closeTabs, nextTab);\n }\n\n yield put({\n type: 'appProgram/setTabs',\n payload: nTabs,\n });\n yield put({\n type: 'appProgram/setActiveKey',\n payload: nActiveKey,\n });\n },\n },\n};\n\nexport default model;\n"],"names":["isEqual","isFunction","shallowEqual","getItems","arr","map","item","children","args","_item","label","i18n","Array","isArray","length","Object","assign","getMenuKV","obj","forEach","key","model","namespace","state","menu","menuKV","tabs","activeKey","reducers","setMenu","payload","items","im","setTabs","action","addTab","current","find","ntabs","setActiveKey","effects","openTab","put","dynamicTitle","type","closeTab","select","callback","nActiveKey","closeTabs","nextTab","isCloseSelf","idx","nTabs","store","appProgram","findIndex","t","filter","i","notClose","closable","left","right","other","self","adx","push"],"mappings":"+nIAAA,QAASA,OAAO,CAAEC,UAAU,KAAQ,gBAAiB,AACrD,QAAoEC,YAAY,KAAQ,UAAW,CAanG,IAAMC,SAAW,SAACC,IAAkC,CAClD,OAAOA,IAAIC,GAAG,CAAC,SAACC,KAAS,CACvB,IAAM,AAAEC,SAAsBD,KAAtBC,SAAaC,8BAASF,MAAtBC,aACR,IAAME,MAAQ,oCAAKD,OAAME,MAAOF,KAAKG,IAAI,GAEzC,GAAIC,MAAMC,OAAO,CAACN,WAAaA,SAASO,MAAM,CAAE,CAC9CC,OAAOC,MAAM,CAACP,MAAO,CACnBF,SAAUJ,SAASI,SACrB,EACF,CAAC,AACD,OAAOE,KACT,EACF,EACA,IAAMQ,UAAY,SAACb,IAAkBc,IAAyC,CAC5Ed,IAAIe,OAAO,CAAC,SAACb,KAAS,CACpB,IAAM,AAAEC,SAAsBD,KAAtBC,SAAaC,8BAASF,MAAtBC,aAERQ,OAAOC,MAAM,CAACE,IACZ,mBAACZ,KAAKc,GAAG,CAAGZ,OAEd,GAAII,MAAMC,OAAO,CAACN,WAAaA,SAASO,MAAM,CAAE,CAC9CG,UAAUV,SAAUW,IACtB,CAAC,AACH,EACF,EAgBA,IAAMG,MAAwC,CAC5CC,UAAW,aACXC,MAAO,CACLC,KAAM,EAAE,CACRC,OAAQ,CAAC,EACTC,KAAM,EAAE,CACRC,UAAW,MACb,EACAC,SAAU,CACRC,QAAS,SAACN,YAA4B,0BAAnBO,QAAAA,gCAAU,EAAE,gBAC7B,IAAMC,MAAQ5B,SAAS2B,SACrBE,GAAgC,CAAC,EAEnCf,UAAUc,MAAOC,IACjB,OAAO,oCACFT,QACHC,KAAMO,MACNN,OAAQO,IAEZ,EACAC,QAAS,SAACV,MAAOW,OAAW,CAC1B,OAAO,oCACFX,QACHG,KAAMQ,OAAOJ,OAAO,EAExB,EACAK,OAAQ,SAACZ,YAAuB,KAAdO,cAAAA,QAChB,IAAQJ,KAAiBH,MAAjBG,KAAMD,OAAWF,MAAXE,OACd,IAAMW,QAAUX,MAAM,CAACK,QAAQV,GAAG,CAAC,CAEnC,GAAIgB,SAAW,CAACV,KAAKW,IAAI,CAAC,SAAC/B,aAAmBA,KAAKc,GAAG,GAAKU,QAAQV,GAAG,GAAG,CACvE,IAAMkB,MAAQ,AACZ,mBAAGZ,aADS,CAEZ,kDACKU,UACHzB,KAAMyB,QAAQzB,IAAI,EAAI,AAAC,SAAoB,OAAZyB,QAAQhB,GAAG,IACvCU,SAEN,EAED,GAAI,CAAC9B,QAAQsC,MAAOZ,MAAO,CACzB,OAAO,oCACFH,QACHG,KAAMY,OAEV,CAAC,AACH,CAAC,AAED,OAAOf,KACT,EACAgB,aAAc,SAAChB,MAAOW,OAAW,CAC/B,OAAO,oCACFX,QACHI,UAAWO,OAAOJ,OAAO,EAE7B,CACF,EACAU,QAAS,CACNC,QAAD,SAACA,QACC,KAAqC,CACrC,MAAuB,CACe,KAFpCX,QACAY,IAEMtB,0BAAKuB,kFAHXb,QAAF,MAAEA,QACAY,IAAF,OAAEA,IAEMtB,IAA2BU,QAA3BV,0BAA2BU,QAAtBa,aAAAA,4CAAe,yBAE5B,SAAMD,IAAI,CACRE,KAAM,oBACNd,QAAS,CACPV,IAAAA,IACAuB,aAAAA,YACF,CACF,WANA,cAOA,SAAMD,IAAI,CACRE,KAAM,0BACNd,QAASV,GACX,WAHA,0BAIF,EACCyB,SAAD,SAACA,SACC,KAAqC,CACrC,MAA+B,CACgB,KAF7Cf,QACAY,IAAKI,OAEC1B,kBAAKwB,KAAeG,SAIA,KAApBrB,KAAMC,UAEVqB,WACEC,UACFC,QAEEC,YACAC,IACAC,2EAfJvB,QAAF,MAAEA,QACAY,IAAF,OAAEA,IAAKI,OAAP,OAAOA,OAEC1B,IAAiCU,QAAjCV,kBAAiCU,QAA5Bc,KAAAA,4BAAO,qBAAQG,SAAajB,QAAbiB,SAE5B,GAAI,CAAC3B,IAAK,SAAO,CAEW,SAAM0B,OAAO,SAACQ,cAAoBA,MAAMC,UAAU,EAAErD,sBAApD,KAAA,cAApBwB,KAAoB,KAApBA,KAAMC,UAAc,KAAdA,UAEVqB,WAAarB,UACXsB,aACFC,QAA2B,IAAI,CAE7BC,YAAcP,OAAS,OACvBQ,IAAM1B,KAAK8B,SAAS,CAAC,SAACC,UAAMA,EAAErC,GAAG,GAAKA,MACtCiC,MAAQ3B,KAAKgC,MAAM,CAAC,SAACpD,KAAMqD,EAAM,CACrC,IAAIC,SAAWtD,KAAKuD,QAAQ,GAAK,KAAK,CAEtC,GAAI,CAACD,SAAU,CACbA,SAAW,CAAA,CACTE,KAAMH,GAAKP,IACXW,MAAOJ,GAAKP,IACZY,MAAOL,IAAMP,IACba,KAAM7C,MAAQd,KAAKc,GAAG,AACxB,CAAA,CAAC,CAACwB,KAAsB,AAC1B,CAAC,AAED,GAAIO,YAAa,CACf,GAAI,CAACS,SAAU,CACb,GAAIxC,MAAQ4B,YAAcG,YAAa,CACrC,IAAMe,IAAqBP,EAAIA,EAAI,EAAIA,EAAI,CAAC,CAE5C,GAAIjC,IAAI,CAACwC,IAAI,CAAE,CACblB,WAAatB,IAAI,CAACwC,IAAI,CAAC9C,GAAG,CAC1B8B,QAAUxB,IAAI,CAACwC,IAAI,AACrB,CAAC,AACH,CAAC,AACH,CAAC,AACH,MAAO,GAAIN,UAAYtD,KAAKc,GAAG,GAAKA,KAAO4B,aAAe5B,IAAK,CAC7D4B,WAAa5B,IACb8B,QAAUxB,IAAI,CAACiC,EAAE,AACnB,CAAC,AACD,GAAI,CAACC,SAAU,CACbX,UAAUkB,IAAI,CAAC7D,KACjB,CAAC,AACD,OAAOsD,QACT,GAEA,GAAI3D,WAAW8C,UAAW,CACxBjB,QAAQiB,QAAQ,CAACE,UAAWC,QAC9B,CAAC,AAED,SAAMR,IAAI,CACRE,KAAM,qBACNd,QAASuB,KACX,WAHA,cAIA,SAAMX,IAAI,CACRE,KAAM,0BACNd,QAASkB,UACX,WAHA,0BAIF,CACF,CACF,CAEA,gBAAe3B,KAAM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/library/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAGA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACjB,WAAUD,OAAQA,WAK7B,CAEA,gBAAeiB,GAAI"}
1
+ {"version":3,"sources":["../../../src/packages/library/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAGA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACjB,WAAUD,OAAQA,WAK7B,CAEA,gBAAeiB,GAAI"}
@@ -1,5 +1,5 @@
1
1
  import '../../utils/env';
2
2
  import '../../utils/refresh-rem';
3
- import '../../styles/index.global.less';
3
+ import '../../styles/normalize.css';
4
4
  declare const bootstrap: typeof import("./bootstrap");
5
5
  export default bootstrap;
@@ -1,2 +1,2 @@
1
- import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/index.global.less";var bootstrap=await import("./bootstrap");export default bootstrap;
1
+ import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/normalize.css";var bootstrap=await import("./bootstrap");export default bootstrap;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/library/index.ts"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/index.global.less';\n\nconst bootstrap = await import('./bootstrap');\n\nexport default bootstrap;\n"],"names":["bootstrap"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,gCAAiC,CAExC,IAAMA,UAAY,MAAM,MAAM,CAAC,cAE/B,gBAAeA,SAAU"}
1
+ {"version":3,"sources":["../../../src/packages/library/index.ts"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/normalize.css';\n\nconst bootstrap = await import('./bootstrap');\n\nexport default bootstrap;\n"],"names":["bootstrap"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,4BAA6B,CAEpC,IAAMA,UAAY,MAAM,MAAM,CAAC,cAE/B,gBAAeA,SAAU"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/mobile/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAGA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACjB,WAAUD,OAAQA,WAK7B,CAEA,gBAAeiB,GAAI"}
1
+ {"version":3,"sources":["../../../src/packages/mobile/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAGA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACjB,WAAUD,OAAQA,WAK7B,CAEA,gBAAeiB,GAAI"}
@@ -1,4 +1,4 @@
1
1
  import '../../utils/env';
2
2
  import '../../utils/fontloader';
3
3
  import '../../utils/refresh-rem';
4
- import '../../styles/index.global.less';
4
+ import '../../styles/normalize.css';
@@ -1,2 +1,2 @@
1
- import"../../utils/env";import"../../utils/fontloader";import"../../utils/refresh-rem";import"../../styles/index.global.less";import fastClick from"fastclick";import React from"react";import{isFunction}from"@moneko/common";import App from"./app";var appEntry=APPENTRY?require(APPENTRY):null;var SafeReactDOM=require(ReactDOMPath);fastClick.attach(document.body);var version=parseFloat(React.version);var container=document.getElementById("root");var bootstrap=function(){if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}if(version>=18){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))}}else{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()}};window.H5RemoteRuntime={bootstrap:bootstrap};bootstrap();
1
+ import"../../utils/env";import"../../utils/fontloader";import"../../utils/refresh-rem";import"../../styles/normalize.css";import fastClick from"fastclick";import React from"react";import{isFunction}from"@moneko/common";import App from"./app";var appEntry=APPENTRY?require(APPENTRY):null;var SafeReactDOM=require(ReactDOMPath);fastClick.attach(document.body);var version=parseFloat(React.version);var container=document.getElementById("root");var bootstrap=function(){if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}if(version>=18){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))}}else{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()}};window.H5RemoteRuntime={bootstrap:bootstrap};bootstrap();
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/mobile/index.tsx"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/fontloader';\nimport '../../utils/refresh-rem';\nimport '../../styles/index.global.less';\nimport fastClick from 'fastclick';\nimport React from 'react';\nimport { isFunction } from '@moneko/common';\nimport App from './app';\n\nconst appEntry: AppEntryMethods | null = APPENTRY ? require(APPENTRY) : null;\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst SafeReactDOM = require(ReactDOMPath);\n\n(fastClick as unknown as FastClickStatic).attach(document.body);\n\nconst version = parseFloat(React.version);\nconst container = document.getElementById('root') as HTMLElement;\n\nconst bootstrap = () => {\n if (isFunction(appEntry?.bootstrap)) {\n appEntry?.bootstrap();\n }\n if (version >= 18) {\n if (programInfo.renderMode === 'ssr') {\n window.rootInstance = SafeReactDOM.hydrateRoot(container, <App />);\n } else {\n window.rootInstance = SafeReactDOM.createRoot(container);\n window.rootInstance.render(<App />);\n }\n } else {\n const render = module.hot ? SafeReactDOM.render : SafeReactDOM.hydrate;\n\n render(<App />, container);\n }\n if (isFunction(appEntry?.mount)) {\n appEntry?.mount();\n }\n};\n\ninterface Window {\n H5RemoteRuntime: {\n bootstrap: () => void;\n };\n}\n\n(window as unknown as Window).H5RemoteRuntime = {\n bootstrap: bootstrap,\n};\n\nbootstrap();\n"],"names":["fastClick","React","isFunction","App","appEntry","APPENTRY","require","SafeReactDOM","ReactDOMPath","attach","document","body","version","parseFloat","container","getElementById","bootstrap","programInfo","renderMode","window","rootInstance","hydrateRoot","createRoot","render","module","hot","hydrate","mount","H5RemoteRuntime"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,wBAAyB,AAChC,OAAO,yBAA0B,AACjC,OAAO,gCAAiC,AACxC,QAAOA,cAAe,WAAY,AAClC,QAAOC,UAAW,OAAQ,AAC1B,QAASC,UAAU,KAAQ,gBAAiB,AAC5C,QAAOC,QAAS,OAAQ,CAExB,IAAMC,SAAmCC,SAAWC,QAAQD,UAAY,IAAI,CAG5E,IAAME,aAAeD,QAAQE,cAE7B,AAACR,UAAyCS,MAAM,CAACC,SAASC,IAAI,EAE9D,IAAMC,QAAUC,WAAWZ,MAAMW,OAAO,EACxC,IAAME,UAAYJ,SAASK,cAAc,CAAC,QAE1C,IAAMC,UAAY,UAAM,CACtB,GAAId,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUY,SAAS,EAAG,CACnCZ,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUY,SAAS,EACrB,CAAC,AACD,GAAIJ,SAAW,GAAI,CACjB,GAAIK,YAAYC,UAAU,GAAK,MAAO,CACpCC,OAAOC,YAAY,CAAGb,aAAac,WAAW,CAACP,UAAW,oBAACX,UAC7D,KAAO,CACLgB,OAAOC,YAAY,CAAGb,aAAae,UAAU,CAACR,WAC9CK,OAAOC,YAAY,CAACG,MAAM,CAAC,oBAACpB,UAC9B,CAAC,AACH,KAAO,CACL,IAAMoB,OAASC,OAAOC,GAAG,CAAGlB,aAAagB,MAAM,CAAGhB,aAAamB,OAAO,CAEtEH,OAAO,oBAACpB,UAAQW,UAClB,CAAC,AACD,GAAIZ,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUuB,KAAK,EAAG,CAC/BvB,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUuB,KAAK,EACjB,CAAC,AACH,CAQA,CAACR,OAA6BS,eAAe,CAAG,CAC9CZ,UAAWA,SACb,EAEAA"}
1
+ {"version":3,"sources":["../../../src/packages/mobile/index.tsx"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/fontloader';\nimport '../../utils/refresh-rem';\nimport '../../styles/normalize.css';\nimport fastClick from 'fastclick';\nimport React from 'react';\nimport { isFunction } from '@moneko/common';\nimport App from './app';\n\nconst appEntry: AppEntryMethods | null = APPENTRY ? require(APPENTRY) : null;\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst SafeReactDOM = require(ReactDOMPath);\n\n(fastClick as unknown as FastClickStatic).attach(document.body);\n\nconst version = parseFloat(React.version);\nconst container = document.getElementById('root') as HTMLElement;\n\nconst bootstrap = () => {\n if (isFunction(appEntry?.bootstrap)) {\n appEntry?.bootstrap();\n }\n if (version >= 18) {\n if (programInfo.renderMode === 'ssr') {\n window.rootInstance = SafeReactDOM.hydrateRoot(container, <App />);\n } else {\n window.rootInstance = SafeReactDOM.createRoot(container);\n window.rootInstance.render(<App />);\n }\n } else {\n const render = module.hot ? SafeReactDOM.render : SafeReactDOM.hydrate;\n\n render(<App />, container);\n }\n if (isFunction(appEntry?.mount)) {\n appEntry?.mount();\n }\n};\n\ninterface Window {\n H5RemoteRuntime: {\n bootstrap: () => void;\n };\n}\n\n(window as unknown as Window).H5RemoteRuntime = {\n bootstrap: bootstrap,\n};\n\nbootstrap();\n"],"names":["fastClick","React","isFunction","App","appEntry","APPENTRY","require","SafeReactDOM","ReactDOMPath","attach","document","body","version","parseFloat","container","getElementById","bootstrap","programInfo","renderMode","window","rootInstance","hydrateRoot","createRoot","render","module","hot","hydrate","mount","H5RemoteRuntime"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,wBAAyB,AAChC,OAAO,yBAA0B,AACjC,OAAO,4BAA6B,AACpC,QAAOA,cAAe,WAAY,AAClC,QAAOC,UAAW,OAAQ,AAC1B,QAASC,UAAU,KAAQ,gBAAiB,AAC5C,QAAOC,QAAS,OAAQ,CAExB,IAAMC,SAAmCC,SAAWC,QAAQD,UAAY,IAAI,CAG5E,IAAME,aAAeD,QAAQE,cAE7B,AAACR,UAAyCS,MAAM,CAACC,SAASC,IAAI,EAE9D,IAAMC,QAAUC,WAAWZ,MAAMW,OAAO,EACxC,IAAME,UAAYJ,SAASK,cAAc,CAAC,QAE1C,IAAMC,UAAY,UAAM,CACtB,GAAId,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUY,SAAS,EAAG,CACnCZ,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUY,SAAS,EACrB,CAAC,AACD,GAAIJ,SAAW,GAAI,CACjB,GAAIK,YAAYC,UAAU,GAAK,MAAO,CACpCC,OAAOC,YAAY,CAAGb,aAAac,WAAW,CAACP,UAAW,oBAACX,UAC7D,KAAO,CACLgB,OAAOC,YAAY,CAAGb,aAAae,UAAU,CAACR,WAC9CK,OAAOC,YAAY,CAACG,MAAM,CAAC,oBAACpB,UAC9B,CAAC,AACH,KAAO,CACL,IAAMoB,OAASC,OAAOC,GAAG,CAAGlB,aAAagB,MAAM,CAAGhB,aAAamB,OAAO,CAEtEH,OAAO,oBAACpB,UAAQW,UAClB,CAAC,AACD,GAAIZ,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUuB,KAAK,EAAG,CAC/BvB,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUuB,KAAK,EACjB,CAAC,AACH,CAQA,CAACR,OAA6BS,eAAe,CAAG,CAC9CZ,UAAWA,SACb,EAEAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/single-spa/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\ninterface AppProps {\n basename?: string;\n fallback?: React.ReactElement;\n}\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC<AppProps> = ({ basename, fallback }: AppProps) => {\n let props: Record<string, string> = {\n basename: [basename, programInfo.routeBaseName].join(''),\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} fallback={fallback} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","basename","fallback","props","routeBaseName","join"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAOJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAEA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAA0B,eAAsC,KAAnCC,eAAAA,SAAUC,eAAAA,SAC3C,IAAIC,MAAgC,CAClCF,SAAU,CAACA,SAAUf,YAAYkB,aAAa,CAAC,CAACC,IAAI,CAAC,GACvD,EAEA,GAAInB,YAAYC,UAAU,GAAK,UAAW,CACxCgB,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACf,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWkB,OACV,oBAACnB,WAAUD,OAAQA,OAAQmB,SAAUA,aAK/C,CAEA,gBAAeF,GAAI"}
1
+ {"version":3,"sources":["../../../src/packages/single-spa/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\ninterface AppProps {\n basename?: string;\n fallback?: React.ReactElement;\n}\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC<AppProps> = ({ basename, fallback }: AppProps) => {\n let props: Record<string, string> = {\n basename: [basename, programInfo.routeBaseName].join(''),\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} fallback={fallback} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","basename","fallback","props","routeBaseName","join"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAOJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAEA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAA0B,eAAsC,KAAnCC,eAAAA,SAAUC,eAAAA,SAC3C,IAAIC,MAAgC,CAClCF,SAAU,CAACA,SAAUf,YAAYkB,aAAa,CAAC,CAACC,IAAI,CAAC,GACvD,EAEA,GAAInB,YAAYC,UAAU,GAAK,UAAW,CACxCgB,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACf,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWkB,OACV,oBAACnB,WAAUD,OAAQA,OAAQmB,SAAUA,aAK/C,CAEA,gBAAeF,GAAI"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/single-spa/bootstrap.tsx"],"sourcesContent":["import '../../utils/fontloader';\nimport React from 'react';\nimport { isFunction } from '@moneko/common';\nimport App from './app';\n\ntype AppEntryMethods = {\n unmount?: Promise<void>;\n mount?: Promise<void>;\n bootstrap?: Promise<void>;\n};\n\nconst appEntry: AppEntryMethods | null = APPENTRY ? require(APPENTRY) : null;\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst SafeReactDOM = require(ReactDOMPath);\nconst _version = parseFloat(React.version);\n\ntype RenderParamsType = {\n container?: HTMLElement;\n basename?: string;\n fallback?: React.ReactElement;\n};\n\nfunction render(props: RenderParamsType) {\n const { container, basename, fallback, ...args } = props;\n const _container = container?.querySelector('#root') || document.querySelector('#root');\n\n window.primaryApp = {\n ...args,\n container: _container,\n };\n if (_version >= 18) {\n if (programInfo.renderMode === 'ssr') {\n window.rootInstance = SafeReactDOM.hydrateRoot(\n _container as HTMLElement,\n <App basename={basename} fallback={fallback} />\n );\n } else {\n window.rootInstance = SafeReactDOM.createRoot(_container as HTMLElement);\n window.rootInstance.render(<App basename={basename} fallback={fallback} />);\n }\n } else {\n const reactRender = module.hot ? SafeReactDOM.render : SafeReactDOM.hydrate;\n\n reactRender(<App basename={basename} fallback={fallback} />, _container);\n }\n}\n\nif (!window.__POWERED_BY_QIANKUN__) {\n render({});\n}\n\nexport async function bootstrap(): Promise<void> {\n if (isFunction(appEntry?.bootstrap)) {\n appEntry?.bootstrap();\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function unmount(props: any): Promise<void> {\n if (isFunction(appEntry?.unmount)) {\n appEntry?.unmount(props);\n }\n const { container } = props;\n\n if (_version >= 18) {\n window.rootInstance.unmount();\n } else {\n const _container = container?.querySelector('#root') || document.querySelector('#root');\n\n SafeReactDOM.unmountComponentAtNode(_container);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function mount(props: any): Promise<void> {\n if (isFunction(appEntry?.mount)) {\n appEntry?.mount(props);\n }\n render(props);\n}\n"],"names":["React","isFunction","App","appEntry","APPENTRY","require","SafeReactDOM","ReactDOMPath","_version","parseFloat","version","render","props","container","basename","fallback","args","_container","querySelector","document","window","primaryApp","programInfo","renderMode","rootInstance","hydrateRoot","createRoot","reactRender","module","hot","hydrate","__POWERED_BY_QIANKUN__","bootstrap","unmount","unmountComponentAtNode","mount"],"mappings":"AAAA,koHAAA,OAAO,wBAAyB,AAChC,QAAOA,UAAW,OAAQ,AAC1B,QAASC,UAAU,KAAQ,gBAAiB,AAC5C,QAAOC,QAAS,OAAQ,CAQxB,IAAMC,SAAmCC,SAAWC,QAAQD,UAAY,IAAI,CAG5E,IAAME,aAAeD,QAAQE,cAC7B,IAAMC,SAAWC,WAAWT,MAAMU,OAAO,EAQzC,SAASC,OAAOC,KAAuB,CAAE,CACvC,IAAQC,UAA2CD,MAA3CC,UAAWC,SAAgCF,MAAhCE,SAAUC,SAAsBH,MAAtBG,SAAaC,8BAASJ,OAA3CC,YAAWC,WAAUC,aAC7B,IAAME,WAAaJ,CAAAA,kBAAAA,mBAAAA,KAAAA,EAAAA,UAAWK,aAAa,CAAC,WAAYC,SAASD,aAAa,CAAC,QAE/EE,CAAAA,OAAOC,UAAU,CAAG,oCACfL,OACHH,UAAWI,aAEb,GAAIT,UAAY,GAAI,CAClB,GAAIc,YAAYC,UAAU,GAAK,MAAO,CACpCH,OAAOI,YAAY,CAAGlB,aAAamB,WAAW,CAC5CR,WACA,oBAACf,KAAIY,SAAUA,SAAUC,SAAUA,WAEvC,KAAO,CACLK,OAAOI,YAAY,CAAGlB,aAAaoB,UAAU,CAACT,YAC9CG,OAAOI,YAAY,CAACb,MAAM,CAAC,oBAACT,KAAIY,SAAUA,SAAUC,SAAUA,WAChE,CAAC,AACH,KAAO,CACL,IAAMY,YAAcC,OAAOC,GAAG,CAAGvB,aAAaK,MAAM,CAAGL,aAAawB,OAAO,CAE3EH,YAAY,oBAACzB,KAAIY,SAAUA,SAAUC,SAAUA,WAAcE,WAC/D,CAAC,AACH,CAEA,GAAI,CAACG,OAAOW,sBAAsB,CAAE,CAClCpB,OAAO,CAAC,EACV,CAAC,AAED,gBAAsBqB,mBAAAA,iCAIrB,SAJqBA,aAAAA,WAAf,kBAAA,UAA0C,0CAC/C,GAAI/B,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU6B,SAAS,EAAG,CACnC7B,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU6B,SAAS,EACrB,CAAC,WACH,UAJsBA,iCAOtB,gBAAsBC,QAAQrB,KAAU,SAAlBqB,+BAarB,SAbqBA,WAAAA,SAAf,kBAAA,SAAuBrB,KAAU,CAAiB,KAI/CC,UAKAI,oDARR,GAAIhB,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU8B,OAAO,EAAG,CACjC9B,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU8B,OAAO,CAACrB,MACpB,CAAC,AACOC,UAAcD,MAAdC,UAER,GAAIL,UAAY,GAAI,CAClBY,OAAOI,YAAY,CAACS,OAAO,EAC7B,KAAO,CACChB,WAAaJ,CAAAA,kBAAAA,mBAAAA,KAAAA,EAAAA,UAAWK,aAAa,CAAC,WAAYC,SAASD,aAAa,CAAC,SAE/EZ,aAAa4B,sBAAsB,CAACjB,WACtC,CAAC,WACH,UAbsBgB,+BAgBtB,gBAAsBE,MAAMvB,KAAU,SAAhBuB,6BAKrB,SALqBA,SAAAA,OAAf,kBAAA,SAAqBvB,KAAU,CAAiB,0CACrD,GAAIX,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUgC,KAAK,EAAG,CAC/BhC,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUgC,KAAK,CAACvB,MAClB,CAAC,AACDD,OAAOC,kBACT,UALsBuB"}
1
+ {"version":3,"sources":["../../../src/packages/single-spa/bootstrap.tsx"],"sourcesContent":["import '../../utils/fontloader';\nimport React from 'react';\nimport { isFunction } from '@moneko/common';\nimport App from './app';\n\ntype AppEntryMethods = {\n unmount?: Promise<void>;\n mount?: Promise<void>;\n bootstrap?: Promise<void>;\n};\n\nconst appEntry: AppEntryMethods | null = APPENTRY ? require(APPENTRY) : null;\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst SafeReactDOM = require(ReactDOMPath);\nconst _version = parseFloat(React.version);\n\ntype RenderParamsType = {\n container?: HTMLElement;\n basename?: string;\n fallback?: React.ReactElement;\n};\n\nfunction render(props: RenderParamsType) {\n const { container, basename, fallback, ...args } = props;\n const _container = container?.querySelector('#root') || document.querySelector('#root');\n\n window.primaryApp = {\n ...args,\n container: _container,\n };\n if (_version >= 18) {\n if (programInfo.renderMode === 'ssr') {\n window.rootInstance = SafeReactDOM.hydrateRoot(\n _container as HTMLElement,\n <App basename={basename} fallback={fallback} />\n );\n } else {\n window.rootInstance = SafeReactDOM.createRoot(_container as HTMLElement);\n window.rootInstance.render(<App basename={basename} fallback={fallback} />);\n }\n } else {\n const reactRender = module.hot ? SafeReactDOM.render : SafeReactDOM.hydrate;\n\n reactRender(<App basename={basename} fallback={fallback} />, _container);\n }\n}\n\nif (!window.__POWERED_BY_QIANKUN__) {\n render({});\n}\n\nexport async function bootstrap(): Promise<void> {\n if (isFunction(appEntry?.bootstrap)) {\n appEntry?.bootstrap();\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function unmount(props: any): Promise<void> {\n if (isFunction(appEntry?.unmount)) {\n appEntry?.unmount(props);\n }\n const { container } = props;\n\n if (_version >= 18) {\n window.rootInstance.unmount();\n } else {\n const _container = container?.querySelector('#root') || document.querySelector('#root');\n\n SafeReactDOM.unmountComponentAtNode(_container);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport async function mount(props: any): Promise<void> {\n if (isFunction(appEntry?.mount)) {\n appEntry?.mount(props);\n }\n render(props);\n}\n"],"names":["React","isFunction","App","appEntry","APPENTRY","require","SafeReactDOM","ReactDOMPath","_version","parseFloat","version","render","props","container","basename","fallback","args","_container","querySelector","document","window","primaryApp","programInfo","renderMode","rootInstance","hydrateRoot","createRoot","reactRender","module","hot","hydrate","__POWERED_BY_QIANKUN__","bootstrap","unmount","unmountComponentAtNode","mount"],"mappings":"koHAAA,OAAO,wBAAyB,AAChC,QAAOA,UAAW,OAAQ,AAC1B,QAASC,UAAU,KAAQ,gBAAiB,AAC5C,QAAOC,QAAS,OAAQ,CAQxB,IAAMC,SAAmCC,SAAWC,QAAQD,UAAY,IAAI,CAG5E,IAAME,aAAeD,QAAQE,cAC7B,IAAMC,SAAWC,WAAWT,MAAMU,OAAO,EAQzC,SAASC,OAAOC,KAAuB,CAAE,CACvC,IAAQC,UAA2CD,MAA3CC,UAAWC,SAAgCF,MAAhCE,SAAUC,SAAsBH,MAAtBG,SAAaC,8BAASJ,OAA3CC,YAAWC,WAAUC,aAC7B,IAAME,WAAaJ,CAAAA,kBAAAA,mBAAAA,KAAAA,EAAAA,UAAWK,aAAa,CAAC,WAAYC,SAASD,aAAa,CAAC,QAE/EE,CAAAA,OAAOC,UAAU,CAAG,oCACfL,OACHH,UAAWI,aAEb,GAAIT,UAAY,GAAI,CAClB,GAAIc,YAAYC,UAAU,GAAK,MAAO,CACpCH,OAAOI,YAAY,CAAGlB,aAAamB,WAAW,CAC5CR,WACA,oBAACf,KAAIY,SAAUA,SAAUC,SAAUA,WAEvC,KAAO,CACLK,OAAOI,YAAY,CAAGlB,aAAaoB,UAAU,CAACT,YAC9CG,OAAOI,YAAY,CAACb,MAAM,CAAC,oBAACT,KAAIY,SAAUA,SAAUC,SAAUA,WAChE,CAAC,AACH,KAAO,CACL,IAAMY,YAAcC,OAAOC,GAAG,CAAGvB,aAAaK,MAAM,CAAGL,aAAawB,OAAO,CAE3EH,YAAY,oBAACzB,KAAIY,SAAUA,SAAUC,SAAUA,WAAcE,WAC/D,CAAC,AACH,CAEA,GAAI,CAACG,OAAOW,sBAAsB,CAAE,CAClCpB,OAAO,CAAC,EACV,CAAC,AAED,gBAAsBqB,mBAAAA,iCAIrB,SAJqBA,aAAAA,WAAf,kBAAA,UAA0C,0CAC/C,GAAI/B,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU6B,SAAS,EAAG,CACnC7B,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU6B,SAAS,EACrB,CAAC,WACH,UAJsBA,iCAOtB,gBAAsBC,QAAQrB,KAAU,SAAlBqB,+BAarB,SAbqBA,WAAAA,SAAf,kBAAA,SAAuBrB,KAAU,CAAiB,KAI/CC,UAKAI,oDARR,GAAIhB,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU8B,OAAO,EAAG,CACjC9B,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAU8B,OAAO,CAACrB,MACpB,CAAC,AACOC,UAAcD,MAAdC,UAER,GAAIL,UAAY,GAAI,CAClBY,OAAOI,YAAY,CAACS,OAAO,EAC7B,KAAO,CACChB,WAAaJ,CAAAA,kBAAAA,mBAAAA,KAAAA,EAAAA,UAAWK,aAAa,CAAC,WAAYC,SAASD,aAAa,CAAC,SAE/EZ,aAAa4B,sBAAsB,CAACjB,WACtC,CAAC,WACH,UAbsBgB,+BAgBtB,gBAAsBE,MAAMvB,KAAU,SAAhBuB,6BAKrB,SALqBA,SAAAA,OAAf,kBAAA,SAAqBvB,KAAU,CAAiB,0CACrD,GAAIX,WAAWE,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUgC,KAAK,EAAG,CAC/BhC,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUgC,KAAK,CAACvB,MAClB,CAAC,AACDD,OAAOC,kBACT,UALsBuB"}
@@ -1,6 +1,6 @@
1
1
  import './public-path';
2
2
  import '../../utils/env';
3
3
  import '../../utils/refresh-rem';
4
- import '../../styles/index.global.less';
4
+ import '../../styles/normalize.css';
5
5
  declare const bootstrap: typeof import("./bootstrap").bootstrap, mount: typeof import("./bootstrap").mount, unmount: typeof import("./bootstrap").unmount;
6
6
  export { bootstrap, mount, unmount };
@@ -1,2 +1,2 @@
1
- import"./public-path";import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/index.global.less";var _ref=await import("./bootstrap"),bootstrap=_ref.bootstrap,mount=_ref.mount,unmount=_ref.unmount;export{bootstrap,mount,unmount};
1
+ import"./public-path";import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/normalize.css";var _ref=await import("./bootstrap"),bootstrap=_ref.bootstrap,mount=_ref.mount,unmount=_ref.unmount;export{bootstrap,mount,unmount};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/single-spa/index.ts"],"sourcesContent":["import './public-path';\nimport '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/index.global.less';\n\nconst { bootstrap, mount, unmount } = await import('./bootstrap');\n\nexport { bootstrap, mount, unmount };\n"],"names":["bootstrap","mount","unmount"],"mappings":"AAAA,MAAO,eAAgB,AACvB,OAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,gCAAiC,CAExC,IAAsC,KAAA,MAAM,MAAM,CAAC,eAA3CA,UAA8B,KAA9BA,UAAWC,MAAmB,KAAnBA,MAAOC,QAAY,KAAZA,OAE1B,QAASF,SAAS,CAAEC,KAAK,CAAEC,OAAO,CAAG"}
1
+ {"version":3,"sources":["../../../src/packages/single-spa/index.ts"],"sourcesContent":["import './public-path';\nimport '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/normalize.css';\n\nconst { bootstrap, mount, unmount } = await import('./bootstrap');\n\nexport { bootstrap, mount, unmount };\n"],"names":["bootstrap","mount","unmount"],"mappings":"AAAA,MAAO,eAAgB,AACvB,OAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,4BAA6B,CAEpC,IAAsC,KAAA,MAAM,MAAM,CAAC,eAA3CA,UAA8B,KAA9BA,UAAWC,MAAmB,KAAnBA,MAAOC,QAAY,KAAZA,OAE1B,QAASF,SAAS,CAAEC,KAAK,CAAEC,OAAO,CAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/site/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAEA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACjB,WAAUD,OAAQA,WAK7B,CAEA,gBAAeiB,GAAI"}
1
+ {"version":3,"sources":["../../../src/packages/site/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,CAEpD,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASH,WACT,KAAM,AACR,KAAK,UACL,QACEG,OAASJ,cACT,KAAM,AACV,CAEA,IAAMO,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGX,MAAMY,QAAQ,CAC7E,IAAIC,YAAqCb,MAAMY,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACjB,WAAUD,OAAQA,WAK7B,CAEA,gBAAeiB,GAAI"}
@@ -1,5 +1,5 @@
1
1
  import '../../utils/env';
2
2
  import '../../utils/refresh-rem';
3
- import '../../styles/index.global.less';
3
+ import '../../styles/normalize.css';
4
4
  declare const bootstrap: typeof import("./bootstrap");
5
5
  export default bootstrap;
@@ -1,2 +1,2 @@
1
- import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/index.global.less";var bootstrap=await import("./bootstrap");export default bootstrap;
1
+ import"../../utils/env";import"../../utils/refresh-rem";import"../../styles/normalize.css";var bootstrap=await import("./bootstrap");export default bootstrap;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/packages/site/index.ts"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/index.global.less';\n\nconst bootstrap = await import('./bootstrap');\n\nexport default bootstrap;\n"],"names":["bootstrap"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,gCAAiC,CAExC,IAAMA,UAAY,MAAM,MAAM,CAAC,cAE/B,gBAAeA,SAAU"}
1
+ {"version":3,"sources":["../../../src/packages/site/index.ts"],"sourcesContent":["import '../../utils/env';\nimport '../../utils/refresh-rem';\nimport '../../styles/normalize.css';\n\nconst bootstrap = await import('./bootstrap');\n\nexport default bootstrap;\n"],"names":["bootstrap"],"mappings":"AAAA,MAAO,iBAAkB,AACzB,OAAO,yBAA0B,AACjC,OAAO,4BAA6B,CAEpC,IAAMA,UAAY,MAAM,MAAM,CAAC,cAE/B,gBAAeA,SAAU"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/prefix/react-router-dom.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nconst ReactRouterDom = require('react-router-dom');\nconst useNavigate = require('../hooks/navgate').default;\nconst { useNavigate: useNavigateReactRouter, ...other } = ReactRouterDom;\n\nmodule.exports = {\n useNavigateForReactRouter: useNavigateReactRouter,\n useNavigate: useNavigate,\n ...other,\n};\n"],"names":["ReactRouterDom","require","useNavigate","default","useNavigateReactRouter","other","module","exports","useNavigateForReactRouter"],"mappings":"AACA,qyCAAA,IAAMA,eAAiBC,QAAQ,oBAC/B,IAAMC,YAAcD,QAAQ,oBAAoBE,OAAO,CACvD,IAAQD,AAAaE,uBAAqCJ,eAAlDE,YAAwCG,+BAAUL,gBAAlDE,eAERI,CAAAA,OAAOC,OAAO,CAAG,eACfC,0BAA2BJ,uBAC3BF,YAAaA,aACVG"}
1
+ {"version":3,"sources":["../../src/prefix/react-router-dom.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nconst ReactRouterDom = require('react-router-dom');\nconst useNavigate = require('../hooks/navgate').default;\nconst { useNavigate: useNavigateReactRouter, ...other } = ReactRouterDom;\n\nmodule.exports = {\n useNavigateForReactRouter: useNavigateReactRouter,\n useNavigate: useNavigate,\n ...other,\n};\n"],"names":["ReactRouterDom","require","useNavigate","default","useNavigateReactRouter","other","module","exports","useNavigateForReactRouter"],"mappings":"qyCACA,IAAMA,eAAiBC,QAAQ,oBAC/B,IAAMC,YAAcD,QAAQ,oBAAoBE,OAAO,CACvD,IAAQD,AAAaE,uBAAqCJ,eAAlDE,YAAwCG,+BAAUL,gBAAlDE,eAERI,CAAAA,OAAOC,OAAO,CAAG,eACfC,0BAA2BJ,uBAC3BF,YAAaA,aACVG"}
@@ -1,7 +1,7 @@
1
- import { type ReactElement, type ReactNode } from 'react';
2
- import type { RouteObject } from 'react-router-dom';
1
+ import { type ReactNode } from 'react';
3
2
  import type { KeepAliveProps } from 'react-activation';
4
- export interface RouterProps extends Omit<RouteObject, 'index' | 'children'> {
3
+ type Any = any;
4
+ export interface RouterProps {
5
5
  key: string;
6
6
  alive?: KeepAliveProps | boolean;
7
7
  icon?: ReactNode;
@@ -12,13 +12,31 @@ export interface RouterProps extends Omit<RouteObject, 'index' | 'children'> {
12
12
  onlyLogin?: boolean;
13
13
  root?: boolean;
14
14
  path?: string;
15
- element?: ReactElement;
16
- fallback?: ReactElement;
15
+ element?: ReactNode;
16
+ fallback?: ReactNode;
17
17
  /** 可否关闭标签 */
18
18
  closable?: boolean;
19
19
  children?: RouterProps[];
20
+ props?: {
21
+ path: string;
22
+ components?: Record<string, (p: Any) => ReactNode>;
23
+ [key: string]: Any;
24
+ };
20
25
  }
21
- export declare const myPkgs: RouterProps[];
26
+ export declare const lazyImport: (filePath: string) => import("react").LazyExoticComponent<import("react").ComponentType<any>>;
27
+ export interface ExampleModule {
28
+ soucre: string;
29
+ title?: string;
30
+ }
31
+ export type MyPkg = RouterProps & {
32
+ type: string;
33
+ title: string;
34
+ subtitle?: string;
35
+ icon?: string;
36
+ };
37
+ export declare const myPkgs: MyPkg[];
38
+ export declare const myDemoKv: Record<string, ExampleModule[]>;
22
39
  export declare const onlyLoginRouter: RouterProps[];
23
40
  export declare const router: RouterProps[];
24
41
  export declare const matchUtil: (pathname: string) => RouterProps;
42
+ export {};
@@ -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 _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 _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{lazyImport}from"../utils/lazy-import";import{pathToRegexp}from"path-to-regexp";import{createElement,lazy}from"react";export var myPkgs=[];if(APPTYPE==="library"){var models=require.context("@pkg/",true,/README\.mdx?$/,"lazy");models.keys().map(function(item){var key=item.substring(2).split("/").slice(0,-1).join("/");myPkgs.push({key:key,path:key,element:createElement(lazy(function(){return import("@pkg/"+key+"/"+"README.mdx")}))})})}var list=[];try{list=require("@/router").default}catch(error){console.info("自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]")}var predixKey=function(path,prev){return[prev==="*"&&path!=="*"?undefined:prev,path].filter(Boolean).join("/")};var models1=require.context("@/pages/",true,/\.(t|j)sx$/,"lazy");var pathToTree=function(input){var root=[];for(var i=0;i<input.length;i++){var chain=input[i].split("/").slice(0,-1);var curr=root;for(var j=0;j<chain.length;j++){var pathRule=chain[j];if(pathRule==="")continue;if(pathRule===".")pathRule="*";var lastHierarchy=curr;if(Array.isArray(curr)){for(var k=0;k<curr.length;k++){if(curr[k].path===pathRule){curr=curr[k].children;break}}}if(lastHierarchy===curr){var key=j===chain.length-1?input[i]:chain.slice(0,j+1).join("/")+"/";key=key.substring(2,key.lastIndexOf("/"));var node={key:key,path:pathRule,i18n:"route-"+key,children:[],alive:false,element:createElement(lazyImport(key.replace(/:/g,"$"))),hideMenu:key.includes(":")};if(Array.isArray(curr))curr.push(node);curr=node.children}}}return root};var routers=pathToTree(models1.keys().map(function(item){return item.replace(/\$/g,":")}));function merge(source,child,prev){var _=source.find(function(item){return item.path===child.path});if(!_){source.push(child)}else{_.key=predixKey(_.path,prev);if(typeof _.i18n==="undefined"){_.i18n="route-"+_.key}if(typeof _.alive==="undefined"){_.alive=false}if(typeof _.element==="undefined"&&child.element){_.element=child.element}if(typeof _.hideMenu==="undefined"){_.hideMenu=_.path==="*"?true:_.key.includes(":")}Object.assign(_,_objectSpread({},child,_));if(child.children){var _child_children;if(!_.children&&Array.isArray(child.children)){_.children=child.children}(_child_children=child.children)===null||_child_children===void 0?void 0:_child_children.forEach(function(childData){merge(_===null||_===void 0?void 0:_.children,childData,_===null||_===void 0?void 0:_.key)})}}}var findLogin=function(){var rs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],onlyLogin=arguments.length>1?arguments[1]:void 0,prevKey=arguments.length>2?arguments[2]:void 0;return rs.map(function(e){var _=_objectSpread({},e);if(typeof _.key==="undefined"){_.key=predixKey(e.path,prevKey)}if(typeof _.i18n==="undefined"){_.i18n="route-"+_.key}if(typeof _.alive==="undefined"){_.alive=false}if(_.path==="*"&&typeof _.hideMenu==="undefined"){_.hideMenu=true}if(Array.isArray(_.children)){_.children=_.children.length?findLogin(_.children,onlyLogin,_.key):undefined}if(!_.element){_.element=createElement(lazyImport(_.key.replace(/:/g,"$")))}return!!_.onlyLogin===onlyLogin&&!_.root?null:_}).filter(Boolean)};var _router=_toConsumableArray(list);routers.forEach(function(item){return merge(_router,item)});export var onlyLoginRouter=findLogin(_router,false);export var router=findLogin(_router,true);export var matchUtil=function(pathname){var p={key:""};var findPath=function(rs){rs.forEach(function(item){if(item.path&&item.path!=="*"&&item.key){try{if(pathToRegexp(item.key).exec(pathname.substring(1))){p=item;return}}catch(error){}}if(Array.isArray(item.children))findPath(item.children)})};findPath(router);return p};
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 _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{pathToRegexp}from"path-to-regexp";import{createElement,lazy}from"react";export var lazyImport=function(filePath){return lazy(function(){return import("@/pages/"+filePath.replace(/:/g,"$").replace(/^\//,""))})};export var myPkgs=[];export var myDemoKv={};if(APPTYPE==="library"){var _models_keys,_allDemo_keys;var models=require.context("@pkg/",true,/README\.mdx?$/);var Code=require("@/components/code").default;var Box=require("@/components/box").default;var Snapshot=require("@/components/snapshot").default;var mdxComponents={};try{mdxComponents=require("@/components/mdx-components").default}catch(error){}var pkgs=require("@pkg");(_models_keys=models.keys())===null||_models_keys===void 0?void 0:_models_keys.forEach(function(item){var key=item.substring(2).split("/").slice(0,-1).join("/");var _models=models(item),basic=_models.basic,Child=_models.default;var heading=function(p,level){return createElement("h".concat(level),_objectSpread({"data-prefix":"# ",role:"heading","aria-level":level},p))};myPkgs.push(_objectSpreadProps(_objectSpread({key:key,path:key,element:Child},basic),{props:{components:_objectSpread({h1:function(p){return heading(p,1)},h2:function(p){return heading(p,2)},h3:function(p){return heading(p,3)},h4:function(p){return heading(p,4)},h5:function(p){return heading(p,5)},h6:function(p){return heading(p,6)},pre:function(p){var c=createElement("code",p);if(p.className){return createElement(Code,{lang:p.className.replace("language-","").replace(/ .*$/,"")},c)}return c},Box:Box,Code:Code,Snapshot:Snapshot},pkgs,mdxComponents),path:key}}))});var allDemo=require.context("@pkg/",true,/\/examples\/(.+)\.mdx$/);(_allDemo_keys=allDemo.keys())===null||_allDemo_keys===void 0?void 0:_allDemo_keys.forEach(function(e){var _arr_pop;var k=e.substring(2),arr=k.split("/"),name=arr[0];if(!Array.isArray(myDemoKv[name])){myDemoKv[name]=[]}myDemoKv[name].push({soucre:require("@pkg/"+k),title:(_arr_pop=arr.pop())===null||_arr_pop===void 0?void 0:_arr_pop.replace(/\.mdx$/,"")})})}var list=[];try{list=require("@/router").default}catch(error){console.info("自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]",error)}var predixKey=function(path,prev){return[prev==="*"&&path!=="*"?undefined:prev,path].filter(Boolean).join("/")};var models1=require.context("@/pages/",true,/\.(t|j)sx$/,"lazy");var pathToTree=function(input){var root=[];for(var i=0;i<input.length;i++){var chain=input[i].split("/").slice(0,-1);var curr=root;for(var j=0;j<chain.length;j++){var pathRule=chain[j];if(pathRule==="")continue;if(pathRule===".")pathRule="*";var lastHierarchy=curr;if(Array.isArray(curr)){for(var k=0;k<curr.length;k++){if(curr[k].path===pathRule){curr=curr[k].children;break}}}if(lastHierarchy===curr){var key=j===chain.length-1?input[i]:chain.slice(0,j+1).join("/")+"/";key=key.substring(2,key.lastIndexOf("/"));var node={key:key,path:pathRule,i18n:"route-"+key,children:[],alive:false,element:lazyImport(key),hideMenu:key.includes(":"),props:{path:key}};if(Array.isArray(curr))curr.push(node);curr=node.children}}}return root};var routers=pathToTree(models1.keys().map(function(item){return item.replace(/\$/g,":")}));function merge(source,child,prev){var _=source.find(function(item){return item.path===child.path});if(!_){source.push(child)}else{_.key=predixKey(_.path,prev);if(typeof _.i18n==="undefined"){_.i18n="route-"+_.key}if(typeof _.alive==="undefined"){_.alive=false}if(typeof _.element==="undefined"&&child.element){_.element=child.element;_.props=child.props}if(typeof _.hideMenu==="undefined"){_.hideMenu=_.path==="*"?true:_.key.includes(":")}Object.assign(_,_objectSpread({},child,_));if(child.children){var _child_children;if(!_.children&&Array.isArray(child.children)){_.children=child.children}(_child_children=child.children)===null||_child_children===void 0?void 0:_child_children.forEach(function(childData){merge(_===null||_===void 0?void 0:_.children,childData,_===null||_===void 0?void 0:_.key)})}}}var findLogin=function(){var rs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],onlyLogin=arguments.length>1?arguments[1]:void 0,prevKey=arguments.length>2?arguments[2]:void 0;return rs.map(function(e){var _=_objectSpread({},e);if(typeof _.key==="undefined"){_.key=predixKey(e.path,prevKey)}if(typeof _.i18n==="undefined"){_.i18n="route-"+_.key}if(typeof _.alive==="undefined"){_.alive=false}if(_.path==="*"&&typeof _.hideMenu==="undefined"){_.hideMenu=true}if(Array.isArray(_.children)){_.children=_.children.length?findLogin(_.children,onlyLogin,_.key):undefined}if(!_.element){_.element=lazyImport(_.key);_.props={path:_.key}}return!!_.onlyLogin===onlyLogin&&!_.root?null:_}).filter(Boolean)};var _router=_toConsumableArray(list);routers.forEach(function(item){return merge(_router,item)});export var onlyLoginRouter=findLogin(_router,false);export var router=findLogin(_router,true);export var matchUtil=function(pathname){var p={key:""};var findPath=function(rs){rs.forEach(function(item){if(item.path&&item.path!=="*"&&item.key){try{if(pathToRegexp(item.key).exec(pathname.substring(1))){p=item;return}}catch(error){}}if(Array.isArray(item.children))findPath(item.children)})};findPath(router);return p};
2
2
  //# sourceMappingURL=index.js.map