@moneko/core 2.0.0-beta.9 → 2.0.2

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 (88) hide show
  1. package/build/common.js +1 -1
  2. package/build/envFlags.d.ts +1 -1
  3. package/build/envFlags.js +1 -1
  4. package/build/minify.d.ts +1 -1
  5. package/build/modifyVars.js +1 -1
  6. package/build/module.config.js +1 -1
  7. package/build/process-env.d.ts +3 -1
  8. package/build/process-env.js +1 -1
  9. package/build/swcrc.js +1 -1
  10. package/build/tsloader.config.js +1 -1
  11. package/build/utils.d.ts +9 -6
  12. package/build/utils.js +1 -1
  13. package/build/webpack.common.js +1 -1
  14. package/build/webpack.dev.js +1 -1
  15. package/build/webpack.prod.js +1 -1
  16. package/lib/components/app-router/index.d.ts +3 -2
  17. package/lib/components/app-router/index.js +1 -1
  18. package/lib/components/app-router/index.js.map +1 -1
  19. package/lib/components/fallback/index.js +1 -1
  20. package/lib/components/fallback/index.js.map +1 -1
  21. package/lib/components/fallback-comp/index.js.map +1 -1
  22. package/lib/components/layout-menu/index.js.map +1 -1
  23. package/lib/hooks/navgate.js.map +1 -1
  24. package/lib/index.d.ts +4 -7
  25. package/lib/index.js +1 -1
  26. package/lib/index.js.map +1 -1
  27. package/lib/packages/back-stage/app.js +1 -1
  28. package/lib/packages/back-stage/app.js.map +1 -1
  29. package/lib/packages/back-stage/bootstrap.js +1 -1
  30. package/lib/packages/back-stage/bootstrap.js.map +1 -1
  31. package/lib/packages/back-stage/index.d.ts +1 -0
  32. package/lib/packages/back-stage/index.js +1 -1
  33. package/lib/packages/back-stage/index.js.map +1 -1
  34. package/lib/packages/back-stage/layout/index.js.map +1 -1
  35. package/lib/packages/back-stage/models/app-program.js.map +1 -1
  36. package/lib/packages/library/app.js +1 -1
  37. package/lib/packages/library/app.js.map +1 -1
  38. package/lib/packages/library/index.d.ts +1 -0
  39. package/lib/packages/library/index.js +1 -1
  40. package/lib/packages/library/index.js.map +1 -1
  41. package/lib/packages/mobile/app.js +1 -1
  42. package/lib/packages/mobile/app.js.map +1 -1
  43. package/lib/packages/mobile/index.d.ts +1 -0
  44. package/lib/packages/mobile/index.js +1 -1
  45. package/lib/packages/mobile/index.js.map +1 -1
  46. package/lib/packages/single-spa/app.js +1 -1
  47. package/lib/packages/single-spa/app.js.map +1 -1
  48. package/lib/packages/single-spa/bootstrap.js.map +1 -1
  49. package/lib/packages/single-spa/index.d.ts +1 -0
  50. package/lib/packages/single-spa/index.js +1 -1
  51. package/lib/packages/single-spa/index.js.map +1 -1
  52. package/lib/packages/site/app.js +1 -1
  53. package/lib/packages/site/app.js.map +1 -1
  54. package/lib/packages/site/index.d.ts +1 -0
  55. package/lib/packages/site/index.js +1 -1
  56. package/lib/packages/site/index.js.map +1 -1
  57. package/lib/prefix/react-router-dom.js.map +1 -1
  58. package/lib/router/index.d.ts +26 -7
  59. package/lib/router/index.js +1 -1
  60. package/lib/router/index.js.map +1 -1
  61. package/lib/styles/animation.css +58 -0
  62. package/lib/styles/normalize.css +261 -0
  63. package/lib/styles/variables.css +40 -0
  64. package/lib/utils/index.d.ts +1 -2
  65. package/lib/utils/index.js +1 -1
  66. package/lib/utils/index.js.map +1 -1
  67. package/lib/utils/variables.d.ts +20 -0
  68. package/lib/utils/variables.js +2 -0
  69. package/lib/utils/variables.js.map +1 -0
  70. package/package.json +26 -21
  71. package/typings/global.d.ts +31 -11
  72. package/build/has-antd.d.ts +0 -2
  73. package/build/has-antd.js +0 -1
  74. package/lib/styles/animation.d.ts +0 -5
  75. package/lib/styles/animation.js +0 -2
  76. package/lib/styles/animation.js.map +0 -1
  77. package/lib/styles/normalize.d.ts +0 -2
  78. package/lib/styles/normalize.js +0 -2
  79. package/lib/styles/normalize.js.map +0 -1
  80. package/lib/styles/vars.d.ts +0 -4
  81. package/lib/styles/vars.js +0 -2
  82. package/lib/styles/vars.js.map +0 -1
  83. package/lib/utils/lazy-import.d.ts +0 -22
  84. package/lib/utils/lazy-import.js +0 -2
  85. package/lib/utils/lazy-import.js.map +0 -1
  86. package/lib/utils/theme.d.ts +0 -13
  87. package/lib/utils/theme.js +0 -2
  88. package/lib/utils/theme.js.map +0 -1
@@ -1,25 +1,32 @@
1
1
  /* eslint-disable no-unused-vars */
2
2
  import type { Options } from 'ts-import-plugin';
3
- import type { RuleSetRule, WebpackPluginInstance, Configuration, CleanPlugin } from 'webpack';
3
+ import type { RuleSetRule, WebpackPluginInstance, Configuration } from 'webpack';
4
4
  import type { ProxyArray, ProxyConfigArray, ProxyConfigMap } from 'webpack-dev-server';
5
5
  import type { JsMinifyOptions } from '@swc/core';
6
6
  import type { MinifyOptions } from 'terser';
7
7
  import { Options as AssetHtmlOptions } from 'add-asset-html-webpack-plugin';
8
8
  import { Options as HtmlWebpackPluginOptions } from 'html-webpack-plugin';
9
+ import type { WebpackConfiguration } from 'webpack-dev-server';
10
+ import type { Config as SwcConfig } from '@swc/core';
11
+ import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
9
12
 
10
13
  export type MinifierType = 'swc' | 'terser';
11
- export declare type AppType = 'mobile' | 'site' | 'back-stage' | 'single-spa' | 'library';
14
+ export declare type AppType =
15
+ | 'single-component'
16
+ | 'mobile'
17
+ | 'site'
18
+ | 'back-stage'
19
+ | 'single-spa'
20
+ | 'library';
12
21
  export type TerserOptions = MinifyOptions;
13
22
  export type SwcOptions = JsMinifyOptions;
14
23
  export declare type ConfigType<T = 'tsc'> = {
15
- clean: boolean | CleanPlugin['options'];
16
24
  /** 渲染模式 */
17
25
  mode: 'ssr' | 'csr';
18
26
  /** 编译器 */
19
27
  compiler: 'tsc' | 'swc';
20
28
  /** swc 配置项,仅当编译器为 swc 时有效 */
21
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
- swcrc?: Record<string, any> | ((isDev: boolean) => Record<string, any>);
29
+ swcrc?: SwcConfig | ((isDev: boolean) => SwcConfig);
23
30
  /**
24
31
  * 自定义entry
25
32
  * 当你需要添加一些polyfill函数时可在这里添加
@@ -70,11 +77,6 @@ export declare type ConfigType<T = 'tsc'> = {
70
77
  fallbackCompPath?: string | null;
71
78
  /** less 全局变量 */
72
79
  modifyVars: Record<string, string>;
73
- /** antd 主题配置 */
74
- antdThemeVariables: {
75
- compact?: boolean;
76
- dark?: boolean;
77
- };
78
80
  /** 类名前缀 */
79
81
  prefixCls?: string;
80
82
  /** 左侧菜单栏, 不需要时设置为 false, 仅 type: back-stage 时有效 */
@@ -86,6 +88,23 @@ export declare type ConfigType<T = 'tsc'> = {
86
88
  };
87
89
  /** 自定义 webpack module rules */
88
90
  moduleRules: RuleSetRule[];
91
+ /** 解析js/ts前置的loader
92
+ * @example
93
+ * ```js
94
+ * const conf: PartialConfigType = {
95
+ * compiler: 'tsc',
96
+ * prefixJsLoader: [
97
+ * {
98
+ * loader: 'babel-loader',
99
+ * options: {
100
+ * presets: ['solid'],
101
+ * },
102
+ * },
103
+ * ],
104
+ * };
105
+ * ```
106
+ * */
107
+ prefixJsLoader: RuleSetRule['use'][];
89
108
  /** node_modules中, 需要开启 cssModules 的模块 */
90
109
  cssModules: string[];
91
110
  /** 按需引入 */
@@ -131,7 +150,7 @@ export declare type ConfigType<T = 'tsc'> = {
131
150
  /** 通过Web字体加载加载的字体 */
132
151
  webFontLoader: string[];
133
152
  /** 编译输出路径 */
134
- output: string;
153
+ output?: Omit<WebpackConfiguration['output'], 'publishPath'> | string;
135
154
  /** 模块联邦 */
136
155
  moduleFederation: ModuleFederationOption[];
137
156
  /** 跳过编译的模块 */
@@ -143,6 +162,7 @@ export declare type ConfigType<T = 'tsc'> = {
143
162
  media?: string[];
144
163
  fonts?: string[];
145
164
  };
165
+ bundleAnalyzer: BundleAnalyzerPlugin.Options;
146
166
  };
147
167
  export declare interface ModuleFederationOption {
148
168
  /** 模块名称,唯一性,不能重名 */
@@ -1,2 +0,0 @@
1
- export declare let HASANTD: boolean;
2
- export declare const antdThemeVariables: {};
package/build/has-antd.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{HASANTD:function(){return HASANTD},antdThemeVariables:function(){return antdThemeVariables}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _processEnv=require("./process-env");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HASANTD=false;var antdThemeVariables={};try{var antdPath=_path.default.join(_processEnv.PROGRAMPATH,"./node_modules/antd/package.json");_fs.default.accessSync(antdPath,_fs.default.constants.R_OK);HASANTD=true}catch(error){HASANTD=false}
@@ -1,5 +0,0 @@
1
- export declare const routeInKeyframes: import("@emotion/serialize").Keyframes;
2
- export declare const routeOutKeyframes: import("@emotion/serialize").Keyframes;
3
- export declare const fadeInKeyframes: import("@emotion/serialize").Keyframes;
4
- export declare const fadeOutKeyframes: import("@emotion/serialize").Keyframes;
5
- export declare const avatarInKeyframes: import("@emotion/serialize").Keyframes;
@@ -1,2 +0,0 @@
1
- function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0)}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}function _templateObject(){var data=_taggedTemplateLiteral(["\n from {\n transform: translate3d(0, 16px, 0);\n opacity: 0;\n }\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n"]);_templateObject=function _templateObject(){return data};return data}function _templateObject1(){var data=_taggedTemplateLiteral(["\n from {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n to {\n z-index: -1;\n transform: translate3d(0, 1rem, 0);\n opacity: 0;\n }\n"]);_templateObject1=function _templateObject1(){return data};return data}function _templateObject2(){var data=_taggedTemplateLiteral(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"]);_templateObject2=function _templateObject2(){return data};return data}function _templateObject3(){var data=_taggedTemplateLiteral(["\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n"]);_templateObject3=function _templateObject3(){return data};return data}function _templateObject4(){var data=_taggedTemplateLiteral(["\n 0% {\n transform: scale(30);\n }\n 20% {\n transform: scale(30);\n }\n 100% {\n transform: scale(1);\n }\n"]);_templateObject4=function _templateObject4(){return data};return data}import{keyframes}from"@emotion/react";export var routeInKeyframes=keyframes(_templateObject());export var routeOutKeyframes=keyframes(_templateObject1());export var fadeInKeyframes=keyframes(_templateObject2());export var fadeOutKeyframes=keyframes(_templateObject3());export var avatarInKeyframes=keyframes(_templateObject4());
2
- //# sourceMappingURL=animation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/styles/animation.ts"],"sourcesContent":["import { keyframes } from '@emotion/react';\n\nexport const routeInKeyframes = keyframes`\n from {\n transform: translate3d(0, 16px, 0);\n opacity: 0;\n }\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n`;\nexport const routeOutKeyframes = keyframes`\n from {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n to {\n z-index: -1;\n transform: translate3d(0, 1rem, 0);\n opacity: 0;\n }\n`;\nexport const fadeInKeyframes = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\nexport const fadeOutKeyframes = keyframes`\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n`;\nexport const avatarInKeyframes = keyframes`\n 0% {\n transform: scale(30);\n }\n 20% {\n transform: scale(30);\n }\n 100% {\n transform: scale(1);\n }\n`;\n"],"names":["keyframes","routeInKeyframes","routeOutKeyframes","fadeInKeyframes","fadeOutKeyframes","avatarInKeyframes"],"mappings":"AAAA,o3CAAA,OAASA,SAAS,KAAQ,gBAAiB,AAE3C,QAAO,IAAMC,iBAAmBD,4BAS9B,AACF,QAAO,IAAME,kBAAoBF,6BAU/B,AACF,QAAO,IAAMG,gBAAkBH,6BAO7B,AACF,QAAO,IAAMI,iBAAmBJ,6BAO9B,AACF,QAAO,IAAMK,kBAAoBL,6BAU/B"}
@@ -1,2 +0,0 @@
1
- declare const normalizeCss: import("@emotion/utils").SerializedStyles;
2
- export default normalizeCss;
@@ -1,2 +0,0 @@
1
- function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0)}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}function _templateObject(){var data=_taggedTemplateLiteral(["\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n body {\n margin: 0;\n }\n main {\n display: block;\n }\n h1 {\n font-size: 2em;\n margin: 0.67em 0;\n }\n hr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n pre {\n font-family: monospace;\n font-size: 1em;\n }\n a {\n background-color: transparent;\n text-decoration: none;\n cursor: pointer;\n }\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp {\n font-family: monospace;\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n img {\n border-style: none;\n }\n img,\n button {\n /* 消除锯齿 */\n outline: 1px solid transparent;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n button,\n input {\n overflow: visible;\n }\n button,\n select {\n text-transform: none;\n }\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: button;\n }\n button::-moz-focus-inner,\n [type='button']::-moz-focus-inner,\n [type='reset']::-moz-focus-inner,\n [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n button:-moz-focusring,\n [type='button']:-moz-focusring,\n [type='reset']:-moz-focusring,\n [type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n progress {\n vertical-align: baseline;\n }\n textarea {\n overflow: auto;\n }\n [type='checkbox'],\n [type='radio'] {\n box-sizing: border-box;\n padding: 0;\n }\n [type='number']::-webkit-inner-spin-button,\n [type='number']::-webkit-outer-spin-button {\n height: auto;\n }\n [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n details {\n display: block;\n }\n summary {\n display: list-item;\n }\n template {\n display: none;\n }\n [hidden] {\n display: none;\n }\n"]);_templateObject=function _templateObject(){return data};return data}import{css}from"@emotion/react";var normalizeCss=css(_templateObject());export default normalizeCss;
2
- //# sourceMappingURL=normalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/styles/normalize.ts"],"sourcesContent":["import { css } from '@emotion/react';\n\nconst normalizeCss = css`\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n body {\n margin: 0;\n }\n main {\n display: block;\n }\n h1 {\n font-size: 2em;\n margin: 0.67em 0;\n }\n hr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n pre {\n font-family: monospace;\n font-size: 1em;\n }\n a {\n background-color: transparent;\n text-decoration: none;\n cursor: pointer;\n }\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp {\n font-family: monospace;\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n img {\n border-style: none;\n }\n img,\n button {\n /* 消除锯齿 */\n outline: 1px solid transparent;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n button,\n input {\n overflow: visible;\n }\n button,\n select {\n text-transform: none;\n }\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: button;\n }\n button::-moz-focus-inner,\n [type='button']::-moz-focus-inner,\n [type='reset']::-moz-focus-inner,\n [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n button:-moz-focusring,\n [type='button']:-moz-focusring,\n [type='reset']:-moz-focusring,\n [type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n progress {\n vertical-align: baseline;\n }\n textarea {\n overflow: auto;\n }\n [type='checkbox'],\n [type='radio'] {\n box-sizing: border-box;\n padding: 0;\n }\n [type='number']::-webkit-inner-spin-button,\n [type='number']::-webkit-outer-spin-button {\n height: auto;\n }\n [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n details {\n display: block;\n }\n summary {\n display: list-item;\n }\n template {\n display: none;\n }\n [hidden] {\n display: none;\n }\n`;\n\nexport default normalizeCss;\n"],"names":["css","normalizeCss"],"mappings":"AAAA,6/FAAA,OAASA,GAAG,KAAQ,gBAAiB,CAErC,IAAMC,aAAeD,sBA6JrB,gBAAeC,YAAa"}
@@ -1,4 +0,0 @@
1
- export declare const rootVariables: import("@emotion/utils").SerializedStyles;
2
- export declare const globalStyles: import("@emotion/utils").SerializedStyles;
3
- export declare const rootStyle: import("@emotion/utils").SerializedStyles;
4
- export declare const menuDarkBg = "#1C222E";
@@ -1,2 +0,0 @@
1
- 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 _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 _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0)}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}function _templateObject(){var data=_taggedTemplateLiteral(["\n :root {\n --text-shadow-color: rgba(0, 0, 0, 0.1);\n --font-size-base: 14px;\n --border-color-base: #d9d9d9;\n --border-radius-base: 4px;\n --body-background: #f8f8f8;\n --component-background: #fff;\n --table-header-bg: rgba(0, 0, 0, 0.02);\n --text-color: rgba(0, 0, 0, 0.65);\n --text-color-secondary: rgba(0, 0, 0, 0.45);\n --heading-color: rgba(0, 0, 0, 0.85);\n --text-selection-bg: var(--primary-color-deprecated-bg);\n --box-shadow-small: 0 0 12px rgba(0, 0, 0, 0.1);\n --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji', 'Helvetica', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans';\n --transition-duration: 0.3;\n --transition-timing-function: cubic-bezier(0.94, -0.1, 0.1, 1.2);\n --antd-wave-shadow-color: var(--primary-color-outline);\n --disable-color: rgba(0, 0, 0, 0.25);\n --btn-disable-bg: var(--disable-color);\n --btn-disable-border: var(--disable-color);\n --menu-dark-item-active-bg: #0e3ab3;\n ","\n }\n [data-theme='dark'] {\n --text-selection-bg: var(--primary-color-deprecated-bg);\n --text-color-secondary: rgba(255, 255, 255, 0.25);\n --text-shadow-color: rgba(255, 255, 255, 0.1);\n --header-shadow: rgba(255, 255, 255, 0.05);\n --body-background: #000;\n --component-background: #141414;\n --header-bg: rgba(20, 20, 20, 0.9);\n --text-color: #ffffffd9;\n --border-color-base: #303030;\n --heading-color: rgba(255, 255, 255, 0.85);\n --disabled-color: rgba(255, 255, 255, 0.3);\n ","\n }\n"]);_templateObject=function _templateObject(){return data};return data}function _templateObject1(){var data=_taggedTemplateLiteral(["\n html,\n body {\n width: 100vw;\n height: 100vh;\n padding: 0;\n overflow: hidden;\n color: var(--text-color);\n font-size: var(--font-size-base);\n font-family: var(--font-family);\n line-height: 1.8;\n background-color: var(--body-background);\n transition-duration: var(--transition-duration);\n transition-property: background-color, color;\n transition-timing-function: var(--transition-timing-function);\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n input,\n textarea {\n caret-color: plum;\n }\n\n :-webkit-autofill,\n :-webkit-autofill:hover,\n :-webkit-autofill:focus {\n font-weight: 400;\n border: none;\n border-radius: 5px;\n box-shadow: 0 0 0 1000px transparent inset;\n transition: background-color var(--transition-duration) var(--transition-timing-function);\n -webkit-text-fill-color: var(--text-color);\n caret-color: transparent;\n }\n\n ::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n opacity: 0;\n }\n\n ::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: transparent;\n border-radius: 5px;\n }\n\n :hover::-webkit-scrollbar-thumb {\n background-color: rgba(78, 78, 78, 0.15);\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background-color: rgba(176, 139, 227, 0.5);\n }\n\n ::-webkit-scrollbar-thumb:active {\n background-color: rgba(247, 138, 224, 0.5);\n }\n\n ::-webkit-scrollbar-button {\n display: none;\n }\n\n .text-ellipsis,\n .text-ellipsis-2 {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .text-ellipsis {\n white-space: nowrap;\n }\n\n .text-ellipsis-2 {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n /*! autoprefixer: off */\n -webkit-box-orient: vertical;\n }\n\n .flex {\n display: flex;\n }\n\n .f-row {\n flex-direction: row;\n }\n\n .f-a-c {\n align-items: center;\n }\n\n .mr5 {\n margin-right: 5px;\n }\n\n .pos-r-0 {\n position: absolute;\n right: 0;\n }\n\n .login-toolbox {\n height: 64px;\n\n button {\n margin-right: 16px;\n }\n }\n"]);_templateObject1=function _templateObject1(){return data};return data}function _templateObject2(){var data=_taggedTemplateLiteral(["\n #root {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n -webkit-overflow-scrolling: touch;\n\n > main {\n display: block;\n flex: 1;\n width: 100%;\n overflow-y: auto;\n animation: "," var(--transition-duration);\n }\n }\n"]);_templateObject2=function _templateObject2(){return data};return data}import{css}from"@emotion/react";import{getColorPalette}from"../utils/theme";import{routeInKeyframes}from"./animation";var rootStatusColor=_objectSpread({},getColorPalette("normal","rgba(0, 0, 0, 0.85)","light","#fff"),getColorPalette("primary","#1890ff","light","#fff"),getColorPalette("success","#52c41a","light","#fff"),getColorPalette("warning","#faad14","light","#fff"),getColorPalette("error","#ff4d4f","light","#fff"));var rootStatusColorVariables="";Object.entries(rootStatusColor).forEach(function(e){rootStatusColorVariables+="".concat(e.join(": "),";\n")});var rootStatusColorDark=_objectSpread({},getColorPalette("normal","rgba(255, 255, 255, 0.85)","dark","#141414"),getColorPalette("primary","#177ddc","dark","#141414"),getColorPalette("success","#49aa19","dark","#141414"),getColorPalette("warning","#d89614","dark","#141414"),getColorPalette("error","#a61d24","dark","#141414"));var rootStatusColorDarkVariables="";Object.entries(rootStatusColorDark).forEach(function(e){rootStatusColorDarkVariables+="".concat(e.join(": "),";\n")});export var rootVariables=css(_templateObject(),rootStatusColorVariables,rootStatusColorDarkVariables);export var globalStyles=css(_templateObject1());export var rootStyle=css(_templateObject2(),routeInKeyframes);export var menuDarkBg="#1C222E";
2
- //# sourceMappingURL=vars.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/styles/vars.ts"],"sourcesContent":["import { css } from '@emotion/react';\nimport { getColorPalette } from '../utils/theme';\nimport { routeInKeyframes } from './animation';\n\nconst rootStatusColor = {\n ...getColorPalette('normal', 'rgba(0, 0, 0, 0.85)', 'light', '#fff'),\n ...getColorPalette('primary', '#1890ff', 'light', '#fff'),\n ...getColorPalette('success', '#52c41a', 'light', '#fff'),\n ...getColorPalette('warning', '#faad14', 'light', '#fff'),\n ...getColorPalette('error', '#ff4d4f', 'light', '#fff'),\n};\nlet rootStatusColorVariables = '';\n\nObject.entries(rootStatusColor).forEach((e) => {\n rootStatusColorVariables += `${e.join(': ')};\\n`;\n});\nconst rootStatusColorDark = {\n ...getColorPalette('normal', 'rgba(255, 255, 255, 0.85)', 'dark', '#141414'),\n ...getColorPalette('primary', '#177ddc', 'dark', '#141414'),\n ...getColorPalette('success', '#49aa19', 'dark', '#141414'),\n ...getColorPalette('warning', '#d89614', 'dark', '#141414'),\n ...getColorPalette('error', '#a61d24', 'dark', '#141414'),\n};\nlet rootStatusColorDarkVariables = '';\n\nObject.entries(rootStatusColorDark).forEach((e) => {\n rootStatusColorDarkVariables += `${e.join(': ')};\\n`;\n});\n\nexport const rootVariables = css`\n :root {\n --text-shadow-color: rgba(0, 0, 0, 0.1);\n --font-size-base: 14px;\n --border-color-base: #d9d9d9;\n --border-radius-base: 4px;\n --body-background: #f8f8f8;\n --component-background: #fff;\n --table-header-bg: rgba(0, 0, 0, 0.02);\n --text-color: rgba(0, 0, 0, 0.65);\n --text-color-secondary: rgba(0, 0, 0, 0.45);\n --heading-color: rgba(0, 0, 0, 0.85);\n --text-selection-bg: var(--primary-color-deprecated-bg);\n --box-shadow-small: 0 0 12px rgba(0, 0, 0, 0.1);\n --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji', 'Helvetica', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans';\n --transition-duration: 0.3;\n --transition-timing-function: cubic-bezier(0.94, -0.1, 0.1, 1.2);\n --antd-wave-shadow-color: var(--primary-color-outline);\n --disable-color: rgba(0, 0, 0, 0.25);\n --btn-disable-bg: var(--disable-color);\n --btn-disable-border: var(--disable-color);\n --menu-dark-item-active-bg: #0e3ab3;\n ${rootStatusColorVariables}\n }\n [data-theme='dark'] {\n --text-selection-bg: var(--primary-color-deprecated-bg);\n --text-color-secondary: rgba(255, 255, 255, 0.25);\n --text-shadow-color: rgba(255, 255, 255, 0.1);\n --header-shadow: rgba(255, 255, 255, 0.05);\n --body-background: #000;\n --component-background: #141414;\n --header-bg: rgba(20, 20, 20, 0.9);\n --text-color: #ffffffd9;\n --border-color-base: #303030;\n --heading-color: rgba(255, 255, 255, 0.85);\n --disabled-color: rgba(255, 255, 255, 0.3);\n ${rootStatusColorDarkVariables}\n }\n`;\n\nexport const globalStyles = css`\n html,\n body {\n width: 100vw;\n height: 100vh;\n padding: 0;\n overflow: hidden;\n color: var(--text-color);\n font-size: var(--font-size-base);\n font-family: var(--font-family);\n line-height: 1.8;\n background-color: var(--body-background);\n transition-duration: var(--transition-duration);\n transition-property: background-color, color;\n transition-timing-function: var(--transition-timing-function);\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n input,\n textarea {\n caret-color: plum;\n }\n\n :-webkit-autofill,\n :-webkit-autofill:hover,\n :-webkit-autofill:focus {\n font-weight: 400;\n border: none;\n border-radius: 5px;\n box-shadow: 0 0 0 1000px transparent inset;\n transition: background-color var(--transition-duration) var(--transition-timing-function);\n -webkit-text-fill-color: var(--text-color);\n caret-color: transparent;\n }\n\n ::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n opacity: 0;\n }\n\n ::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: transparent;\n border-radius: 5px;\n }\n\n :hover::-webkit-scrollbar-thumb {\n background-color: rgba(78, 78, 78, 0.15);\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background-color: rgba(176, 139, 227, 0.5);\n }\n\n ::-webkit-scrollbar-thumb:active {\n background-color: rgba(247, 138, 224, 0.5);\n }\n\n ::-webkit-scrollbar-button {\n display: none;\n }\n\n .text-ellipsis,\n .text-ellipsis-2 {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .text-ellipsis {\n white-space: nowrap;\n }\n\n .text-ellipsis-2 {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n /*! autoprefixer: off */\n -webkit-box-orient: vertical;\n }\n\n .flex {\n display: flex;\n }\n\n .f-row {\n flex-direction: row;\n }\n\n .f-a-c {\n align-items: center;\n }\n\n .mr5 {\n margin-right: 5px;\n }\n\n .pos-r-0 {\n position: absolute;\n right: 0;\n }\n\n .login-toolbox {\n height: 64px;\n\n button {\n margin-right: 16px;\n }\n }\n`;\nexport const rootStyle = css`\n #root {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n -webkit-overflow-scrolling: touch;\n\n > main {\n display: block;\n flex: 1;\n width: 100%;\n overflow-y: auto;\n animation: ${routeInKeyframes} var(--transition-duration);\n }\n }\n`;\n\nexport const menuDarkBg = '#1C222E';\n"],"names":["css","getColorPalette","routeInKeyframes","rootStatusColor","rootStatusColorVariables","Object","entries","forEach","e","join","rootStatusColorDark","rootStatusColorDarkVariables","rootVariables","globalStyles","rootStyle","menuDarkBg"],"mappings":"AAAA,kuKAAA,OAASA,GAAG,KAAQ,gBAAiB,AACrC,QAASC,eAAe,KAAQ,gBAAiB,AACjD,QAASC,gBAAgB,KAAQ,aAAc,CAE/C,IAAMC,gBAAkB,iBACnBF,gBAAgB,SAAU,sBAAuB,QAAS,QAC1DA,gBAAgB,UAAW,UAAW,QAAS,QAC/CA,gBAAgB,UAAW,UAAW,QAAS,QAC/CA,gBAAgB,UAAW,UAAW,QAAS,QAC/CA,gBAAgB,QAAS,UAAW,QAAS,SAElD,IAAIG,yBAA2B,GAE/BC,OAAOC,OAAO,CAACH,iBAAiBI,OAAO,CAAC,SAACC,EAAM,CAC7CJ,0BAA4B,AAAC,GAAe,OAAbI,EAAEC,IAAI,CAAC,MAAM,MAC9C,GACA,IAAMC,oBAAsB,iBACvBT,gBAAgB,SAAU,4BAA6B,OAAQ,WAC/DA,gBAAgB,UAAW,UAAW,OAAQ,WAC9CA,gBAAgB,UAAW,UAAW,OAAQ,WAC9CA,gBAAgB,UAAW,UAAW,OAAQ,WAC9CA,gBAAgB,QAAS,UAAW,OAAQ,YAEjD,IAAIU,6BAA+B,GAEnCN,OAAOC,OAAO,CAACI,qBAAqBH,OAAO,CAAC,SAACC,EAAM,CACjDG,8BAAgC,AAAC,GAAe,OAAbH,EAAEC,IAAI,CAAC,MAAM,MAClD,EAEA,QAAO,IAAMG,cAAgBZ,sBAwBvBI,yBAcAO,6BAEJ,AAEF,QAAO,IAAME,aAAeb,uBAgH1B,AACF,QAAO,IAAMc,UAAYd,uBAaNE,iBAGjB,AAEF,QAAO,IAAMa,WAAa,SAAU"}
@@ -1,22 +0,0 @@
1
- import { ComponentType, type ReactElement } from 'react';
2
- declare type SafeImportParams = {
3
- /** 文件路径 */
4
- filePath: string;
5
- /** 重试次数 默认:2 */
6
- retriesLeft?: number;
7
- /** 加载错误时的回调 */
8
- onError?: () => void;
9
- /** 降级 */
10
- fallback?: ReactElement;
11
- };
12
- export declare const safeImport: ({ filePath, retriesLeft, onError, fallback, }: SafeImportParams) => Promise<{
13
- default: ComponentType;
14
- }>;
15
- /**
16
- * 动态引入
17
- * @param {string} filePath 文件路径
18
- * @param {Function} onError 加载错误时的回调
19
- * @returns {Promise} LazyExoticComponent
20
- * */
21
- export declare const lazyImport: (filePath: string, onError?: () => void) => React.LazyExoticComponent<ComponentType>;
22
- export {};
@@ -1,2 +0,0 @@
1
- import{createElement,lazy}from"react";import{Outlet}from"react-router-dom";export var safeImport=function(param){var filePath=param.filePath,_param_retriesLeft=param.retriesLeft,retriesLeft=_param_retriesLeft===void 0?2:_param_retriesLeft,onError=param.onError,fallback=param.fallback;var filePaths=filePath.startsWith("/")?filePath.slice(1):filePath;return new Promise(function(resolve){return import("@/pages/"+filePaths).then(resolve).catch(function(){if(retriesLeft===1){if(onError){onError()}return Promise.resolve({default:fallback})}return safeImport({filePath:filePath,retriesLeft:retriesLeft-1,onError:onError,fallback:fallback})})})};export var lazyImport=function(filePath,onError){var filePaths=filePath.startsWith("/")?filePath.slice(1):filePath;return lazy(function(){return safeImport({filePath:filePath,onError:onError,fallback:createElement("div",{path:"pages/"+filePaths},createElement(Outlet))})})};
2
- //# sourceMappingURL=lazy-import.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/lazy-import.ts"],"sourcesContent":["import { ComponentType, createElement, lazy, type ReactElement } from 'react';\nimport { Outlet } from 'react-router-dom';\n\ntype SafeImportParams = {\n /** 文件路径 */\n filePath: string;\n /** 重试次数 默认:2 */\n retriesLeft?: number;\n /** 加载错误时的回调 */\n onError?: () => void;\n /** 降级 */\n fallback?: ReactElement;\n};\n\n// 安全的import\nexport const safeImport = ({\n filePath,\n retriesLeft = 2,\n onError,\n fallback,\n}: SafeImportParams): Promise<{\n default: ComponentType;\n}> => {\n const filePaths = filePath.startsWith('/') ? filePath.slice(1) : filePath;\n\n return new Promise((resolve) =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePaths\n )\n .then(resolve)\n .catch(() => {\n if (retriesLeft === 1) {\n if (onError) {\n onError();\n }\n return Promise.resolve({\n default: fallback as unknown as ComponentType,\n });\n }\n // 失败之后重载\n return safeImport({\n filePath,\n retriesLeft: retriesLeft - 1,\n onError,\n fallback,\n });\n })\n );\n};\n\n/**\n * 动态引入\n * @param {string} filePath 文件路径\n * @param {Function} onError 加载错误时的回调\n * @returns {Promise} LazyExoticComponent\n * */\nexport const lazyImport = (\n filePath: string,\n onError?: () => void\n): React.LazyExoticComponent<ComponentType> => {\n const filePaths = filePath.startsWith('/') ? filePath.slice(1) : filePath;\n\n return lazy(() =>\n safeImport({\n filePath,\n onError,\n fallback: createElement(\n 'div',\n {\n path: 'pages/' + filePaths,\n },\n createElement(Outlet)\n ),\n })\n );\n};\n"],"names":["createElement","lazy","Outlet","safeImport","filePath","retriesLeft","onError","fallback","filePaths","startsWith","slice","Promise","resolve","then","catch","default","lazyImport","path"],"mappings":"AAAA,OAAwBA,aAAa,CAAEC,IAAI,KAA2B,OAAQ,AAC9E,QAASC,MAAM,KAAQ,kBAAmB,AAc1C,QAAO,IAAMC,WAAa,eAOpB,KANJC,eAAAA,kCACAC,YAAAA,wCAAc,qBACdC,cAAAA,QACAC,eAAAA,SAIA,IAAMC,UAAYJ,SAASK,UAAU,CAAC,KAAOL,SAASM,KAAK,CAAC,GAAKN,QAAQ,CAEzE,OAAO,IAAIO,QAAQ,SAACC,gBAClB,MAAM,CAEJ,WAAaJ,WAEZK,IAAI,CAACD,SACLE,KAAK,CAAC,UAAM,CACX,GAAIT,cAAgB,EAAG,CACrB,GAAIC,QAAS,CACXA,SACF,CAAC,AACD,OAAOK,QAAQC,OAAO,CAAC,CACrBG,QAASR,QACX,EACF,CAAC,AAED,OAAOJ,WAAW,CAChBC,SAAAA,SACAC,YAAaA,YAAc,EAC3BC,QAAAA,QACAC,SAAAA,QACF,EACF,IAEN,CAAE,AAQF,QAAO,IAAMS,WAAa,SACxBZ,SACAE,QAC6C,CAC7C,IAAME,UAAYJ,SAASK,UAAU,CAAC,KAAOL,SAASM,KAAK,CAAC,GAAKN,QAAQ,CAEzE,OAAOH,KAAK,kBACVE,WAAW,CACTC,SAAAA,SACAE,QAAAA,QACAC,SAAUP,cACR,MACA,CACEiB,KAAM,SAAWT,SACnB,EACAR,cAAcE,QAElB,IAEJ,CAAE"}
@@ -1,13 +0,0 @@
1
- export declare const getColorPalette: (name: string, color: string, type?: 'light' | 'dark', bg?: string) => {
2
- [x: string]: string;
3
- };
4
- export declare type ThemeColorOptions<T = 'light' | 'dark'> = {
5
- primary?: string;
6
- warning?: string;
7
- error?: string;
8
- success?: string;
9
- componentBackground?: string;
10
- tableHeaderBg?: string;
11
- type?: T;
12
- };
13
- export declare const setThemeColor: (options: ThemeColorOptions) => void;
@@ -1,2 +0,0 @@
1
- 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 _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}import{menuDarkBg}from"../styles/vars";import tinycolor from"tinycolor2";import colorPalette from"./color-palette";export var getColorPalette=function(name,color){var type=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"light",bg=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#fff";var vars={};if(type==="light"){var i=1;while(i<=7){vars["--".concat(name,"-").concat(i)]=colorPalette(color,i);i++}}else{var _obj;Object.assign(vars,(_obj={},_defineProperty(_obj,"--".concat(name,"-1"),tinycolor.mix(colorPalette(color,8),bg,.15)),_defineProperty(_obj,"--".concat(name,"-2"),tinycolor.mix(colorPalette(color,7),bg,.25)),_defineProperty(_obj,"--".concat(name,"-3"),tinycolor.mix(color,bg,.3)),_defineProperty(_obj,"--".concat(name,"-4"),tinycolor.mix(color,bg,.45)),_defineProperty(_obj,"--".concat(name,"-5"),tinycolor.mix(color,bg,.65)),_defineProperty(_obj,"--".concat(name,"-6"),color),_defineProperty(_obj,"--".concat(name,"-7"),tinycolor.mix(colorPalette(color,5),bg,.9)),_obj))}var _obj1;return _objectSpreadProps(_objectSpread({},vars),(_obj1={},_defineProperty(_obj1,"--".concat(name,"-color-deprecated-bg"),"var(--".concat(name,"-1)")),_defineProperty(_obj1,"--".concat(name,"-color-deprecated-border"),"var(--".concat(name,"-3)")),_defineProperty(_obj1,"--".concat(name,"-color-hover"),"var(--".concat(name,"-5)")),_defineProperty(_obj1,"--".concat(name,"-color"),color),_defineProperty(_obj1,"--".concat(name,"-color-outline"),tinycolor(color).setAlpha(.2).toRgbString()),_defineProperty(_obj1,"--".concat(name,"-color-active"),"var(--".concat(name,"-7)")),_obj1))};var keyword=["primary","warning","error","success"];export var setThemeColor=function(options){keyword.forEach(function(name){var color=options[name];if(color){var colors=getColorPalette(name,color,options.type,options.componentBackground);if(name==="primary"||name==="error"){Object.assign(colors,_defineProperty({},name==="primary"?"--menu-dark-item-active-bg":"--menu-dark-item-active-danger-bg",tinycolor.mix(colorPalette(color,8),menuDarkBg||"#141414",.15).toRgbString()))}for(var key in colors){if(Object.prototype.hasOwnProperty.call(colors,key)){var newColor=colors[key];if(getComputedStyle(document.documentElement).getPropertyValue(key)!==newColor){document.documentElement.style.setProperty(key,newColor)}}}}});if(options.tableHeaderBg){document.documentElement.style.setProperty("--table-header-bg",options.tableHeaderBg)}};
2
- //# sourceMappingURL=theme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/theme.ts"],"sourcesContent":["import { menuDarkBg } from '../styles/vars';\nimport tinycolor from 'tinycolor2';\nimport colorPalette from './color-palette';\n\nexport const getColorPalette = (\n name: string,\n color: string,\n type: 'light' | 'dark' = 'light',\n bg = '#fff'\n) => {\n const vars: Record<string, string> = {};\n\n if (type === 'light') {\n let i = 1;\n\n while (i <= 7) {\n vars[`--${name}-${i}`] = colorPalette(color, i);\n i++;\n }\n } else {\n Object.assign(vars, {\n [`--${name}-1`]: tinycolor.mix(colorPalette(color, 8), bg, 0.15),\n [`--${name}-2`]: tinycolor.mix(colorPalette(color, 7), bg, 0.25),\n [`--${name}-3`]: tinycolor.mix(color, bg, 0.3),\n [`--${name}-4`]: tinycolor.mix(color, bg, 0.45),\n [`--${name}-5`]: tinycolor.mix(color, bg, 0.65),\n [`--${name}-6`]: color,\n [`--${name}-7`]: tinycolor.mix(colorPalette(color, 5), bg, 0.9),\n });\n }\n\n return {\n ...vars,\n [`--${name}-color-deprecated-bg`]: `var(--${name}-1)`,\n [`--${name}-color-deprecated-border`]: `var(--${name}-3)`,\n [`--${name}-color-hover`]: `var(--${name}-5)`,\n [`--${name}-color`]: color,\n [`--${name}-color-outline`]: tinycolor(color).setAlpha(0.2).toRgbString(),\n [`--${name}-color-active`]: `var(--${name}-7)`,\n };\n};\n\nexport type ThemeColorOptions<T = 'light' | 'dark'> = {\n primary?: string;\n warning?: string;\n error?: string;\n success?: string;\n componentBackground?: string;\n tableHeaderBg?: string;\n type?: T;\n};\n\nconst keyword = ['primary', 'warning', 'error', 'success'];\n\nexport const setThemeColor = (options: ThemeColorOptions) => {\n keyword.forEach((name) => {\n const color = options[name as 'primary' | 'warning' | 'error' | 'success'];\n\n if (color) {\n const colors = getColorPalette(name, color, options.type, options.componentBackground);\n\n if (name === 'primary' || name === 'error') {\n Object.assign(colors, {\n [name === 'primary' ? '--menu-dark-item-active-bg' : '--menu-dark-item-active-danger-bg']:\n tinycolor.mix(colorPalette(color, 8), menuDarkBg || '#141414', 0.15).toRgbString(),\n });\n }\n for (const key in colors) {\n if (Object.prototype.hasOwnProperty.call(colors, key)) {\n const newColor = colors[key as keyof typeof colors];\n\n if (getComputedStyle(document.documentElement).getPropertyValue(key) !== newColor) {\n document.documentElement.style.setProperty(key, newColor);\n }\n }\n }\n }\n });\n if (options.tableHeaderBg) {\n document.documentElement.style.setProperty('--table-header-bg', options.tableHeaderBg);\n }\n};\n"],"names":["menuDarkBg","tinycolor","colorPalette","getColorPalette","name","color","type","bg","vars","i","Object","assign","mix","setAlpha","toRgbString","keyword","setThemeColor","options","forEach","colors","componentBackground","key","prototype","hasOwnProperty","call","newColor","getComputedStyle","document","documentElement","getPropertyValue","style","setProperty","tableHeaderBg"],"mappings":"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"}