@lambo-design/shared 1.0.0-beta.4 → 1.0.0-beta.41

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 (39) hide show
  1. package/config/config.js +12 -0
  2. package/config/themes/default/default.css +4 -2
  3. package/config/themes/default/default.css.map +1 -0
  4. package/config/themes/default/default.less +75 -74
  5. package/config/themes/default/var.less +2 -2
  6. package/config/themes/gold/default.css +6 -4
  7. package/config/themes/gold/default.css.map +1 -0
  8. package/config/themes/gold/default.less +75 -74
  9. package/config/themes/gold/var.less +2 -2
  10. package/config/themes/index.js +5 -1
  11. package/config/themes/lime/default.css +6 -4
  12. package/config/themes/lime/default.css.map +1 -0
  13. package/config/themes/lime/default.less +75 -74
  14. package/config/themes/lime/var.less +2 -2
  15. package/config/themes/orange/orange.css +243 -0
  16. package/config/themes/orange/orange.css.map +1 -0
  17. package/config/themes/orange/orange.less +320 -0
  18. package/config/themes/orange/var.less +314 -0
  19. package/config/themes/red/red.css +243 -0
  20. package/config/themes/red/red.css.map +1 -0
  21. package/config/themes/red/red.less +320 -0
  22. package/config/themes/red/var.less +314 -0
  23. package/config/themes/theme-default.js +4 -6
  24. package/config/themes/theme-gold.js +5 -7
  25. package/config/themes/theme-lime.js +5 -7
  26. package/config/themes/theme-orange.js +41 -0
  27. package/config/themes/theme-red.js +41 -0
  28. package/directives/index.js +23 -0
  29. package/directives/module/draggable.js +56 -0
  30. package/directives/module/permission.js +49 -0
  31. package/index.js +2 -1
  32. package/package.json +22 -20
  33. package/utils/ajax/interceptors.js +97 -90
  34. package/utils/assist.js +24 -19
  35. package/utils/menu/before-close.js +17 -0
  36. package/utils/menu/index.js +135 -0
  37. package/utils/platform.js +84 -8
  38. package/utils/theme.js +1 -1
  39. package/utils/vxetable/index.js +25 -0
@@ -0,0 +1,314 @@
1
+ @primary-color : #ff3457;
2
+ @primary-color-tint-20 : tint(@primary-color,20%);
3
+ @primary-color-tint-90 : tint(@primary-color,90%);
4
+ @primary-color-tint-80 : tint(@primary-color,80%);
5
+ @primary-color-tint-5 : tint(@primary-color,5%);
6
+ @primary-color-tint-95-fade-50 : fade(tint(@primary-color, 95%), 50%);
7
+ @primary-color-fade-20 : fade(@primary-color, 20%);
8
+ @primary-color-shade-5 : shade(@primary-color, 5%);
9
+
10
+
11
+ @info-color : #2db7f5;
12
+ @info-color-tint-20 : tint(@info-color,20%);
13
+ @info-color-tint-90 : tint(@info-color,90%);
14
+ @info-color-tint-80 : tint(@info-color,80%);
15
+ @info-color-tint-5 : tint(@info-color,5%);
16
+ @info-color-tint-95-fade-50 : fade(tint(@info-color,95%),50%);
17
+ @info-color-fade-20 : fade(@info-color, 20%);
18
+ @info-color-shade-5 : shade(@info-color, 5%);
19
+
20
+
21
+ @success-color : #19be6b;
22
+ @success-color-tint-20 : tint(@success-color,20%);
23
+ @success-color-tint-90 : tint(@success-color,90%);
24
+ @success-color-tint-80 : tint(@success-color,80%);
25
+ @success-color-tint-5 : tint(@success-color, 5%);
26
+ @success-color-tint-95-fade-50 : fade(tint(@success-color, 95%), 50%);
27
+ @success-color-fade-20 : fade(@success-color, 20%);
28
+ @success-color-shade-5 : shade(@success-color, 5%);
29
+
30
+
31
+ @processing-color : @primary-color;
32
+
33
+
34
+ @warning-color : #ff9900;
35
+ @warning-color-tint-20 : tint(@warning-color,20%);
36
+ @warning-color-tint-90 : tint(@warning-color,90%);
37
+ @warning-color-tint-5 : tint(@warning-color, 5%);
38
+ @warning-color-tint-80 : tint(@warning-color,80%);
39
+ @warning-color-tint-95-fade-50 : fade(tint(@warning-color, 95%), 50%);
40
+ @warning-color-fade-20 : fade(@warning-color, 20%);
41
+ @warning-color-shade-5 : shade(@warning-color, 5%);
42
+
43
+
44
+
45
+ @error-color : #ed4014;
46
+ @error-color-tint-20 : tint(@error-color,20%);
47
+ @error-color-tint-90 : tint(@error-color, 90%);
48
+ @error-color-tint-5 : tint(@error-color, 5%);
49
+ @error-color-tint-80 : tint(@error-color,80%);
50
+ @error-color-tint-95-fade-50 : fade(tint(@error-color, 95%), 50%);
51
+ @error-color-fade-20 : fade(@error-color, 20%);
52
+ @error-color-shade-5 : shade(@error-color, 5%);
53
+
54
+
55
+
56
+
57
+ @normal-color : rgba(255, 245, 247, 0);
58
+ @link-color : #ff3457;
59
+ @link-hover-color : tint(@link-color, 20%);
60
+ @link-active-color : shade(@link-color, 5%);
61
+ @selected-color : fade(@primary-color, 90%);
62
+ @selected-color-shade-10: shade(@selected-color, 10%);
63
+ @tooltip-color : #fff;
64
+ @subsidiary-color : #808695;
65
+ @rate-star-color : #f5a623;
66
+ @rate-star-color-tint-20: tint(@rate-star-color, 20%);
67
+ @white: #fff;
68
+ @black: #000;
69
+
70
+ // Base
71
+ @body-background : #fff;
72
+ @component-background : #fff;
73
+ @font-family : "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
74
+ @code-family : Consolas,Menlo,Courier,monospace;
75
+ @title-color : #17233d;
76
+ @text-color : #515a6e;
77
+ @text-color-secondary: fade(@black, 45%);
78
+ @heading-color: fade(#000, 85%);
79
+ @heading-color-dark: fade(@white, 100%);
80
+ @font-size-base : 14px;
81
+ @font-size-small : 12px;
82
+ @font-size-large : @font-size-base + 2px;
83
+ @line-height-base : 1.5;
84
+ @line-height-computed : floor((@font-size-base * @line-height-base));
85
+ @border-radius-base : 6px;
86
+ @border-radius-small : 4px;
87
+ @cursor-disabled : not-allowed;
88
+
89
+ // vertical paddings
90
+ @padding-lg: 24px; // containers
91
+ @padding-md: 16px; // small containers and buttons
92
+ @padding-sm: 12px; // Form controls and items
93
+ @padding-xs: 8px; // small items
94
+
95
+ // Border color
96
+ @border-color-base : #dcdee2; // outside
97
+ @border-color-split : #e8eaec; // inside
98
+ @border-width-base : 1px; // width of the border for a component
99
+ @border-style-base : solid; // style of a components border
100
+
101
+ // Background color
102
+ @background-color-base : #f7f7f7; // base
103
+ @background-color-select-hover: @input-disabled-bg;
104
+ @tooltip-bg : rgba(70, 76, 91, .9);
105
+ @head-bg : #f9fafc;
106
+ @table-thead-bg : #f8f8f9;
107
+ @table-td-stripe-bg : #f8f8f9;
108
+ @table-td-hover-bg : #ebf7ff;
109
+ @table-td-highlight-bg : #ebf7ff;
110
+ @menu-dark-title : #515a6e;
111
+ @menu-dark-active-bg : #363e4f;
112
+ @menu-dark-subsidiary-color : rgba(255,255,255,.7);
113
+ @menu-dark-group-title-color : rgba(255,255,255,.36);
114
+ @date-picker-cell-hover-bg : rgba(255, 52, 87, 0.3);
115
+
116
+ // Shadow
117
+ @shadow-color : rgba(0, 0, 0, .2);
118
+ @shadow-base : @shadow-down;
119
+ @shadow-card : 0 1px 1px 0 rgba(0,0,0,.1);
120
+ @shadow-up : 0 -1px 6px @shadow-color;
121
+ @shadow-down : 0 1px 6px @shadow-color;
122
+ @shadow-left : -1px 0 6px @shadow-color;
123
+ @shadow-right : 1px 0 6px @shadow-color;
124
+
125
+ // Button
126
+ @btn-height-base : 32px;
127
+ @btn-height-large : 40px;
128
+ @btn-height-small : 24px;
129
+
130
+ @btn-padding-base : 0 @padding-md - 1px;
131
+ @btn-padding-large : @btn-padding-base;
132
+ @btn-padding-small : 0 @padding-xs - 1px;
133
+
134
+ @btn-font-weight : normal;
135
+ @btn-padding-base-icon : 5px 15px 6px;
136
+ @btn-padding-large-icon : 6px 15px 6px 15px;
137
+ @btn-padding-small-icon : 1px 7px 2px;
138
+ @btn-font-size : @font-size-base;
139
+ @btn-font-size-large : @font-size-large;
140
+ @btn-font-size-small : @font-size-base;
141
+ @btn-border-radius : 4px;
142
+ @btn-border-radius-small: 3px;
143
+ @btn-group-border : shade(@primary-color, 5%);
144
+
145
+ @btn-disable-color : #c5c8ce;
146
+ @btn-disable-bg : @background-color-base;
147
+ @btn-disable-border : @border-color-base;
148
+
149
+ @btn-default-color : @text-color;
150
+ @btn-default-color-tint-20: tint(@btn-default-color, 20%);
151
+ @btn-default-color-shade-5: shade(@btn-default-color, 5%);
152
+ @btn-default-bg : #fff;
153
+ @btn-default-bg-tint-20 : tint(@btn-default-bg, 20%);
154
+ @btn-default-bg-shade-5 : shade(@btn-default-bg, 5%);
155
+ @btn-default-border : @border-color-base;
156
+ @btn-default-border-tint-20 : tint(@btn-default-border, 20%);
157
+ @btn-default-border-shade-5 : shade(@btn-default-border, 5%);
158
+
159
+ @btn-primary-color : #fff;
160
+ @btn-primary-color-tint-20 : tint(@btn-primary-color, 20%);
161
+ @btn-primary-color-tint-5 : tint(@btn-primary-color, 5%);
162
+ @btn-primary-color-shade-5 : shade(@btn-primary-color, 5%);
163
+
164
+ @btn-primary-bg : @primary-color;
165
+ @btn-primary-bg-tint-20 : tint(@btn-primary-bg, 20%);
166
+ @btn-primary-bg-tint-5 : tint(@btn-primary-bg, 5%);
167
+ @btn-primary-bg-shade-5 : shade(@btn-primary-bg, 5%);
168
+
169
+ @btn-ghost-color : @text-color;
170
+ @btn-ghost-color-tint-20: tint(@btn-ghost-color, 20%);
171
+ @btn-ghost-color-shade-5 : shade(@btn-ghost-color, 5%);
172
+
173
+ @btn-ghost-bg : #fff;
174
+ @btn-ghost-bg-tint-20 : tint(@btn-ghost-bg, 20%);
175
+ @btn-ghost-bg-shade-5 : shade(@btn-ghost-bg, 5%);
176
+ @btn-ghost-border : @border-color-base;
177
+ @btn-ghost-border-tint-20:tint(@btn-ghost-border, 20%);
178
+ @btn-ghost-border-shade-5:shade(@btn-ghost-border, 5%);
179
+
180
+ @btn-circle-size : @btn-height-base;
181
+ @btn-circle-size-large : @btn-height-large;
182
+ @btn-circle-size-small : @btn-height-small;
183
+
184
+ @btn-square-size : @btn-height-base;
185
+ @btn-square-size-large : @btn-height-large;
186
+ @btn-square-size-small : @btn-height-small;
187
+
188
+ // Layout and Grid
189
+ @grid-columns : 24;
190
+ @grid-gutter-width : 0;
191
+ @layout-body-background : #f5f7f9;
192
+ @layout-header-background : #515a6e;
193
+ @layout-header-height : 64px;
194
+ @layout-header-padding : 0 50px;
195
+ @layout-footer-padding : 24px 50px;
196
+ @layout-footer-background : @layout-body-background;
197
+ @layout-sider-background : @layout-header-background;
198
+ @layout-sider-background-tint-10 : tint(@layout-sider-background, 10%);
199
+ @layout-trigger-height : 48px;
200
+ @layout-trigger-color : #fff;
201
+ @layout-zero-trigger-width : 36px;
202
+ @layout-zero-trigger-height : 42px;
203
+
204
+ // Legend
205
+ @legend-color : #999;
206
+
207
+ // Input
208
+ @input-height-base : 32px;
209
+ @input-height-large : 40px;
210
+ @input-height-small : 24px;
211
+
212
+ @input-padding-horizontal : 7px;
213
+ @input-padding-vertical-base : 4px;
214
+ @input-padding-vertical-small: 1px;
215
+ @input-padding-vertical-large: 6px;
216
+
217
+ @input-placeholder-color : @btn-disable-color;
218
+ @input-color : @text-color;
219
+ @input-border-color : @border-color-base;
220
+ @input-border-color-tint-20 : tint(@input-border-color, 20%);
221
+ @input-bg : #fff;
222
+ @input-group-bg : #f8f8f9;
223
+
224
+ @input-hover-border-color : @primary-color;
225
+ @input-hover-border-color-tint-20 : tint(@input-hover-border-color, 20%);
226
+ @input-hover-border-color-fade-20 : fade(@input-hover-border-color, 20%);
227
+ @input-focus-border-color : @primary-color;
228
+ @input-disabled-bg : #f3f3f3;
229
+
230
+ // Tag
231
+ @tag-font-size : 12px;
232
+
233
+ // Media queries breakpoints
234
+ // Extra small screen / phone
235
+ @screen-xs : 480px;
236
+ @screen-xs-min : @screen-xs;
237
+ @screen-xs-max : (@screen-xs-min - 1);
238
+
239
+ // Small screen / tablet
240
+ @screen-sm : 576px;
241
+ @screen-sm-min : @screen-sm;
242
+ @screen-sm-max : (@screen-sm-min - 1);
243
+
244
+ // Medium screen / desktop
245
+ @screen-md : 768px;
246
+ @screen-md-min : @screen-md;
247
+ @screen-md-max : (@screen-md-min - 1);
248
+
249
+ // Large screen / wide desktop
250
+ @screen-lg : 992px;
251
+ @screen-lg-min : @screen-lg;
252
+ @screen-lg-max : (@screen-lg-min - 1);
253
+
254
+ // Extra large screen / full hd
255
+ @screen-xl : 1200px;
256
+ @screen-xl-min : @screen-xl;
257
+ @screen-xl-max : (@screen-xl-min - 1);
258
+
259
+ // Extra extra large screen / large descktop
260
+ @screen-xxl : 1600px;
261
+ @screen-xxl-min : @screen-xxl;
262
+ @screen-xxl-max : (@screen-xxl-min - 1);
263
+
264
+ // Z-index
265
+ @zindex-spin : 8;
266
+ @zindex-affix : 10;
267
+ @zindex-back-top : 10;
268
+ @zindex-select : 900;
269
+ @zindex-modal : 1000;
270
+ @zindex-drawer : 1000;
271
+ @zindex-message : 1010;
272
+ @zindex-notification : 1010;
273
+ @zindex-tooltip : 1060;
274
+ @zindex-transfer : 1060;
275
+ @zindex-loading-bar : 2000;
276
+ @zindex-spin-fullscreen : 2010;
277
+
278
+ // Animation
279
+ @animation-time : .3s;
280
+ @animation-time-quick : .15s;
281
+ @transition-time : .2s;
282
+ @ease-in-out : ease-in-out;
283
+
284
+ // Slider
285
+ @slider-color : @primary-color-tint-20;
286
+ @slider-height : 4px;
287
+ @slider-margin : 16px 0;
288
+ @slider-button-wrap-size : 18px;
289
+ @slider-button-wrap-offset : -5px;
290
+ @slider-disabled-color : #ccc;
291
+
292
+ // Avatar
293
+ @avatar-size-base: 32px;
294
+ @avatar-size-lg: 40px;
295
+ @avatar-size-sm: 24px;
296
+ @avatar-font-size-base: 18px;
297
+ @avatar-font-size-lg: 24px;
298
+ @avatar-font-size-sm: 14px;
299
+ @avatar-bg: #ccc;
300
+ @avatar-color: #fff;
301
+ @avatar-border-radius: @border-radius-small;
302
+
303
+ // Anchor
304
+ @anchor-border-width: 2px;
305
+
306
+ // List
307
+ // ---
308
+ @list-header-background: transparent;
309
+ @list-footer-background: transparent;
310
+ @list-empty-text-padding: @padding-md;
311
+ @list-item-padding: @padding-sm 0;
312
+ @list-item-meta-margin-bottom: @padding-md;
313
+ @list-item-meta-avatar-margin-right: @padding-md;
314
+ @list-item-meta-title-margin-bottom: @padding-sm;
@@ -18,7 +18,7 @@ export default {
18
18
  --info-color-tint-5: #38bbf6;
19
19
  --info-color-tint-95-fade-50: rgba(245, 251, 254, 0.5);
20
20
  --info-color-fade-20: rgba(45, 183, 245, 0.2);
21
- --info-color-shade-5: var(--info-color-shade-5, #2baee9);
21
+ --info-color-shade-5: #2baee9;
22
22
  --success-color: #19be6b;
23
23
  --success-color-tint-20: #47cb89;
24
24
  --success-color-tint-90: #e8f9f0;
@@ -45,7 +45,7 @@ export default {
45
45
  --error-color-fade-20: rgba(237, 64, 20, 0.2);
46
46
  --error-color-shade-5: #e13d13;
47
47
  --normal-color: #e6ebf1;
48
- --link-color: #2D8cF0;
48
+ --link-color: #2d8cf0;
49
49
  --link-hover-color: #57a3f3;
50
50
  --link-active-color: #2b85e4;
51
51
  --selected-color: rgba(45, 140, 240, 0.9);
@@ -89,7 +89,6 @@ export default {
89
89
  --table-td-stripe-bg: #f8f8f9;
90
90
  --table-td-hover-bg: #ebf7ff;
91
91
  --table-td-highlight-bg: #ebf7ff;
92
- --menu-dark-title: #515a6e;
93
92
  --menu-dark-active-bg: #363e4f;
94
93
  --menu-dark-subsidiary-color: rgba(255, 255, 255, 0.7);
95
94
  --menu-dark-group-title-color: rgba(255, 255, 255, 0.36);
@@ -136,6 +135,7 @@ export default {
136
135
  --btn-primary-bg: #2d8cf0;
137
136
  --btn-primary-bg-tint-20: #57a3f3;
138
137
  --btn-primary-bg-tint-5: #3892f1;
138
+ --btn-primary-bg-shade-5: #2b85e4;
139
139
  --btn-ghost-color: #515a6e;
140
140
  --btn-ghost-color-tint-20: #747b8b;
141
141
  --btn-ghost-color-shade-5: #4d5669;
@@ -154,12 +154,10 @@ export default {
154
154
  --grid-columns: 24;
155
155
  --grid-gutter-width: 0;
156
156
  --layout-body-background: #f5f7f9;
157
- --layout-header-background: #515a6e;
158
157
  --layout-header-height: 64px;
159
158
  --layout-header-padding: 0 50px;
160
159
  --layout-footer-padding: 24px 50px;
161
160
  --layout-footer-background: #f5f7f9;
162
- --layout-sider-background: #515a6e;
163
161
  --layout-sider-background-tint-10: #626b7d;
164
162
  --layout-trigger-height: 48px;
165
163
  --layout-trigger-color: #fff;
@@ -248,5 +246,5 @@ export default {
248
246
  padding:0;
249
247
  margin:0;
250
248
  }
251
- `
249
+ `
252
250
  };
@@ -18,7 +18,7 @@ export default {
18
18
  --info-color-tint-5: #38bbf6;
19
19
  --info-color-tint-95-fade-50: rgba(245, 251, 254, 0.5);
20
20
  --info-color-fade-20: rgba(45, 183, 245, 0.2);
21
- --info-color-shade-5: var(--info-color-shade-5, #2baee9);
21
+ --info-color-shade-5: #2baee9;
22
22
  --success-color: #19be6b;
23
23
  --success-color-tint-20: #47cb89;
24
24
  --success-color-tint-90: #e8f9f0;
@@ -45,9 +45,9 @@ export default {
45
45
  --error-color-fade-20: rgba(237, 64, 20, 0.2);
46
46
  --error-color-shade-5: #e13d13;
47
47
  --normal-color: #e6ebf1;
48
- --link-color: #2D8cF0;
49
- --link-hover-color: #57a3f3;
50
- --link-active-color: #2b85e4;
48
+ --link-color: #fa8c16;
49
+ --link-hover-color: #fba345;
50
+ --link-active-color: #ee8515;
51
51
  --selected-color: rgba(250, 140, 22, 0.9);
52
52
  --selected-color-shade-10: rgba(220, 123, 19, 0.91);
53
53
  --tooltip-color: #fff;
@@ -89,7 +89,6 @@ export default {
89
89
  --table-td-stripe-bg: #f8f8f9;
90
90
  --table-td-hover-bg: #ebf7ff;
91
91
  --table-td-highlight-bg: #ebf7ff;
92
- --menu-dark-title: #515a6e;
93
92
  --menu-dark-active-bg: #363e4f;
94
93
  --menu-dark-subsidiary-color: rgba(255, 255, 255, 0.7);
95
94
  --menu-dark-group-title-color: rgba(255, 255, 255, 0.36);
@@ -136,6 +135,7 @@ export default {
136
135
  --btn-primary-bg: #fa8c16;
137
136
  --btn-primary-bg-tint-20: #fba345;
138
137
  --btn-primary-bg-tint-5: #fa9222;
138
+ --btn-primary-bg-shade-5: #ee8515;
139
139
  --btn-ghost-color: #515a6e;
140
140
  --btn-ghost-color-tint-20: #747b8b;
141
141
  --btn-ghost-color-shade-5: #4d5669;
@@ -154,12 +154,10 @@ export default {
154
154
  --grid-columns: 24;
155
155
  --grid-gutter-width: 0;
156
156
  --layout-body-background: #f5f7f9;
157
- --layout-header-background: #515a6e;
158
157
  --layout-header-height: 64px;
159
158
  --layout-header-padding: 0 50px;
160
159
  --layout-footer-padding: 24px 50px;
161
160
  --layout-footer-background: #f5f7f9;
162
- --layout-sider-background: #515a6e;
163
161
  --layout-sider-background-tint-10: #626b7d;
164
162
  --layout-trigger-height: 48px;
165
163
  --layout-trigger-color: #fff;
@@ -18,7 +18,7 @@ export default {
18
18
  --info-color-tint-5: #38bbf6;
19
19
  --info-color-tint-95-fade-50: rgba(245, 251, 254, 0.5);
20
20
  --info-color-fade-20: rgba(45, 183, 245, 0.2);
21
- --info-color-shade-5: var(--info-color-shade-5, #2baee9);
21
+ --info-color-shade-5: #2baee9;
22
22
  --success-color: #19be6b;
23
23
  --success-color-tint-20: #47cb89;
24
24
  --success-color-tint-90: #e8f9f0;
@@ -45,9 +45,9 @@ export default {
45
45
  --error-color-fade-20: rgba(237, 64, 20, 0.2);
46
46
  --error-color-shade-5: #e13d13;
47
47
  --normal-color: #e6ebf1;
48
- --link-color: #2D8cF0;
49
- --link-hover-color: #57a3f3;
50
- --link-active-color: #2b85e4;
48
+ --link-color: #52c41a;
49
+ --link-hover-color: #75d048;
50
+ --link-active-color: #4eba19;
51
51
  --selected-color: rgba(82, 196, 26, 0.9);
52
52
  --selected-color-shade-10: rgba(72, 173, 23, 0.91);
53
53
  --tooltip-color: #fff;
@@ -89,7 +89,6 @@ export default {
89
89
  --table-td-stripe-bg: #f8f8f9;
90
90
  --table-td-hover-bg: #ebf7ff;
91
91
  --table-td-highlight-bg: #ebf7ff;
92
- --menu-dark-title: #515a6e;
93
92
  --menu-dark-active-bg: #363e4f;
94
93
  --menu-dark-subsidiary-color: rgba(255, 255, 255, 0.7);
95
94
  --menu-dark-group-title-color: rgba(255, 255, 255, 0.36);
@@ -136,6 +135,7 @@ export default {
136
135
  --btn-primary-bg: #52c41a;
137
136
  --btn-primary-bg-tint-20: #75d048;
138
137
  --btn-primary-bg-tint-5: #5bc725;
138
+ --btn-primary-bg-shade-5: #4eba19;
139
139
  --btn-ghost-color: #515a6e;
140
140
  --btn-ghost-color-tint-20: #747b8b;
141
141
  --btn-ghost-color-shade-5: #4d5669;
@@ -154,12 +154,10 @@ export default {
154
154
  --grid-columns: 24;
155
155
  --grid-gutter-width: 0;
156
156
  --layout-body-background: #f5f7f9;
157
- --layout-header-background: #515a6e;
158
157
  --layout-header-height: 64px;
159
158
  --layout-header-padding: 0 50px;
160
159
  --layout-footer-padding: 24px 50px;
161
160
  --layout-footer-background: #f5f7f9;
162
- --layout-sider-background: #515a6e;
163
161
  --layout-sider-background-tint-10: #626b7d;
164
162
  --layout-trigger-height: 48px;
165
163
  --layout-trigger-color: #fff;
@@ -0,0 +1,41 @@
1
+ export default {
2
+ key: "orange",
3
+ title: "魅力橙",
4
+ primaryColor: "#ee5414",
5
+ //自定义主题相关颜色覆盖
6
+ vars:
7
+ `
8
+ --primary-color: #ee5414;
9
+ --primary-color-tint-20: #f17643;
10
+ --primary-color-tint-90: #fdeee8;
11
+ --primary-color-tint-80: #fcddd0;
12
+ --primary-color-tint-5: #ef5d20;
13
+ --primary-color-tint-95-fade-50: rgba(254, 246, 243, 0.5);
14
+ --primary-color-fade-20: rgba(238, 84, 20, 0.2);
15
+ --primary-color-shade-5: #e25013;
16
+ --normal-color: rgba(254, 246, 243, 0);
17
+ --link-color: #ee5414;
18
+ --link-hover-color: #f17643;
19
+ --link-active-color: #e25013;
20
+ --selected-color: rgba(238, 84, 20, 0.9);
21
+ --selected-color-shade-10: rgba(210, 74, 18, 0.91);
22
+ --date-picker-cell-hover-bg: rgba(238, 84, 20, 0.3);
23
+ --btn-group-border: #e25013;
24
+ --btn-primary-bg: #ee5414;
25
+ --btn-primary-bg-tint-20: #f17643;
26
+ --btn-primary-bg-tint-5: #ef5d20;
27
+ --btn-primary-bg-shade-5: #e25013;
28
+ --input-hover-border-color: #ee5414;
29
+ --input-hover-border-color-tint-20: #f17643;
30
+ --input-hover-border-color-fade-20: rgba(238, 84, 20, 0.2);
31
+ --input-focus-border-color: #ee5414;
32
+ --slider-color: #f17643;
33
+ `,
34
+ style:
35
+ `
36
+ html {
37
+ padding:0;
38
+ margin:0;
39
+ }
40
+ `
41
+ };
@@ -0,0 +1,41 @@
1
+ export default {
2
+ key: "read",
3
+ title: "发财红",
4
+ primaryColor: "#ff3457",
5
+ //自定义主题相关颜色覆盖
6
+ vars:
7
+ `
8
+ --primary-color: #ff3457;
9
+ --primary-color-tint-20: #ff5d79;
10
+ --primary-color-tint-90: #ffebee;
11
+ --primary-color-tint-80: #ffd6dd;
12
+ --primary-color-tint-5: #ff3e5f;
13
+ --primary-color-tint-95-fade-50: rgba(255, 245, 247, 0.5);
14
+ --primary-color-fade-20: rgba(255, 52, 87, 0.2);
15
+ --primary-color-shade-5: #f23153;
16
+ --normal-color: rgba(255, 245, 247, 0);
17
+ --link-color: #ff3457;
18
+ --link-hover-color: #ff5d79;
19
+ --link-active-color: #f23153;
20
+ --selected-color: rgba(255, 52, 87, 0.9);
21
+ --selected-color-shade-10: rgba(225, 46, 77, 0.9);
22
+ --date-picker-cell-hover-bg: rgba(255, 52, 87, 0.3);
23
+ --btn-group-border: #f23153;
24
+ --btn-primary-bg: #ff3457;
25
+ --btn-primary-bg-tint-20: #ff5d79;
26
+ --btn-primary-bg-tint-5: #ff3e5f;
27
+ --btn-primary-bg-shade-5: #f23153;
28
+ --input-hover-border-color: #ff3457;
29
+ --input-hover-border-color-tint-20: #ff5d79;
30
+ --input-hover-border-color-fade-20: rgba(255, 52, 87, 0.2);
31
+ --input-focus-border-color: #ff3457;
32
+ --slider-color: #ff5d79;
33
+ `,
34
+ style:
35
+ `
36
+ html {
37
+ padding:0;
38
+ margin:0;
39
+ }
40
+ `
41
+ };
@@ -0,0 +1,23 @@
1
+ const importDirective = Vue => {
2
+ const requireDirective = require.context(
3
+ // 其组件目录的相对路径
4
+ './module',
5
+ // 是否查询其子目录
6
+ false,
7
+ // 匹配基础组件文件名的正则表达式
8
+ /[a-zA-Z]\w+\.(vue|js)$/
9
+ )
10
+ requireDirective.keys().forEach(fileName => {
11
+ // 获取组件配置
12
+ const directiveConfig = requireDirective(fileName)
13
+
14
+ // 获取组件的 PascalCase 命名
15
+ const directiveName = fileName
16
+ .split('/')
17
+ .pop()
18
+ .replace(/\.\w+$/, '')
19
+ Vue.directive(directiveName.toLowerCase(), directiveConfig.default || directiveConfig);
20
+ });
21
+ }
22
+
23
+ export default importDirective
@@ -0,0 +1,56 @@
1
+ import {on} from '../../utils/dom'
2
+ /**
3
+ * 拖拽指令 v-draggable="options"
4
+ * options = {
5
+ * trigger: /这里传入作为拖拽触发器的CSS选择器/,
6
+ * body: /这里传入需要移动容器的CSS选择器/,
7
+ * recover: /拖动结束之后是否恢复到原来的位置/
8
+ * }
9
+ */
10
+ export default {
11
+ inserted: (el, binding, vnode) => {
12
+ let triggerDom = document.querySelector(binding.value.trigger)
13
+ triggerDom.style.cursor = 'move'
14
+ let bodyDom = document.querySelector(binding.value.body)
15
+ let pageX = 0
16
+ let pageY = 0
17
+ let transformX = 0
18
+ let transformY = 0
19
+ let canMove = false
20
+ const handleMousedown = e => {
21
+ let transform = /\(.*\)/.exec(bodyDom.style.transform)
22
+ if (transform) {
23
+ transform = transform[0].slice(1, transform[0].length - 1)
24
+ let splitxy = transform.split('px, ')
25
+ transformX = parseFloat(splitxy[0])
26
+ transformY = parseFloat(splitxy[1].split('px')[0])
27
+ }
28
+ pageX = e.pageX
29
+ pageY = e.pageY
30
+ canMove = true
31
+ }
32
+ const handleMousemove = e => {
33
+ let xOffset = e.pageX - pageX + transformX
34
+ let yOffset = e.pageY - pageY + transformY
35
+ /*if (e.pageX <= 0) {
36
+ xOffset = pageX
37
+ }*/
38
+ if (e.pageY <= 0) {
39
+ yOffset = transformY - pageY
40
+ }
41
+
42
+ if (canMove) bodyDom.style.transform = `translate(${xOffset}px, ${yOffset}px)`
43
+ }
44
+ const handleMouseup = e => {
45
+ canMove = false
46
+ }
47
+ on(triggerDom, 'mousedown', handleMousedown)
48
+ on(document, 'mousemove', handleMousemove)
49
+ on(document, 'mouseup', handleMouseup)
50
+ },
51
+ update: (el, binding, vnode) => {
52
+ if (!binding.value.recover) return
53
+ let bodyDom = document.querySelector(binding.value.body)
54
+ bodyDom.style.transform = ''
55
+ }
56
+ }
@@ -0,0 +1,49 @@
1
+ import config from "../../config/config";
2
+
3
+ const checkPermission = function (el, binding) {
4
+ el.style.display = "none"
5
+ const value = binding.value
6
+ const permissionInStore = sessionStorage.getItem(config.routerBase + "-permission");
7
+ if (permissionInStore) {
8
+ const permissionObj = JSON.parse(permissionInStore);
9
+ //判断是否以'/'为开头结尾
10
+ if (/(^\/.*\/$)/.test(value)) {
11
+ //去掉开头结尾的'/'
12
+ let regexStr = value.replace(/(^\/)|(\/$)/g,"");
13
+
14
+ regExCheck(el, permissionObj, regexStr)
15
+ } else {
16
+ normalCheck(el, permissionObj, value)
17
+ }
18
+ }
19
+ };
20
+
21
+ const regExCheck = function (el, permissionObj, value) {
22
+ let regex = new RegExp(value,"i");
23
+ for (const item of permissionObj) {
24
+ if (item.permissionValue) {
25
+ if(regex.test(item.permissionValue)){
26
+ console.log(item.permissionValue)
27
+ el.style.display = '';
28
+ }
29
+ }
30
+ }
31
+ }
32
+
33
+ const normalCheck = function (el, permissionObj, value) {
34
+ let permission = {};
35
+ for (const item of permissionObj) {
36
+ if (item.permissionValue) {
37
+ permission[item.permissionValue] = true;
38
+ }
39
+ }
40
+ const have = permission[value]
41
+ if (have || value === "all") {
42
+ el.style.display = '';
43
+ }
44
+ }
45
+
46
+ export default {
47
+ bind: checkPermission,
48
+ update: checkPermission
49
+ }
package/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  import * as config from "./config";
2
2
  import * as utils from "./utils";
3
- export { config, utils };
3
+ import importDirective from "./directives"
4
+ export { config, utils, importDirective };