@moneko/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/LICENSE +21 -0
  2. package/build/common.d.ts +5 -0
  3. package/build/common.js +1 -0
  4. package/build/coverage.d.ts +2 -0
  5. package/build/coverage.js +1 -0
  6. package/build/envFlags.d.ts +18 -0
  7. package/build/envFlags.js +1 -0
  8. package/build/has-antd.d.ts +3 -0
  9. package/build/has-antd.js +1 -0
  10. package/build/has-pkg.d.ts +1 -0
  11. package/build/has-pkg.js +1 -0
  12. package/build/html-add-entry-attr.d.ts +17 -0
  13. package/build/html-add-entry-attr.js +1 -0
  14. package/build/html-plugin-option.d.ts +3 -0
  15. package/build/html-plugin-option.js +1 -0
  16. package/build/minify.d.ts +26 -0
  17. package/build/minify.js +1 -0
  18. package/build/modifyVars.d.ts +2 -0
  19. package/build/modifyVars.js +1 -0
  20. package/build/module-federation.d.ts +4 -0
  21. package/build/module-federation.js +1 -0
  22. package/build/module.config.d.ts +3 -0
  23. package/build/module.config.js +1 -0
  24. package/build/process-env.d.ts +27 -0
  25. package/build/process-env.js +1 -0
  26. package/build/resolver-sync.d.ts +9 -0
  27. package/build/resolver-sync.js +1 -0
  28. package/build/swcrc.d.ts +4 -0
  29. package/build/swcrc.js +1 -0
  30. package/build/tsloader.config.d.ts +8 -0
  31. package/build/tsloader.config.js +1 -0
  32. package/build/utils.d.ts +18 -0
  33. package/build/utils.js +1 -0
  34. package/build/webpack.common.d.ts +3 -0
  35. package/build/webpack.common.js +1 -0
  36. package/build/webpack.dev.d.ts +2 -0
  37. package/build/webpack.dev.js +1 -0
  38. package/build/webpack.prod.d.ts +3 -0
  39. package/build/webpack.prod.js +1 -0
  40. package/build/yarn-argv.d.ts +4 -0
  41. package/build/yarn-argv.js +1 -0
  42. package/lib/components/app-router/index.d.ts +9 -0
  43. package/lib/components/app-router/index.js +2 -0
  44. package/lib/components/app-router/index.js.map +1 -0
  45. package/lib/components/fallback/index.d.ts +3 -0
  46. package/lib/components/fallback/index.js +2 -0
  47. package/lib/components/fallback/index.js.map +1 -0
  48. package/lib/components/fallback-comp/index.d.ts +10 -0
  49. package/lib/components/fallback-comp/index.js +2 -0
  50. package/lib/components/fallback-comp/index.js.map +1 -0
  51. package/lib/components/layout-menu/index.d.ts +8 -0
  52. package/lib/components/layout-menu/index.global.less +40 -0
  53. package/lib/components/layout-menu/index.js +2 -0
  54. package/lib/components/layout-menu/index.js.map +1 -0
  55. package/lib/components/readme/index.d.ts +3 -0
  56. package/lib/components/readme/index.js +2 -0
  57. package/lib/components/readme/index.js.map +1 -0
  58. package/lib/hooks/navgate.d.ts +3 -0
  59. package/lib/hooks/navgate.js +2 -0
  60. package/lib/hooks/navgate.js.map +1 -0
  61. package/lib/index.d.ts +43 -0
  62. package/lib/index.js +2 -0
  63. package/lib/index.js.map +1 -0
  64. package/lib/packages/back-stage/antd.global.less +56 -0
  65. package/lib/packages/back-stage/app.d.ts +7 -0
  66. package/lib/packages/back-stage/app.js +2 -0
  67. package/lib/packages/back-stage/app.js.map +1 -0
  68. package/lib/packages/back-stage/bootstrap.d.ts +1 -0
  69. package/lib/packages/back-stage/bootstrap.js +2 -0
  70. package/lib/packages/back-stage/bootstrap.js.map +1 -0
  71. package/lib/packages/back-stage/index.d.ts +5 -0
  72. package/lib/packages/back-stage/index.js +2 -0
  73. package/lib/packages/back-stage/index.js.map +1 -0
  74. package/lib/packages/back-stage/layout/index.d.ts +3 -0
  75. package/lib/packages/back-stage/layout/index.js +2 -0
  76. package/lib/packages/back-stage/layout/index.js.map +1 -0
  77. package/lib/packages/back-stage/layout/index.less +91 -0
  78. package/lib/packages/back-stage/models/app-program.d.ts +24 -0
  79. package/lib/packages/back-stage/models/app-program.js +2 -0
  80. package/lib/packages/back-stage/models/app-program.js.map +1 -0
  81. package/lib/packages/library/app.d.ts +3 -0
  82. package/lib/packages/library/app.js +2 -0
  83. package/lib/packages/library/app.js.map +1 -0
  84. package/lib/packages/library/bootstrap.d.ts +1 -0
  85. package/lib/packages/library/bootstrap.js +2 -0
  86. package/lib/packages/library/bootstrap.js.map +1 -0
  87. package/lib/packages/library/index.d.ts +5 -0
  88. package/lib/packages/library/index.js +2 -0
  89. package/lib/packages/library/index.js.map +1 -0
  90. package/lib/packages/mobile/app.d.ts +3 -0
  91. package/lib/packages/mobile/app.js +2 -0
  92. package/lib/packages/mobile/app.js.map +1 -0
  93. package/lib/packages/mobile/index.d.ts +4 -0
  94. package/lib/packages/mobile/index.js +2 -0
  95. package/lib/packages/mobile/index.js.map +1 -0
  96. package/lib/packages/single-spa/app.d.ts +7 -0
  97. package/lib/packages/single-spa/app.js +2 -0
  98. package/lib/packages/single-spa/app.js.map +1 -0
  99. package/lib/packages/single-spa/bootstrap.d.ts +4 -0
  100. package/lib/packages/single-spa/bootstrap.js +2 -0
  101. package/lib/packages/single-spa/bootstrap.js.map +1 -0
  102. package/lib/packages/single-spa/index.d.ts +6 -0
  103. package/lib/packages/single-spa/index.js +2 -0
  104. package/lib/packages/single-spa/index.js.map +1 -0
  105. package/lib/packages/single-spa/public-path.d.ts +0 -0
  106. package/lib/packages/single-spa/public-path.js +2 -0
  107. package/lib/packages/single-spa/public-path.js.map +1 -0
  108. package/lib/packages/site/app.d.ts +3 -0
  109. package/lib/packages/site/app.js +2 -0
  110. package/lib/packages/site/app.js.map +1 -0
  111. package/lib/packages/site/bootstrap.d.ts +1 -0
  112. package/lib/packages/site/bootstrap.js +2 -0
  113. package/lib/packages/site/bootstrap.js.map +1 -0
  114. package/lib/packages/site/index.d.ts +5 -0
  115. package/lib/packages/site/index.js +2 -0
  116. package/lib/packages/site/index.js.map +1 -0
  117. package/lib/prefix/i18n-hooks.d.ts +1 -0
  118. package/lib/prefix/i18n-hooks.js +2 -0
  119. package/lib/prefix/i18n-hooks.js.map +1 -0
  120. package/lib/prefix/mini-idc.d.ts +1 -0
  121. package/lib/prefix/mini-idc.js +2 -0
  122. package/lib/prefix/mini-idc.js.map +1 -0
  123. package/lib/prefix/prefix-remote-react-refresh.d.ts +1 -0
  124. package/lib/prefix/prefix-remote-react-refresh.js +2 -0
  125. package/lib/prefix/prefix-remote-react-refresh.js.map +1 -0
  126. package/lib/prefix/react-router-dom.d.ts +1 -0
  127. package/lib/prefix/react-router-dom.js +2 -0
  128. package/lib/prefix/react-router-dom.js.map +1 -0
  129. package/lib/router/index.d.ts +23 -0
  130. package/lib/router/index.js +2 -0
  131. package/lib/router/index.js.map +1 -0
  132. package/lib/styles/animation.less +58 -0
  133. package/lib/styles/ant.variables.global.less +221 -0
  134. package/lib/styles/eval/bezierEasing.less +106 -0
  135. package/lib/styles/eval/colorPalette.less +73 -0
  136. package/lib/styles/eval/tinyColor.less +1181 -0
  137. package/lib/styles/index.global.less +136 -0
  138. package/lib/styles/normalize.css +192 -0
  139. package/lib/styles/vars.less +94 -0
  140. package/lib/utils/color-palette.d.ts +2 -0
  141. package/lib/utils/color-palette.js +2 -0
  142. package/lib/utils/color-palette.js.map +1 -0
  143. package/lib/utils/env.d.ts +0 -0
  144. package/lib/utils/env.js +2 -0
  145. package/lib/utils/env.js.map +1 -0
  146. package/lib/utils/fontloader.d.ts +1 -0
  147. package/lib/utils/fontloader.js +2 -0
  148. package/lib/utils/fontloader.js.map +1 -0
  149. package/lib/utils/index.d.ts +13 -0
  150. package/lib/utils/index.js +2 -0
  151. package/lib/utils/index.js.map +1 -0
  152. package/lib/utils/lazy-import.d.ts +34 -0
  153. package/lib/utils/lazy-import.js +2 -0
  154. package/lib/utils/lazy-import.js.map +1 -0
  155. package/lib/utils/refresh-rem.d.ts +0 -0
  156. package/lib/utils/refresh-rem.js +2 -0
  157. package/lib/utils/refresh-rem.js.map +1 -0
  158. package/lib/utils/theme.d.ts +13 -0
  159. package/lib/utils/theme.js +2 -0
  160. package/lib/utils/theme.js.map +1 -0
  161. package/package.json +91 -0
  162. package/template/favicon.ico +0 -0
  163. package/template/index.html +25 -0
  164. package/typings/global.d.ts +493 -0
@@ -0,0 +1,136 @@
1
+ @charset "utf-8";
2
+ @import './normalize.css';
3
+ @import './animation.less';
4
+ @import './vars.less';
5
+ @import (optional, once) url('@/styles/fonts.less');
6
+
7
+ html,
8
+ body {
9
+ width: 100vw;
10
+ height: 100vh;
11
+ padding: 0;
12
+ overflow: hidden;
13
+ color: var(--text-color);
14
+ font-size: 14px;
15
+ font-family: @font-family;
16
+ line-height: 1.8;
17
+ background-color: var(--body-background, @body-background);
18
+ transition: background-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),
19
+ color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
20
+ }
21
+
22
+ #root {
23
+ display: flex;
24
+ flex-direction: column;
25
+ width: 100%;
26
+ height: 100%;
27
+ -webkit-overflow-scrolling: touch;
28
+
29
+ >main {
30
+ display: block;
31
+ flex: 1;
32
+ width: 100%;
33
+ overflow-y: auto;
34
+ animation: route-in @transition-duration;
35
+ }
36
+ }
37
+
38
+ input,
39
+ textarea {
40
+ caret-color: plum;
41
+ }
42
+
43
+ :-webkit-autofill,
44
+ :-webkit-autofill:hover,
45
+ :-webkit-autofill:focus {
46
+ font-weight: 400;
47
+ border: none;
48
+ border-radius: 5px;
49
+ box-shadow: 0 0 0 1000px transparent inset;
50
+ transition: background-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
51
+ -webkit-text-fill-color: @text-color;
52
+ caret-color: transparent;
53
+ }
54
+
55
+ ::-webkit-scrollbar {
56
+ width: 5px;
57
+ height: 5px;
58
+ opacity: 0;
59
+ }
60
+
61
+ ::-webkit-scrollbar-track {
62
+ background-color: transparent;
63
+ }
64
+
65
+ ::-webkit-scrollbar-thumb {
66
+ background-color: transparent;
67
+ border-radius: 5px;
68
+ }
69
+
70
+ :hover::-webkit-scrollbar-thumb {
71
+ background-color: rgba(78, 78, 78, 0.15);
72
+ }
73
+
74
+ ::-webkit-scrollbar-thumb:hover {
75
+ background-color: rgba(176, 139, 227, 0.5);
76
+ }
77
+
78
+ ::-webkit-scrollbar-thumb:active {
79
+ background-color: rgba(247, 138, 224, 0.5);
80
+ }
81
+
82
+ ::-webkit-scrollbar-button {
83
+ display: none;
84
+ }
85
+
86
+ .text-ellipsis,
87
+ .text-ellipsis-2 {
88
+ overflow: hidden;
89
+ text-overflow: ellipsis;
90
+ }
91
+
92
+ .text-ellipsis {
93
+ white-space: nowrap;
94
+ }
95
+
96
+ .text-ellipsis-2 {
97
+ /* stylelint-disable-next-line value-no-vendor-prefix */
98
+ display: -webkit-box;
99
+ -webkit-line-clamp: 2;
100
+ /*! autoprefixer: off */
101
+ -webkit-box-orient: vertical;
102
+ }
103
+
104
+ .flex {
105
+ display: flex;
106
+ }
107
+
108
+ .f-row {
109
+ flex-direction: row;
110
+ }
111
+
112
+ .f-a-c {
113
+ align-items: center;
114
+ }
115
+
116
+ .mr5 {
117
+ margin-right: 5px;
118
+ }
119
+
120
+ .pos-r-0 {
121
+ position: absolute;
122
+ right: 0;
123
+ }
124
+
125
+ .login-toolbox {
126
+ height: 64px;
127
+
128
+ button {
129
+ margin-right: 16px;
130
+ }
131
+ }
132
+
133
+ /* stylelint-disable-next-line no-invalid-position-at-import-rule */
134
+ @import (optional, once) url('@/styles/reset.less');
135
+ /* stylelint-disable-next-line no-invalid-position-at-import-rule */
136
+ @import (optional, once) url('@/styles/index.global.less');
@@ -0,0 +1,192 @@
1
+ html {
2
+ line-height: 1.15;
3
+ /* stylelint-disable-next-line property-no-vendor-prefix */
4
+ -webkit-text-size-adjust: 100%;
5
+ }
6
+
7
+ body {
8
+ margin: 0;
9
+ }
10
+
11
+ main {
12
+ display: block;
13
+ }
14
+
15
+ h1 {
16
+ font-size: 2em;
17
+ margin: 0.67em 0;
18
+ }
19
+
20
+ hr {
21
+ box-sizing: content-box;
22
+ height: 0;
23
+ overflow: visible;
24
+ }
25
+
26
+ pre {
27
+ font-family: monospace;
28
+ font-size: 1em;
29
+ }
30
+
31
+ a {
32
+ background-color: transparent;
33
+ text-decoration: none;
34
+ cursor: pointer;
35
+ }
36
+
37
+ abbr[title] {
38
+ border-bottom: none;
39
+ text-decoration: underline;
40
+ text-decoration: underline dotted;
41
+ }
42
+
43
+ b,
44
+ strong {
45
+ font-weight: bolder;
46
+ }
47
+
48
+ code,
49
+ kbd,
50
+ samp {
51
+ font-family: monospace;
52
+ font-size: 1em;
53
+ }
54
+
55
+ small {
56
+ font-size: 80%;
57
+ }
58
+
59
+ sub,
60
+ sup {
61
+ font-size: 75%;
62
+ line-height: 0;
63
+ position: relative;
64
+ vertical-align: baseline;
65
+ }
66
+
67
+ sub {
68
+ bottom: -0.25em;
69
+ }
70
+
71
+ sup {
72
+ top: -0.5em;
73
+ }
74
+
75
+ img {
76
+ border-style: none;
77
+ }
78
+
79
+ img,
80
+ button {
81
+ /* 消除锯齿 */
82
+ outline: 1px solid transparent;
83
+ }
84
+
85
+ button,
86
+ input,
87
+ optgroup,
88
+ select,
89
+ textarea {
90
+ font-family: inherit;
91
+ font-size: 100%;
92
+ line-height: 1.15;
93
+ margin: 0;
94
+ }
95
+
96
+ button,
97
+ input {
98
+ overflow: visible;
99
+ }
100
+
101
+ button,
102
+ select {
103
+ text-transform: none;
104
+ }
105
+
106
+ button,
107
+ [type='button'],
108
+ [type='reset'],
109
+ [type='submit'] {
110
+ /* stylelint-disable-next-line property-no-vendor-prefix */
111
+ -webkit-appearance: button;
112
+ }
113
+
114
+ button::-moz-focus-inner,
115
+ [type='button']::-moz-focus-inner,
116
+ [type='reset']::-moz-focus-inner,
117
+ [type='submit']::-moz-focus-inner {
118
+ border-style: none;
119
+ padding: 0;
120
+ }
121
+
122
+ button:-moz-focusring,
123
+ [type='button']:-moz-focusring,
124
+ [type='reset']:-moz-focusring,
125
+ [type='submit']:-moz-focusring {
126
+ outline: 1px dotted ButtonText;
127
+ }
128
+
129
+ fieldset {
130
+ padding: 0.35em 0.75em 0.625em;
131
+ }
132
+
133
+ legend {
134
+ box-sizing: border-box;
135
+ color: inherit;
136
+ display: table;
137
+ max-width: 100%;
138
+ padding: 0;
139
+ white-space: normal;
140
+ }
141
+
142
+ progress {
143
+ vertical-align: baseline;
144
+ }
145
+
146
+ textarea {
147
+ overflow: auto;
148
+ }
149
+
150
+ [type='checkbox'],
151
+ [type='radio'] {
152
+ box-sizing: border-box;
153
+ padding: 0;
154
+ }
155
+
156
+ [type='number']::-webkit-inner-spin-button,
157
+ [type='number']::-webkit-outer-spin-button {
158
+ height: auto;
159
+ }
160
+
161
+ [type='search'] {
162
+ /* stylelint-disable-next-line property-no-vendor-prefix */
163
+ -webkit-appearance: textfield;
164
+ outline-offset: -2px;
165
+ }
166
+
167
+ [type='search']::-webkit-search-decoration {
168
+ /* stylelint-disable-next-line property-no-vendor-prefix */
169
+ -webkit-appearance: none;
170
+ }
171
+
172
+ ::-webkit-file-upload-button {
173
+ /* stylelint-disable-next-line property-no-vendor-prefix */
174
+ -webkit-appearance: button;
175
+ font: inherit;
176
+ }
177
+
178
+ details {
179
+ display: block;
180
+ }
181
+
182
+ summary {
183
+ display: list-item;
184
+ }
185
+
186
+ template {
187
+ display: none;
188
+ }
189
+
190
+ [hidden] {
191
+ display: none;
192
+ }
@@ -0,0 +1,94 @@
1
+ /* stylelint-disable property-no-unknown */
2
+ .status-color(@type, @color) {
3
+ --@{type}-color: @color;
4
+ --@{type}-color-hover: ~'var(--@{type}-5)';
5
+ --@{type}-color-active: ~'var(--@{type}-7)';
6
+ --@{type}-color-outline: fade(@color, @outline-fade);
7
+ --@{type}-color-deprecated-bg: ~'var(--@{type}-1)';
8
+ --@{type}-color-deprecated-border: ~'var(--@{type}-3)';
9
+ }
10
+ .basic-color(@type, @color) {
11
+ --@{type}-1: color(~`colorpalette('@{color}', 1) `);
12
+ --@{type}-2: color(~`colorpalette('@{color}', 2) `);
13
+ --@{type}-3: color(~`colorpalette('@{color}', 3) `);
14
+ --@{type}-4: color(~`colorpalette('@{color}', 4) `);
15
+ --@{type}-5: color(~`colorpalette('@{color}', 5) `);
16
+ --@{type}-6: @color;
17
+ --@{type}-7: color(~`colorpalette('@{color}', 7) `);
18
+ .status-color(@type, @color);
19
+ }
20
+
21
+ .basic-color-dark(@type, @color, @bg) {
22
+ --@{type}-1: mix(color(~`colorpalette('@{color}', 8) `), @bg, 15%);
23
+ --@{type}-2: mix(color(~`colorpalette('@{color}', 7) `), @bg, 25%);
24
+ --@{type}-3: mix(@color, @bg, 30%);
25
+ --@{type}-4: mix(@color, @bg, 45%);
26
+ --@{type}-5: mix(@color, @bg, 65%);
27
+ --@{type}-6: @color;
28
+ --@{type}-7: mix(color(~`colorpalette('@{color}', 5) `), @bg, 90%);
29
+ .status-color(@type, @color);
30
+ }
31
+
32
+ :root {
33
+ --text-shadow-color: rgba(0, 0, 0, 0.1);
34
+ --font-size-base: @font-size-base;
35
+ --border-color-base: @border-color-base;
36
+ --border-radius-base: @border-radius-base;
37
+ --body-background: @body-background;
38
+ --component-background: @component-background;
39
+ --table-header-bg: @table-header-bg;
40
+ --text-color: @text-color;
41
+ --text-color-secondary: @text-color-secondary;
42
+ --heading-color: @heading-color;
43
+ --text-selection-bg: var(--primary-color-deprecated-bg);
44
+ --box-shadow-small: @box-shadow-small;
45
+ --font-family: @font-family;
46
+ --transition-duration: @transition-duration;
47
+ --transition-timing-function: @transition-timing-function;
48
+ --antd-wave-shadow-color: var(--primary-color-outline);
49
+ --disable-color: @disabled-color;
50
+ --btn-disable-bg: var(--disable-color);
51
+ --btn-disable-border: var(--disable-color);
52
+
53
+ .basic-color(primary, @primary-color);
54
+ .basic-color(warning, @warning-color);
55
+ .basic-color(error, @error-color);
56
+ .basic-color(success, @success-color);
57
+ }
58
+
59
+ [data-theme='dark'] {
60
+ --text-selection-bg: var(--primary-color-deprecated-bg);
61
+ --text-color-secondary: rgba(255, 255, 255, 0.25);
62
+ --text-shadow-color: rgba(255, 255, 255, 0.1);
63
+ --header-shadow: rgba(255, 255, 255, 0.05);
64
+ --body-background: #000;
65
+ --component-background: @component-background-dark;
66
+ --header-bg: rgba(20, 20, 20, 0.9);
67
+ --text-color: rgba(255, 255, 255, 0.85);
68
+ --border-color-base: #303030;
69
+ --heading-color: rgba(255, 255, 255, 0.85);
70
+ --disabled-color: rgba(255, 255, 255, 0.3);
71
+
72
+ .basic-color-dark(primary, @primary-color-dark, @component-background-dark);
73
+ .basic-color-dark(warning, @warning-color-dark, @component-background-dark);
74
+ .basic-color-dark(error, @error-color-dark, @component-background-dark);
75
+ .basic-color-dark(success, @success-color-dark, @component-background-dark);
76
+ }
77
+
78
+ /* stylelint-disable-next-line selector-pseudo-class-no-unknown */
79
+ :export {
80
+ primaryColor: @primary-color;
81
+ successColor: @success-color;
82
+ warningColor: @warning-color;
83
+ errorColor: @error-color;
84
+ textColor: @text-color;
85
+ tableHeaderBg: @table-header-bg;
86
+ componentBackground: @component-background;
87
+ primaryColorDark: @primary-color-dark;
88
+ successColorDark: @success-color-dark;
89
+ warningColorDark: @warning-color-dark;
90
+ errorColorDark: @error-color-dark;
91
+ componentBackgroundDark: @component-background-dark;
92
+ tableHeaderBgDark: @table-header-bg-dark;
93
+ menuDarkBg: @menu-dark-bg;
94
+ }
@@ -0,0 +1,2 @@
1
+ declare const colorPalette: (color: string, index: number) => string;
2
+ export default colorPalette;
@@ -0,0 +1,2 @@
1
+ import tinycolor from"tinycolor2";var hueStep=2;var saturationStep=.16;var saturationStep2=.05;var brightnessStep1=.05;var brightnessStep2=.15;var lightColorCount=5;var darkColorCount=4;var getHue=function getHue(hsv,i,isLight){var hue;if(hsv.h>=60&&hsv.h<=240){hue=isLight?hsv.h-hueStep*i:hsv.h+hueStep*i}else{hue=isLight?hsv.h+hueStep*i:hsv.h-hueStep*i}if(hue<0){hue+=360}else if(hue>=360){hue-=360}return Math.round(hue)};var getSaturation=function getSaturation(hsv,i,isLight){var saturation;if(isLight){saturation=hsv.s-saturationStep*i}else if(i===darkColorCount){saturation=hsv.s+saturationStep}else{saturation=hsv.s+saturationStep2*i}if(saturation>1){saturation=1}if(isLight&&i===lightColorCount&&saturation>.1){saturation=.1}if(saturation<.06){saturation=.06}return Number(saturation.toFixed(2))};var getValue=function getValue(hsv,i,isLight){var value;if(isLight){value=hsv.v+brightnessStep1*i}else{value=hsv.v-brightnessStep2*i}if(value>1){value=1}return Number(value.toFixed(2))};var colorPalette=function colorPalette(color,index){var isLight=index<=6;var hsv=tinycolor(color).toHsv();var i=isLight?lightColorCount+1-index:index-lightColorCount-1;return tinycolor({h:getHue(hsv,i,isLight),s:getSaturation(hsv,i,isLight),v:getValue(hsv,i,isLight)}).toHexString()};export default colorPalette;
2
+ //# sourceMappingURL=color-palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/color-palette.ts"],"sourcesContent":["import tinycolor from 'tinycolor2';\n\ntype HSV = {\n h: number;\n s: number;\n v: number;\n};\nconst hueStep = 2;\nconst saturationStep = 0.16;\nconst saturationStep2 = 0.05;\nconst brightnessStep1 = 0.05;\nconst brightnessStep2 = 0.15;\nconst lightColorCount = 5;\nconst darkColorCount = 4;\n\nconst getHue = function (hsv: HSV, i: number, isLight: boolean) {\n let hue;\n\n if (hsv.h >= 60 && hsv.h <= 240) {\n hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i;\n } else {\n hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return Math.round(hue);\n};\nconst getSaturation = function (hsv: HSV, i: number, isLight: boolean) {\n let saturation;\n\n if (isLight) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n }\n if (saturation > 1) {\n saturation = 1;\n }\n if (isLight && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n return Number(saturation.toFixed(2));\n};\nconst getValue = function (hsv: HSV, i: number, isLight: boolean) {\n let value;\n\n if (isLight) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n if (value > 1) {\n value = 1;\n }\n return Number(value.toFixed(2));\n};\n\nconst colorPalette = function (color: string, index: number) {\n const isLight = index <= 6;\n const hsv = tinycolor(color).toHsv();\n const i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1;\n\n return tinycolor({\n h: getHue(hsv, i, isLight),\n s: getSaturation(hsv, i, isLight),\n v: getValue(hsv, i, isLight),\n }).toHexString();\n};\n\nexport default colorPalette;\n"],"names":["tinycolor","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","getHue","hsv","i","isLight","hue","h","Math","round","getSaturation","saturation","s","Number","toFixed","getValue","value","v","colorPalette","color","index","toHsv","toHexString"],"mappings":"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"}
File without changes
@@ -0,0 +1,2 @@
1
+ if(!window.__MINIIDC__){window.__MINIIDC__={}}if(miniIdc===false){window.__MINIIDC__.__PROGRAMSTATENAME__="none"}else{if(miniIdc.programName){window.__MINIIDC__.__PROGRAMSTATENAME__=miniIdc.programName}if(miniIdc.encrypt){window.__MINIIDC__.__ENCRYPT__=miniIdc.encrypt}if(miniIdc.encryptKey){window.__MINIIDC__.__ENCRYPTKEY__=miniIdc.encryptKey}}
2
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/env.ts"],"sourcesContent":["if (!window.__MINIIDC__) {\n window.__MINIIDC__ = {};\n}\nif (miniIdc === false) {\n window.__MINIIDC__.__PROGRAMSTATENAME__ = 'none';\n} else {\n if (miniIdc.programName) {\n window.__MINIIDC__.__PROGRAMSTATENAME__ = miniIdc.programName;\n }\n if (miniIdc.encrypt) {\n window.__MINIIDC__.__ENCRYPT__ = miniIdc.encrypt;\n }\n if (miniIdc.encryptKey) {\n window.__MINIIDC__.__ENCRYPTKEY__ = miniIdc.encryptKey;\n }\n}\n"],"names":["window","__MINIIDC__","miniIdc","__PROGRAMSTATENAME__","programName","encrypt","__ENCRYPT__","encryptKey","__ENCRYPTKEY__"],"mappings":"AAAA,GAAI,CAACA,MAAM,CAACC,WAAW,CAAE,CACvBD,MAAM,CAACC,WAAW,CAAG,EAAE,AACzB,CAAC,AACD,GAAIC,OAAO,GAAK,KAAK,CAAE,CACrBF,MAAM,CAACC,WAAW,CAACE,oBAAoB,CAAG,MAAM,AAClD,KAAO,CACL,GAAID,OAAO,CAACE,WAAW,CAAE,CACvBJ,MAAM,CAACC,WAAW,CAACE,oBAAoB,CAAGD,OAAO,CAACE,WAAW,AAC/D,CAAC,AACD,GAAIF,OAAO,CAACG,OAAO,CAAE,CACnBL,MAAM,CAACC,WAAW,CAACK,WAAW,CAAGJ,OAAO,CAACG,OAAO,AAClD,CAAC,AACD,GAAIH,OAAO,CAACK,UAAU,CAAE,CACtBP,MAAM,CAACC,WAAW,CAACO,cAAc,CAAGN,OAAO,CAACK,UAAU,AACxD,CAAC,AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import WebFont from"webfontloader";WebFont.load({events:false,custom:{families:webFontLoader}});
2
+ //# sourceMappingURL=fontloader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/fontloader.ts"],"sourcesContent":["import WebFont from 'webfontloader';\n\nWebFont.load({\n events: false,\n custom: {\n families: webFontLoader,\n },\n});\n"],"names":["WebFont","load","events","custom","families","webFontLoader"],"mappings":"AAAA,OAAOA,OAAO,KAAM,eAAe,AAAC,AAEpCA,CAAAA,OAAO,CAACC,IAAI,CAAC,CACXC,MAAM,CAAE,KAAK,CACbC,MAAM,CAAE,CACNC,QAAQ,CAAEC,aAAa,CACxB,CACF,CAAC,AAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ export declare const translatFunction: (func: string, val?: number | string | any) => string;
2
+ export declare type WatermarkParamsType = {
3
+ text: string;
4
+ x?: number;
5
+ y?: number;
6
+ width?: number;
7
+ height?: number;
8
+ fontSize?: number;
9
+ angle?: number;
10
+ opacity?: number;
11
+ color?: string;
12
+ };
13
+ export declare const watermark: ({ text, x, y, width, height, fontSize, angle, opacity, color, }: WatermarkParamsType) => string;
@@ -0,0 +1,2 @@
1
+ export var translatFunction=function(func,val){try{if(typeof val!=="undefined"){return eval(func)}}catch(error){console.warn(error)}return func};export var watermark=function(param){var text=param.text,_x=param.x,x=_x===void 0?19.5:_x,_y=param.y,y=_y===void 0?55:_y,_width=param.width,width=_width===void 0?100:_width,_height=param.height,height=_height===void 0?100:_height,_fontSize=param.fontSize,fontSize=_fontSize===void 0?14:_fontSize,_angle=param.angle,angle=_angle===void 0?-45:_angle,_opacity=param.opacity,opacity=_opacity===void 0?.1:_opacity,_color=param.color,color=_color===void 0?"#000":_color;var svgStr='<svg xmlns="http://www.w3.org/2000/svg" width="'+width+'" height="'+height+'"><g><title>Layer 1</title><text x="'+x+'" y="'+y+'" textAnchor="middle" dominantBaseline="middle" stroke-opacity="'+opacity+'" stroke="'+color+'" fill="none" transform="rotate('+angle+" "+width/2+","+height/2+')" font-size="'+fontSize+'" font-family="-apple-system, BlinkMacSystemFont, '+"'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Helvetica', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans'"+'">'+text+"</text></g></svg>";return"data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent(svgStr)))};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export const translatFunction = (func: string, val?: number | string | any): string => {\n try {\n if (typeof val !== 'undefined') {\n return eval(func);\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(error);\n }\n return func;\n};\n\nexport type WatermarkParamsType = {\n text: string;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n fontSize?: number;\n angle?: number;\n opacity?: number;\n color?: string;\n};\n\nexport const watermark = ({\n text,\n x = 19.5,\n y = 55,\n width = 100,\n height = 100,\n fontSize = 14,\n angle = -45,\n opacity = 0.1,\n color = '#000',\n}: WatermarkParamsType): string => {\n const svgStr =\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"' +\n width +\n '\" height=\"' +\n height +\n '\"><g><title>Layer 1</title><text x=\"' +\n x +\n '\" y=\"' +\n y +\n '\" textAnchor=\"middle\" dominantBaseline=\"middle\" stroke-opacity=\"' +\n opacity +\n '\" stroke=\"' +\n color +\n '\" fill=\"none\" transform=\"rotate(' +\n angle +\n ' ' +\n width / 2 +\n ',' +\n height / 2 +\n ')\" font-size=\"' +\n fontSize +\n '\" font-family=\"-apple-system, BlinkMacSystemFont, ' +\n \"'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Helvetica', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans'\" +\n '\">' +\n text +\n '</text></g></svg>';\n\n return 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgStr)));\n};\n"],"names":["translatFunction","func","val","eval","error","console","warn","watermark","text","x","y","width","height","fontSize","angle","opacity","color","svgStr","window","btoa","unescape","encodeURIComponent"],"mappings":"AAAA,OAAO,IAAMA,gBAAgB,CAAG,SAACC,IAAY,CAAEC,GAA2B,CAAa,CACrF,GAAI,CACF,GAAI,OAAOA,GAAG,GAAK,WAAW,CAAE,CAC9B,OAAOC,IAAI,CAACF,IAAI,CAAC,AAAC,AACpB,CAAC,AACH,CAAE,MAAOG,KAAK,CAAE,CAEdC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC,AACrB,CAAC,AACD,OAAOH,IAAI,AAAC,AACd,CAAC,AAAC,AAcF,QAAO,IAAMM,SAAS,CAAG,eAUU,KATjCC,IAAI,OAAJA,IAAI,UACJC,CAAC,CAADA,CAAC,aAAG,IAAI,GAAA,UACRC,CAAC,CAADA,CAAC,aAAG,EAAE,GAAA,cACNC,KAAK,CAALA,KAAK,iBAAG,GAAG,OAAA,eACXC,MAAM,CAANA,MAAM,kBAAG,GAAG,QAAA,iBACZC,QAAQ,CAARA,QAAQ,oBAAG,EAAE,UAAA,cACbC,KAAK,CAALA,KAAK,iBAAG,CAAC,EAAE,OAAA,gBACXC,OAAO,CAAPA,OAAO,mBAAG,EAAG,SAAA,cACbC,KAAK,CAALA,KAAK,iBAAG,MAAM,OAAA,AAEd,KAAMC,MAAM,CACV,iDAAiD,CACjDN,KAAK,CACL,YAAY,CACZC,MAAM,CACN,sCAAsC,CACtCH,CAAC,CACD,OAAO,CACPC,CAAC,CACD,kEAAkE,CAClEK,OAAO,CACP,YAAY,CACZC,KAAK,CACL,kCAAkC,CAClCF,KAAK,CACL,GAAG,CACHH,KAAK,CAAG,CAAC,CACT,GAAG,CACHC,MAAM,CAAG,CAAC,CACV,gBAAgB,CAChBC,QAAQ,CACR,oDAAoD,CACpD,6NAA6N,CAC7N,IAAI,CACJL,IAAI,CACJ,mBAAmB,AAAC,AAEtB,OAAO,4BAA4B,CAAGU,MAAM,CAACC,IAAI,CAACC,QAAQ,CAACC,kBAAkB,CAACJ,MAAM,CAAC,CAAC,CAAC,AAAC,AAC1F,CAAC,AAAC"}
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ declare type SafeImportParams = {
3
+ /** 文件路径 */
4
+ filePath: string;
5
+ /** src目录下的文件夹路径 ['src/pages' === 'pages'] */
6
+ directory?: string;
7
+ /** 重试次数 默认:2 */
8
+ retriesLeft?: number;
9
+ /** 加载错误时的回调 */
10
+ onError?: () => void;
11
+ /** 降级 */
12
+ fallback?: any;
13
+ };
14
+ /**
15
+ * 安全的import
16
+ * @param {string} filePath 路径
17
+ * @param {string} directory src目录下的文件夹路径 ['src/pages' === 'pages']
18
+ * @param {number} [retriesLeft=2] 重试次数
19
+ * @param {Function} onError 加载错误时的回调
20
+ * @param {any} fallback 降级
21
+ * @returns {Promise} LazyExoticComponent
22
+ * */
23
+ export declare const safeImport: ({ filePath, directory, retriesLeft, onError, fallback, }: SafeImportParams) => Promise<{
24
+ default: any;
25
+ }>;
26
+ /**
27
+ * 动态引入
28
+ * @param {string} filePath 文件路径
29
+ * @param {string} directory 文件夹路径
30
+ * @param {Function} onError 加载错误时的回调
31
+ * @returns {Promise} LazyExoticComponent
32
+ * */
33
+ export declare const lazyImport: (filePath: string, directory?: string, onError?: () => void) => React.LazyExoticComponent<React.ComponentType>;
34
+ export {};
@@ -0,0 +1,2 @@
1
+ import React from"react";import{Outlet}from"react-router-dom";export var safeImport=function(param){var filePath=param.filePath,directory=param.directory,_retriesLeft=param.retriesLeft,retriesLeft=_retriesLeft===void 0?2:_retriesLeft,onError=param.onError,fallback=param.fallback;var filePaths=filePath.startsWith("/")?filePath.slice(1):filePath;var _directory=directory||"pages";return new Promise(function(resolve){return import("@/"+_directory+(_directory===""?"":"/")+filePaths).then(resolve).catch(function(){if(retriesLeft===1){if(onError){onError()}return Promise.resolve({default:fallback})}return safeImport({filePath:filePath,retriesLeft:retriesLeft-1,directory:directory,onError:onError,fallback:fallback})})})};export var lazyImport=function(filePath,directory,onError){var filePaths=filePath.startsWith("/")?filePath.slice(1):filePath;var _directory=directory||"pages";return React.lazy(function(){return safeImport({filePath:filePath,directory:directory,onError:onError,fallback:React.createElement("div",{path:_directory+"/"+filePaths},React.createElement(Outlet))})})};
2
+ //# sourceMappingURL=lazy-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/lazy-import.ts"],"sourcesContent":["import React from 'react';\nimport { Outlet } from 'react-router-dom';\n\ntype SafeImportParams = {\n /** 文件路径 */\n filePath: string;\n /** src目录下的文件夹路径 ['src/pages' === 'pages'] */\n directory?: string;\n /** 重试次数 默认:2 */\n retriesLeft?: number;\n /** 加载错误时的回调 */\n onError?: () => void;\n /** 降级 */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fallback?: any;\n};\n\n/**\n * 安全的import\n * @param {string} filePath 路径\n * @param {string} directory src目录下的文件夹路径 ['src/pages' === 'pages']\n * @param {number} [retriesLeft=2] 重试次数\n * @param {Function} onError 加载错误时的回调\n * @param {any} fallback 降级\n * @returns {Promise} LazyExoticComponent\n * */\nexport const safeImport = ({\n filePath,\n directory,\n retriesLeft = 2,\n onError,\n fallback,\n}: SafeImportParams): Promise<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: any;\n}> => {\n const filePaths = filePath.startsWith('/') ? filePath.slice(1) : filePath;\n const _directory = directory || 'pages';\n\n return new Promise((resolve) =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/' + _directory + (_directory === '' ? '' : '/') + filePaths\n )\n .then(resolve)\n .catch(() => {\n if (retriesLeft === 1) {\n if (onError) {\n onError();\n }\n return Promise.resolve({\n default: fallback,\n });\n }\n // 失败之后重载\n return safeImport({\n filePath,\n retriesLeft: retriesLeft - 1,\n directory,\n onError,\n fallback,\n });\n })\n );\n};\n\n/**\n * 动态引入\n * @param {string} filePath 文件路径\n * @param {string} directory 文件夹路径\n * @param {Function} onError 加载错误时的回调\n * @returns {Promise} LazyExoticComponent\n * */\nexport const lazyImport = (\n filePath: string,\n directory?: string,\n onError?: () => void\n): React.LazyExoticComponent<React.ComponentType> => {\n const filePaths = filePath.startsWith('/') ? filePath.slice(1) : filePath;\n const _directory = directory || 'pages';\n\n return React.lazy(() =>\n safeImport({\n filePath,\n directory,\n onError,\n fallback: React.createElement(\n 'div',\n {\n path: _directory + '/' + filePaths,\n },\n React.createElement(Outlet)\n ),\n })\n );\n};\n"],"names":["React","Outlet","safeImport","filePath","directory","retriesLeft","onError","fallback","filePaths","startsWith","slice","_directory","Promise","resolve","then","catch","default","lazyImport","lazy","createElement","path"],"mappings":"AAAA,OAAOA,KAAK,KAAM,OAAO,AAAC,AAC1B,QAASC,MAAM,KAAQ,kBAAkB,AAAC,AAyB1C,QAAO,IAAMC,UAAU,CAAG,eASpB,KARJC,QAAQ,OAARA,QAAQ,CACRC,SAAS,OAATA,SAAS,oBACTC,WAAW,CAAXA,WAAW,uBAAG,CAAC,aAAA,CACfC,OAAO,OAAPA,OAAO,CACPC,QAAQ,OAARA,QAAQ,AAKR,KAAMC,SAAS,CAAGL,QAAQ,CAACM,UAAU,CAAC,GAAG,CAAC,CAAGN,QAAQ,CAACO,KAAK,CAAC,CAAC,CAAC,CAAGP,QAAQ,AAAC,AAC1E,KAAMQ,UAAU,CAAGP,SAAS,EAAI,OAAO,AAAC,AAExC,QAAO,IAAIQ,OAAO,CAAC,SAACC,OAAO,SACzB,MAAM,CAEJ,IAAI,CAAGF,UAAU,CAAIA,CAAAA,UAAU,GAAK,EAAE,CAAG,EAAE,CAAG,GAAG,CAAA,CAAIH,SAAS,CAC/D,CACEM,IAAI,CAACD,OAAO,CAAC,CACbE,KAAK,CAAC,UAAM,CACX,GAAIV,WAAW,GAAK,CAAC,CAAE,CACrB,GAAIC,OAAO,CAAE,CACXA,OAAO,EAAE,AACX,CAAC,AACD,OAAOM,OAAO,CAACC,OAAO,CAAC,CACrBG,OAAO,CAAET,QAAQ,CAClB,CAAC,AAAC,AACL,CAAC,AAED,OAAOL,UAAU,CAAC,CAChBC,QAAQ,CAARA,QAAQ,CACRE,WAAW,CAAEA,WAAW,CAAG,CAAC,CAC5BD,SAAS,CAATA,SAAS,CACTE,OAAO,CAAPA,OAAO,CACPC,QAAQ,CAARA,QAAQ,CACT,CAAC,AAAC,AACL,CAAC,CAAC,CAAA,CACL,AAAC,AACJ,CAAC,AAAC,AASF,QAAO,IAAMU,UAAU,CAAG,SACxBd,QAAgB,CAChBC,SAAkB,CAClBE,OAAoB,CAC+B,CACnD,IAAME,SAAS,CAAGL,QAAQ,CAACM,UAAU,CAAC,GAAG,CAAC,CAAGN,QAAQ,CAACO,KAAK,CAAC,CAAC,CAAC,CAAGP,QAAQ,AAAC,AAC1E,KAAMQ,UAAU,CAAGP,SAAS,EAAI,OAAO,AAAC,AAExC,QAAOJ,KAAK,CAACkB,IAAI,CAAC,kBAChBhB,UAAU,CAAC,CACTC,QAAQ,CAARA,QAAQ,CACRC,SAAS,CAATA,SAAS,CACTE,OAAO,CAAPA,OAAO,CACPC,QAAQ,CAAEP,KAAK,CAACmB,aAAa,CAC3B,KAAK,CACL,CACEC,IAAI,CAAET,UAAU,CAAG,GAAG,CAAGH,SAAS,CACnC,CACDR,KAAK,CAACmB,aAAa,CAAClB,MAAM,CAAC,CAC5B,CACF,CAAC,CAAA,CACH,AAAC,AACJ,CAAC,AAAC"}
File without changes
@@ -0,0 +1,2 @@
1
+ (function(doc,win){var refreshRem=function refreshRem(){var docEl=doc.documentElement;var clientWidth=docEl.clientWidth||doc.body.clientWidth;var _designSize=clientWidth<=375?375:programInfo.designSize;var unitSize=clientWidth;if(clientWidth<=375){unitSize=clientWidth}else if(clientWidth<=programInfo.designSize){unitSize=_designSize}else{unitSize=clientWidth}var rootSize=16/_designSize*unitSize+"px";if(rootSize!==docEl.style.fontSize){docEl.style.fontSize=rootSize}};refreshRem();if("addEventListener"in doc){var resizeEvt="orientationchange"in win?"orientationchange":"resize";win.addEventListener(resizeEvt,refreshRem,false)}if(!window.scrollTo){window.scrollTo=function(option){window.scrollLeft=option.left;window.scrollTop=option.top}}if(!document.body.scrollTo){Element.prototype.scrollTo=function(option){this.scrollLeft=option.left;this.scrollTop=option.top}}})(document,window);
2
+ //# sourceMappingURL=refresh-rem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/refresh-rem.ts"],"sourcesContent":["(function (doc, win) {\n function refreshRem() {\n const docEl = doc.documentElement;\n const clientWidth = docEl.clientWidth || doc.body.clientWidth;\n const _designSize = clientWidth <= 375 ? 375 : programInfo.designSize;\n let unitSize = clientWidth;\n\n if (clientWidth <= 375) {\n unitSize = clientWidth;\n } else if (clientWidth <= programInfo.designSize) {\n unitSize = _designSize;\n } else {\n unitSize = clientWidth;\n }\n // 窗口大于设计尺寸的时候,使用窗口大小\n // const unitSize = clientWidth > designSize ? designSize : clientWidth;\n // const rootSize = (16 / designSize) * unitSize + 'px';\n // 保持设计比例\n const rootSize = (16 / _designSize) * unitSize + 'px';\n\n if (rootSize !== docEl.style.fontSize) {\n docEl.style.fontSize = rootSize;\n }\n }\n refreshRem();\n if ('addEventListener' in doc) {\n const resizeEvt = 'orientationchange' in win ? 'orientationchange' : 'resize';\n\n win.addEventListener(resizeEvt, refreshRem, false);\n }\n /**\n * 判断 window 及元素节点对象下是否存在 scrollTo 属性,\n * 不存在则自定义,这样就可以解决 IE 下不兼容 scrollTo 的问题\n */\n\n if (!window.scrollTo) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n window.scrollTo = function (option: any) {\n window.scrollLeft = option.left;\n window.scrollTop = option.top;\n };\n }\n\n if (!document.body.scrollTo) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Element.prototype.scrollTo = function (option: any) {\n this.scrollLeft = option.left;\n this.scrollTop = option.top;\n };\n }\n})(document, window);\n"],"names":["doc","win","refreshRem","docEl","documentElement","clientWidth","body","_designSize","programInfo","designSize","unitSize","rootSize","style","fontSize","resizeEvt","addEventListener","window","scrollTo","option","scrollLeft","left","scrollTop","top","document","Element","prototype"],"mappings":"AAAC,CAAA,SAAUA,GAAG,CAAEC,GAAG,CAAE,KACVC,UAAU,CAAnB,SAASA,UAAU,EAAG,CACpB,IAAMC,KAAK,CAAGH,GAAG,CAACI,eAAe,AAAC,AAClC,KAAMC,WAAW,CAAGF,KAAK,CAACE,WAAW,EAAIL,GAAG,CAACM,IAAI,CAACD,WAAW,AAAC,AAC9D,KAAME,WAAW,CAAGF,WAAW,EAAI,GAAG,CAAG,GAAG,CAAGG,WAAW,CAACC,UAAU,AAAC,AACtE,KAAIC,QAAQ,CAAGL,WAAW,AAAC,AAE3B,IAAIA,WAAW,EAAI,GAAG,CAAE,CACtBK,QAAQ,CAAGL,WAAW,AACxB,MAAO,GAAIA,WAAW,EAAIG,WAAW,CAACC,UAAU,CAAE,CAChDC,QAAQ,CAAGH,WAAW,AACxB,KAAO,CACLG,QAAQ,CAAGL,WAAW,AACxB,CAAC,AAKD,IAAMM,QAAQ,CAAG,AAAC,EAAE,CAAGJ,WAAW,CAAIG,QAAQ,CAAG,IAAI,AAAC,AAEtD,IAAIC,QAAQ,GAAKR,KAAK,CAACS,KAAK,CAACC,QAAQ,CAAE,CACrCV,KAAK,CAACS,KAAK,CAACC,QAAQ,CAAGF,QAAQ,AACjC,CAAC,AACH,CAAC,AACDT,CAAAA,UAAU,EAAE,AACZ,CADa,GACT,kBAAkB,GAAIF,GAAG,CAAE,CAC7B,IAAMc,SAAS,CAAG,mBAAmB,GAAIb,GAAG,CAAG,mBAAmB,CAAG,QAAQ,AAAC,AAE9EA,CAAAA,GAAG,CAACc,gBAAgB,CAACD,SAAS,CAAEZ,UAAU,CAAE,KAAK,CAAC,AACpD,CAAC,AAMD,GAAI,CAACc,MAAM,CAACC,QAAQ,CAAE,CAEpBD,MAAM,CAACC,QAAQ,CAAG,SAAUC,MAAW,CAAE,CACvCF,MAAM,CAACG,UAAU,CAAGD,MAAM,CAACE,IAAI,AAC/BJ,CADgC,AAChCA,MAAM,CAACK,SAAS,CAAGH,MAAM,CAACI,GAAG,AAC/B,CAAC,AACH,CAAC,AAED,GAAI,CAACC,QAAQ,CAACjB,IAAI,CAACW,QAAQ,CAAE,CAE3BO,OAAO,CAACC,SAAS,CAACR,QAAQ,CAAG,SAAUC,MAAW,CAAE,CAClD,IAAI,CAACC,UAAU,CAAGD,MAAM,CAACE,IAAI,AAC7B,CAD8B,AAC9B,IAAI,CAACC,SAAS,CAAGH,MAAM,CAACI,GAAG,AAC7B,CAAC,AACH,CAAC,AACH,CAAC,CAAA,CAAEC,QAAQ,CAAEP,MAAM,CAAC,AAAC,CAAA"}
@@ -0,0 +1,13 @@
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;
@@ -0,0 +1,2 @@
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 tinycolor from"tinycolor2";import colorPalette from"./color-palette";import variables from"../styles/vars.less";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),variables.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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/theme.ts"],"sourcesContent":["import tinycolor from 'tinycolor2';\nimport colorPalette from './color-palette';\nimport variables from '../styles/vars.less';\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\n .mix(colorPalette(color, 8), variables.menuDarkBg || '#141414', 0.15)\n .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":["tinycolor","colorPalette","variables","getColorPalette","name","color","type","bg","vars","i","Object","assign","mix","setAlpha","toRgbString","keyword","setThemeColor","options","forEach","colors","componentBackground","menuDarkBg","key","prototype","hasOwnProperty","call","newColor","getComputedStyle","document","documentElement","getPropertyValue","style","setProperty","tableHeaderBg"],"mappings":"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"}