@jetlinks-web/components 3.3.12 → 3.3.14

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 (103) hide show
  1. package/es/AutoComplete/AutoComplete.md +41 -0
  2. package/es/BadgeStatus/BadgeStatus.md +37 -0
  3. package/es/CardSelect/CardSelect.md +56 -0
  4. package/es/CardSelect/style/index.js +3 -3
  5. package/es/CheckButton/CheckButton.md +37 -0
  6. package/es/CheckButton/style/index.js +9 -9
  7. package/es/ConfigProvider/ConfigProvider.md +40 -0
  8. package/es/DragModal/DragModal.md +47 -0
  9. package/es/DragModal/style/index.js +6 -6
  10. package/es/EditTable/EditTable.md +62 -0
  11. package/es/EditTable/FormItem.js +18 -15
  12. package/es/EditTable/components/Search/sort.js +15 -1
  13. package/es/EditTable/style/body.js +8 -6
  14. package/es/EditTable/style/group.js +3 -3
  15. package/es/EditTable/style/header.js +3 -3
  16. package/es/EditTable/style/menu.js +3 -3
  17. package/es/EditTable/style/table.js +3 -3
  18. package/es/Ellipsis/Ellipsis.md +45 -0
  19. package/es/Empty/Empty.md +34 -0
  20. package/es/FullPage/FullPage.js +15 -5
  21. package/es/FullPage/FullPage.md +31 -0
  22. package/es/Icon/Icon.md +33 -0
  23. package/es/LocaleProvider/LocaleProvider.md +25 -0
  24. package/es/LocaleReciver/LocaleReciver.md +42 -0
  25. package/es/Markdown/Markdown.md +40 -0
  26. package/es/PermissionButton/PermissionButton.md +40 -0
  27. package/es/ProLayout/ProLayout.md +63 -0
  28. package/es/ProLayout/SiderMenu/style.js +105 -26
  29. package/es/ProLayout/TopHeader/style.js +55 -11
  30. package/es/ProTable/ProTable.js +2 -4
  31. package/es/ProTable/ProTable.md +70 -0
  32. package/es/ProTable/style/index.js +11 -8
  33. package/es/RadioButton/RadioButton.md +32 -0
  34. package/es/RadioButton/style/index.js +3 -2
  35. package/es/Scrollbar/Scrollbar.md +43 -0
  36. package/es/Scrollbar/style/index.js +9 -9
  37. package/es/Search/Search.md +60 -0
  38. package/es/Search/style/search.js +5 -5
  39. package/es/Skeleton/Skeleton.md +50 -0
  40. package/es/Skeleton/components/Page.js +18 -5
  41. package/es/Skeleton/style/index.js +12 -6
  42. package/es/TimeFormat/TimeFormat.md +25 -0
  43. package/es/Title/Title.md +33 -0
  44. package/es/Title/style/index.js +2 -2
  45. package/es/ValueItem/ValueItem.md +58 -0
  46. package/es/VirtualTable/VirtualTable.md +42 -0
  47. package/es/VirtualTable/style/index.js +7 -4
  48. package/es/components.md +108 -0
  49. package/es/style/scrollbar.js +24 -0
  50. package/es/style/styleRegister.js +45 -11
  51. package/es/style/variable.js +1 -4
  52. package/lib/AutoComplete/AutoComplete.md +41 -0
  53. package/lib/BadgeStatus/BadgeStatus.md +37 -0
  54. package/lib/CardSelect/CardSelect.md +56 -0
  55. package/lib/CardSelect/style/index.js +3 -3
  56. package/lib/CheckButton/CheckButton.md +37 -0
  57. package/lib/CheckButton/style/index.js +9 -9
  58. package/lib/ConfigProvider/ConfigProvider.md +40 -0
  59. package/lib/DragModal/DragModal.md +47 -0
  60. package/lib/DragModal/style/index.js +6 -6
  61. package/lib/EditTable/EditTable.md +62 -0
  62. package/lib/EditTable/FormItem.js +18 -15
  63. package/lib/EditTable/components/Search/sort.js +15 -1
  64. package/lib/EditTable/style/body.js +8 -6
  65. package/lib/EditTable/style/group.js +3 -3
  66. package/lib/EditTable/style/header.js +3 -3
  67. package/lib/EditTable/style/menu.js +3 -3
  68. package/lib/EditTable/style/table.js +3 -3
  69. package/lib/Ellipsis/Ellipsis.md +45 -0
  70. package/lib/Empty/Empty.md +34 -0
  71. package/lib/FullPage/FullPage.js +15 -5
  72. package/lib/FullPage/FullPage.md +31 -0
  73. package/lib/Icon/Icon.md +33 -0
  74. package/lib/LocaleProvider/LocaleProvider.md +25 -0
  75. package/lib/LocaleReciver/LocaleReciver.md +42 -0
  76. package/lib/Markdown/Markdown.md +40 -0
  77. package/lib/PermissionButton/PermissionButton.md +40 -0
  78. package/lib/ProLayout/ProLayout.md +63 -0
  79. package/lib/ProLayout/SiderMenu/style.js +104 -25
  80. package/lib/ProLayout/TopHeader/style.js +55 -11
  81. package/lib/ProTable/ProTable.js +2 -4
  82. package/lib/ProTable/ProTable.md +70 -0
  83. package/lib/ProTable/style/index.js +10 -7
  84. package/lib/RadioButton/RadioButton.md +32 -0
  85. package/lib/RadioButton/style/index.js +3 -2
  86. package/lib/Scrollbar/Scrollbar.md +43 -0
  87. package/lib/Scrollbar/style/index.js +8 -8
  88. package/lib/Search/Search.md +60 -0
  89. package/lib/Search/style/search.js +5 -5
  90. package/lib/Skeleton/Skeleton.md +50 -0
  91. package/lib/Skeleton/components/Page.js +18 -5
  92. package/lib/Skeleton/style/index.js +12 -6
  93. package/lib/TimeFormat/TimeFormat.md +25 -0
  94. package/lib/Title/Title.md +33 -0
  95. package/lib/Title/style/index.js +2 -2
  96. package/lib/ValueItem/ValueItem.md +58 -0
  97. package/lib/VirtualTable/VirtualTable.md +42 -0
  98. package/lib/VirtualTable/style/index.js +6 -3
  99. package/lib/components.md +108 -0
  100. package/lib/style/scrollbar.js +30 -0
  101. package/lib/style/styleRegister.js +44 -10
  102. package/lib/style/variable.js +1 -4
  103. package/package.json +1 -1
@@ -1,10 +1,19 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { Keyframes } from "ant-design-vue";
2
+ import { Keyframes } from 'ant-design-vue';
3
3
  export var genSiderMenuStyle = function genSiderMenuStyle(config) {
4
- var _$concat9;
4
+ var _$concat0;
5
5
  var token = config.token;
6
6
  var proLayoutSiderMenuCls = "".concat(token.antCls, "-pro-sider");
7
7
  var proLayoutHeaderHeight = '48px';
8
+ var isAntdvDarkTheme = ['#000', '#000000'].includes(String(token.colorBgLayout).toLowerCase());
9
+ var darkMenuBg = isAntdvDarkTheme ? token.colorBgLayout : '#001529';
10
+ var darkMenuSubBg = isAntdvDarkTheme ? token.colorBgContainer : '#000c17';
11
+ var darkMenuPopupBg = isAntdvDarkTheme ? token.colorBgElevated : '#001529';
12
+ var darkMenuHoverBg = isAntdvDarkTheme ? token.colorFillTertiary : 'rgba(255, 255, 255, 0.08)';
13
+ var darkMenuActiveBg = isAntdvDarkTheme ? token.colorFillSecondary : 'rgba(255, 255, 255, 0.12)';
14
+ var darkMenuTextColor = isAntdvDarkTheme ? token.colorText : 'rgba(255, 255, 255, 0.85)';
15
+ var darkMenuTextSecondaryColor = isAntdvDarkTheme ? token.colorTextSecondary : 'rgba(255, 255, 255, 0.65)';
16
+ var darkMenuTextHoverColor = isAntdvDarkTheme ? token.colorTextHeading : '#fff';
8
17
  var proLayoutTitleHideKeyframes = new Keyframes('pro-layout-title-hide', {
9
18
  '0%': {
10
19
  display: 'none',
@@ -19,14 +28,46 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
19
28
  opacity: 1
20
29
  }
21
30
  });
22
- return ["\n ".concat(proLayoutSiderMenuCls, " > ").concat(token.antCls, "-layout-sider-children {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n "), _defineProperty(_defineProperty(_defineProperty({}, "".concat(proLayoutSiderMenuCls), (_$concat9 = {
31
+ return ["\n ".concat(proLayoutSiderMenuCls, " > ").concat(token.antCls, "-layout-sider-children {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n "), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(proLayoutSiderMenuCls), (_$concat0 = {
23
32
  position: 'relative',
24
- backgroundColor: '#001529',
33
+ background: darkMenuBg,
25
34
  borderRight: 0,
26
35
  // FIXME: 临时修正(可能不会做兼容)
27
36
  zIndex: 20
28
- }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_$concat9, "".concat(token.antCls, "-menu"), {
37
+ }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_$concat0, "".concat(token.antCls, "-menu"), {
29
38
  background: 'transparent'
39
+ }), "&".concat(proLayoutSiderMenuCls, "-dark, &").concat(token.antCls, "-layout-sider-dark"), _defineProperty(_defineProperty({
40
+ background: darkMenuBg
41
+ }, "".concat(token.antCls, "-layout-sider-children"), {
42
+ background: darkMenuBg
43
+ }), "".concat(token.antCls, "-menu-dark"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
44
+ color: darkMenuTextColor,
45
+ background: 'transparent'
46
+ }, "".concat(token.antCls, "-menu-sub"), {
47
+ background: darkMenuSubBg
48
+ }), "".concat(token.antCls, "-menu-item, ").concat(token.antCls, "-menu-submenu-title"), {
49
+ color: darkMenuTextColor
50
+ }), "".concat(token.antCls, "-menu-item a, ").concat(token.antCls, "-menu-submenu-title a"), {
51
+ color: 'inherit'
52
+ }), "".concat(token.antCls, "-menu-item .anticon, ").concat(token.antCls, "-menu-submenu-title .anticon, ").concat(token.antCls, "-menu-submenu-arrow"), {
53
+ color: darkMenuTextSecondaryColor
54
+ }), "".concat(token.antCls, "-menu-item:hover, ").concat(token.antCls, "-menu-submenu-title:hover"), {
55
+ color: darkMenuTextHoverColor,
56
+ backgroundColor: darkMenuHoverBg
57
+ }), "".concat(token.antCls, "-menu-item:hover .anticon, ").concat(token.antCls, "-menu-submenu-title:hover .anticon, ").concat(token.antCls, "-menu-submenu-title:hover ").concat(token.antCls, "-menu-submenu-arrow"), {
58
+ color: darkMenuTextHoverColor
59
+ }), "".concat(token.antCls, "-menu-submenu-open > ").concat(token.antCls, "-menu-submenu-title"), {
60
+ color: darkMenuTextHoverColor,
61
+ backgroundColor: darkMenuActiveBg
62
+ }), "".concat(token.antCls, "-menu-item-selected"), {
63
+ color: token.colorTextLightSolid,
64
+ backgroundColor: token.colorPrimary
65
+ }), "".concat(token.antCls, "-menu-item-selected a, ").concat(token.antCls, "-menu-item-selected .anticon"), {
66
+ color: token.colorTextLightSolid
67
+ }))), "&".concat(proLayoutSiderMenuCls, "-dark").concat(token.antCls, "-layout-sider-dark"), {
68
+ background: darkMenuBg
69
+ }), "&".concat(proLayoutSiderMenuCls, "-dark ").concat(token.antCls, "-menu-dark").concat(token.antCls, "-menu-inline ").concat(token.antCls, "-menu-sub").concat(token.antCls, "-menu-inline"), {
70
+ background: darkMenuSubBg
30
71
  }), "&".concat(token.antCls, "-layout-sider-light"), _defineProperty(_defineProperty({}, "".concat(token.antCls, "-menu-item a"), {
31
72
  color: token.colorTextHeading
32
73
  }), "".concat(token.antCls, "-menu-item-selected a, ").concat(token.antCls, "-menu-item a:hover"), {
@@ -44,12 +85,12 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
44
85
  justifyContent: 'center',
45
86
  minHeight: 32
46
87
  },
47
- 'img': {
88
+ img: {
48
89
  display: 'inline-block',
49
90
  height: 32,
50
91
  verticalAlign: 'middle'
51
92
  },
52
- 'h1': {
93
+ h1: {
53
94
  display: 'inline-block',
54
95
  height: '32px',
55
96
  margin: '0 0 0 12px',
@@ -82,7 +123,7 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
82
123
  width: '6px',
83
124
  height: '6px'
84
125
  },
85
- '::webkit-scrollbar-track': {
126
+ '::-webkit-scrollbar-track': {
86
127
  background: 'rgba(255, 255, 255, 0.15)',
87
128
  borderRadius: '3px',
88
129
  boxShadow: 'inset 0 0 5px rgba(37, 37, 37, 0.05)'
@@ -95,9 +136,24 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
95
136
  }
96
137
  }, "".concat(proLayoutSiderMenuCls, "-logo"), {
97
138
  h1: {
98
- color: '#333'
139
+ color: darkMenuTextHoverColor
140
+ }
141
+ })), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_$concat0, "".concat(proLayoutSiderMenuCls, "-body"), {
142
+ scrollbarWidth: 'thin',
143
+ scrollbarColor: 'rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.15)',
144
+ '::-webkit-scrollbar': {
145
+ width: '6px',
146
+ height: '6px'
147
+ },
148
+ '::-webkit-scrollbar-track': {
149
+ background: 'rgba(255, 255, 255, 0.15)',
150
+ borderRadius: '3px'
151
+ },
152
+ '::-webkit-scrollbar-thumb': {
153
+ background: 'rgba(255, 255, 255, 0.2)',
154
+ borderRadius: '3px'
99
155
  }
100
- })), "&".concat(token.antCls, "-layout-sider-collapsed"), _defineProperty(_defineProperty({}, "".concat(token.antCls, "-menu-inline-collapsed"), {
156
+ }), "&".concat(token.antCls, "-layout-sider-collapsed"), _defineProperty(_defineProperty({}, "".concat(token.antCls, "-menu-inline-collapsed"), {
101
157
  width: '48px'
102
158
  }), "".concat(proLayoutSiderMenuCls), _defineProperty({}, "".concat(proLayoutSiderMenuCls, "-logo"), {
103
159
  padding: '16px 24px'
@@ -113,30 +169,37 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
113
169
  }, "> ".concat(token.antCls, "-menu-root"), _defineProperty({}, ":not".concat(proLayoutSiderMenuCls, "-link-menu"), {
114
170
  height: "calc(100vh - ".concat(proLayoutHeaderHeight, ")"),
115
171
  overflowY: 'auto'
116
- }))), "&".concat(proLayoutSiderMenuCls, "-light"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({
172
+ }))), "&".concat(proLayoutSiderMenuCls, "-light"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
117
173
  backgroundColor: token.colorBgContainer,
118
174
  boxShadow: '2px 0 8px 0 rgba(29, 35, 41, 0.05)'
119
175
  }, "".concat(token.antCls, "-layout-sider-children"), {
120
- '::webkit-scrollbar-track': {
176
+ '::-webkit-scrollbar-track': {
121
177
  background: 'rgba(0, 0, 0, 0.06)',
122
178
  borderRadius: '3px',
123
- boxShadow: 'inset 0 0 5px rgba(0, 21, 41, 0.05)',
124
- /* 滚动条滑块 */
125
- '::-webkit-scrollbar-thumb': {
126
- background: 'rgba(0, 0, 0, 0.12)',
127
- borderRadius: '3px',
128
- boxShadow: 'inset 0 0 5px rgba(0, 21, 41, 0.05)'
129
- }
179
+ boxShadow: 'inset 0 0 5px rgba(0, 21, 41, 0.05)'
180
+ },
181
+ '::-webkit-scrollbar-thumb': {
182
+ background: 'rgba(0, 0, 0, 0.12)',
183
+ borderRadius: '3px',
184
+ boxShadow: 'inset 0 0 5px rgba(0, 21, 41, 0.05)'
185
+ }
186
+ }), "".concat(proLayoutSiderMenuCls, "-body"), {
187
+ scrollbarColor: 'rgba(0, 0, 0, 0.12) rgba(0, 0, 0, 0.06)',
188
+ '::-webkit-scrollbar-track': {
189
+ background: 'rgba(0, 0, 0, 0.06)'
190
+ },
191
+ '::-webkit-scrollbar-thumb': {
192
+ background: 'rgba(0, 0, 0, 0.12)'
130
193
  }
131
194
  }), "".concat(proLayoutSiderMenuCls, "-logo"), {
132
- 'h1': {
195
+ h1: {
133
196
  color: token.colorPrimary
134
197
  }
135
198
  }), "".concat(token.antCls, "-menu-light"), {
136
199
  borderRightColor: 'transparent'
137
200
  }), "".concat(proLayoutSiderMenuCls, "-collapsed-button"), {
138
201
  borderTop: "".concat(token.lineWidth, " solid ").concat(token.colorSplit)
139
- })), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_$concat9, "".concat(proLayoutSiderMenuCls, "-icon"), {
202
+ })), "".concat(proLayoutSiderMenuCls, "-icon"), {
140
203
  width: '14px',
141
204
  verticalAlign: 'baseline'
142
205
  }), "".concat(proLayoutSiderMenuCls, "-links"), _defineProperty({
@@ -152,19 +215,35 @@ export var genSiderMenuStyle = function genSiderMenuStyle(config) {
152
215
  height: '100%',
153
216
  lineHeight: 1
154
217
  }), '.drawer .drawer-content', {
155
- background: "#001529"
156
- }))), "".concat(token.antCls, "-pro-menu-item"), _defineProperty({}, ".anticon".concat(token.antCls, "-pro-menu-item-title"), {
218
+ background: darkMenuBg
219
+ }))), "".concat(token.antCls, "-pro-menu-popup"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(token.antCls, "-menu, ").concat(token.antCls, "-menu-dark"), {
220
+ background: darkMenuPopupBg,
221
+ color: darkMenuTextColor
222
+ }), "".concat(token.antCls, "-menu-item, ").concat(token.antCls, "-menu-submenu-title"), {
223
+ color: darkMenuTextColor
224
+ }), "".concat(token.antCls, "-menu-item a"), {
225
+ color: 'inherit'
226
+ }), "".concat(token.antCls, "-menu-item:hover, ").concat(token.antCls, "-menu-submenu-title:hover"), {
227
+ color: darkMenuTextHoverColor,
228
+ backgroundColor: darkMenuHoverBg
229
+ }), "".concat(token.antCls, "-menu-item-selected"), {
230
+ color: token.colorTextLightSolid,
231
+ backgroundColor: token.colorPrimary
232
+ })), "".concat(token.antCls, "-menu-submenu-popup").concat(token.antCls, "-menu-dark").concat(token.antCls, "-pro-menu-popup ").concat(token.antCls, "-menu"), {
233
+ background: darkMenuPopupBg,
234
+ color: darkMenuTextColor
235
+ }), "".concat(token.antCls, "-pro-menu-item"), _defineProperty({}, ".anticon".concat(token.antCls, "-pro-menu-item-title"), {
157
236
  marginLeft: '10px'
158
237
  })), '.sider-app-menus', {
159
238
  width: '100px',
160
- backgroundColor: '#fff',
239
+ backgroundColor: token.colorBgContainer,
161
240
  cursor: 'pointer',
162
241
  padding: '6px',
163
242
  transition: 'all .3s',
164
243
  borderRadius: '4px',
165
- color: '#333',
244
+ color: token.colorText,
166
245
  '&:hover': {
167
- backgroundColor: '#efefef'
246
+ backgroundColor: token.colorFillQuaternary
168
247
  }
169
248
  })];
170
249
  };
@@ -3,6 +3,13 @@ export var genTopHeaderStyle = function genTopHeaderStyle(config) {
3
3
  var token = config.token;
4
4
  var topNavHeaderCls = "".concat(token.antCls, "-pro-top-nav-header");
5
5
  var proLayoutGlobalHeaderCls = "".concat(token.antCls, "-pro-global-header");
6
+ var isAntdvDarkTheme = ['#000', '#000000'].includes(String(token.colorBgLayout).toLowerCase());
7
+ var darkHeaderBg = isAntdvDarkTheme ? token.colorBgLayout : '#001529';
8
+ var darkHeaderPopupBg = isAntdvDarkTheme ? token.colorBgElevated : '#001529';
9
+ var darkHeaderHoverBg = isAntdvDarkTheme ? token.colorFillTertiary : 'rgba(255, 255, 255, 0.08)';
10
+ var darkHeaderTextColor = isAntdvDarkTheme ? token.colorText : 'rgba(255, 255, 255, 0.85)';
11
+ var darkHeaderTextSecondaryColor = isAntdvDarkTheme ? token.colorTextSecondary : 'rgba(255, 255, 255, 0.65)';
12
+ var darkHeaderTextHoverColor = isAntdvDarkTheme ? token.colorTextHeading : '#fff';
6
13
  var proLayoutHeaderBg = token.colorBgContainer;
7
14
  var proLayoutHeaderHoverBg = token.colorBgContainer;
8
15
  var proLayoutHeaderBoxShadow = '0 1px 4px rgba(0, 21, 41, 0.08)';
@@ -23,13 +30,13 @@ export var genTopHeaderStyle = function genTopHeaderStyle(config) {
23
30
  marginLeft: '16px',
24
31
  fontSize: '20px'
25
32
  }), "".concat(proLayoutGlobalHeaderCls, "-layout"), _defineProperty({}, "".concat(proLayoutGlobalHeaderCls, "-layout-mix"), _defineProperty(_defineProperty({
26
- backgroundColor: '#001529'
33
+ backgroundColor: darkHeaderBg
27
34
  }, "".concat(proLayoutGlobalHeaderCls, "-logo"), {
28
- 'h1': {
29
- color: '#fff'
35
+ h1: {
36
+ color: darkHeaderTextHoverColor
30
37
  }
31
38
  }), '.anticon', {
32
- color: '#fff'
39
+ color: darkHeaderTextHoverColor
33
40
  }))), "".concat(proLayoutGlobalHeaderCls, "-logo"), {
34
41
  position: 'relative',
35
42
  overflow: 'hidden',
@@ -58,17 +65,17 @@ export var genTopHeaderStyle = function genTopHeaderStyle(config) {
58
65
  })), '.dark', {
59
66
  height: '48px',
60
67
  '.action': _defineProperty({
61
- color: 'rgba(255, 255, 255, 0.85)',
68
+ color: darkHeaderTextColor,
62
69
  '> i': {
63
- color: 'rgba(255, 255, 255, 0.85)'
70
+ color: darkHeaderTextColor
64
71
  },
65
72
  '&:hover,&.opend': {
66
73
  background: token.colorPrimary
67
74
  }
68
75
  }, "".concat(token.antCls, "-badge"), {
69
- color: 'rgba(255, 255, 255, 0.85)'
76
+ color: darkHeaderTextColor
70
77
  })
71
- })), topNavHeaderCls, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
78
+ })), topNavHeaderCls, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
72
79
  position: 'relative',
73
80
  width: '100%',
74
81
  height: '100%',
@@ -76,7 +83,31 @@ export var genTopHeaderStyle = function genTopHeaderStyle(config) {
76
83
  transition: 'background 0.3s, width 0.2s'
77
84
  }, "".concat(token.antCls, "-menu"), {
78
85
  backgroundColor: 'transparent'
79
- }), '&.light', _defineProperty(_defineProperty({
86
+ }), '&.dark', _defineProperty(_defineProperty({
87
+ backgroundColor: darkHeaderBg,
88
+ color: darkHeaderTextColor
89
+ }, "".concat(topNavHeaderCls, "-logo"), {
90
+ h1: {
91
+ color: token.colorPrimary
92
+ }
93
+ }), "".concat(token.antCls, "-menu-dark"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
94
+ color: darkHeaderTextColor,
95
+ backgroundColor: 'transparent'
96
+ }, "".concat(token.antCls, "-menu-item, ").concat(token.antCls, "-menu-submenu-title"), {
97
+ color: darkHeaderTextColor
98
+ }), "".concat(token.antCls, "-menu-item a"), {
99
+ color: 'inherit'
100
+ }), "".concat(token.antCls, "-menu-item .anticon, ").concat(token.antCls, "-menu-submenu-title .anticon, ").concat(token.antCls, "-menu-submenu-arrow"), {
101
+ color: darkHeaderTextSecondaryColor
102
+ }), "".concat(token.antCls, "-menu-item:hover, ").concat(token.antCls, "-menu-submenu-title:hover"), {
103
+ color: darkHeaderTextHoverColor,
104
+ backgroundColor: darkHeaderHoverBg
105
+ }), "".concat(token.antCls, "-menu-item-selected"), {
106
+ color: token.colorTextLightSolid,
107
+ backgroundColor: token.colorPrimary
108
+ }), "".concat(token.antCls, "-menu-item-selected a, ").concat(token.antCls, "-menu-item-selected .anticon"), {
109
+ color: token.colorTextLightSolid
110
+ }))), '&.light', _defineProperty(_defineProperty({
80
111
  backgroundColor: token.colorBgContainer
81
112
  }, "".concat(topNavHeaderCls, "-logo"), {
82
113
  h1: {
@@ -96,7 +127,7 @@ export var genTopHeaderStyle = function genTopHeaderStyle(config) {
96
127
  alignItems: 'center',
97
128
  marginInlineEnd: '16px'
98
129
  })), '.anticon', {
99
- color: '#fff'
130
+ color: darkHeaderTextColor
100
131
  }), "".concat(topNavHeaderCls, "-logo"), {
101
132
  position: 'relative',
102
133
  minWidth: '165px',
@@ -124,7 +155,20 @@ export var genTopHeaderStyle = function genTopHeaderStyle(config) {
124
155
  height: '100%'
125
156
  }, "".concat(token.antCls, "-badge"), {
126
157
  color: 'unset'
127
- }))))), "".concat(token.antCls, "-pro-menu-popup"), _defineProperty({}, "".concat(token.antCls, "-badge"), {
158
+ }))))), "".concat(token.antCls, "-pro-menu-popup"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(token.antCls, "-menu, ").concat(token.antCls, "-menu-dark"), {
159
+ background: darkHeaderPopupBg,
160
+ color: darkHeaderTextColor
161
+ }), "".concat(token.antCls, "-menu-item, ").concat(token.antCls, "-menu-submenu-title"), {
162
+ color: darkHeaderTextColor
163
+ }), "".concat(token.antCls, "-menu-item a"), {
164
+ color: 'inherit'
165
+ }), "".concat(token.antCls, "-menu-item:hover, ").concat(token.antCls, "-menu-submenu-title:hover"), {
166
+ color: darkHeaderTextHoverColor,
167
+ backgroundColor: darkHeaderHoverBg
168
+ }), "".concat(token.antCls, "-menu-item-selected"), {
169
+ color: token.colorTextLightSolid,
170
+ backgroundColor: token.colorPrimary
171
+ }), "".concat(token.antCls, "-badge"), {
128
172
  color: 'unset'
129
173
  }));
130
174
  };
@@ -315,12 +315,10 @@ const __sfc_main__ = _defineComponent({
315
315
  }, { deep: true, immediate: true });
316
316
  onMounted(() => {
317
317
  windowChange(); // 初始化
318
- window.onresize = () => {
319
- windowChange();
320
- };
318
+ window.addEventListener('resize', windowChange);
321
319
  });
322
320
  onUnmounted(() => {
323
- window.onresize = null;
321
+ window.removeEventListener('resize', windowChange);
324
322
  });
325
323
  __expose({ reload, dataSource: _dataSource });
326
324
  return (_ctx, _cache) => {
@@ -0,0 +1,70 @@
1
+ ### ProTable
2
+
3
+ 高级表格组件,封装搜索、请求、分页、卡片/列表双形态(网格)、行选择与插槽扩展,支持树形(`TREE`)与分页(`PAGE`)两种模式。
4
+
5
+ #### Props
6
+
7
+ | 参数 | 说明 | 类型 | 默认值 |
8
+ | --- | --- | --- | --- |
9
+ | request | 请求数据的 api(promise) | `promise` | - |
10
+ | loading | 控制 loading | `boolean` | `undefined` |
11
+ | columns | 表格列配置(ant-design-vue Table columns) | `array` | - |
12
+ | params | 搜索参数 | `object` | `{}` |
13
+ | type | 表格类型:`TREE` \| `PAGE` | `string` | `'PAGE'` |
14
+ | noPagination | 是否显示分页 | `boolean` | `true` |
15
+ | rowSelection | 行选择配置 | `object` | - |
16
+ | dataSource | 数据数组(本地数据模式) | `object[]` | - |
17
+ | gridColumns | 不同分辨率下每行卡片数量:`[0]` 1366~1440、`[1]` 1440~1600、`[2]` >1600 | `number[]` | - |
18
+ | gridColumn | 每行展示的卡片数量 | `number` | - |
19
+ | alertRender | 是否展示上方选择提示框 | `boolean` | `true` |
20
+ | defaultParams | 默认参数 | `object` | `{}` |
21
+ | bodyStyle | 内容区域自定义样式 | `object` | - |
22
+
23
+ #### Column 扩展
24
+
25
+ | 参数 | 说明 | 类型 | 默认值 |
26
+ | --- | --- | --- | --- |
27
+ | scopedSlots | 是否为插槽列 | `boolean` | `false` |
28
+ | hideInTable | 是否在表格中隐藏 | `boolean` | - |
29
+
30
+ #### 事件
31
+
32
+ | 事件 | 说明 | 回调参数 |
33
+ | --- | --- | --- |
34
+ | cancelSelect | 取消选择 | `() => void` |
35
+
36
+ #### 插槽
37
+
38
+ | 名称 | 说明 |
39
+ | --- | --- |
40
+ | card | 卡片形态下的卡片渲染(`gridColumn` 模式) |
41
+ | headerTitle | `PAGE` / `TREE` 模式顶部左侧 |
42
+ | rightExtraRender | `PAGE` / `TREE` 模式顶部右侧 |
43
+ | paginationRender | 分页自定义 |
44
+ | 其余 | 透传 ant-design-vue Table 插槽 |
45
+
46
+ #### 用法
47
+
48
+ ```vue
49
+ <template>
50
+ <JProTable
51
+ type="PAGE"
52
+ :columns="columns"
53
+ :request="fetchList"
54
+ :params="searchParams"
55
+ :row-selection="rowSelection"
56
+ >
57
+ <template #headerTitle>设备列表</template>
58
+ <template #rightExtraRender>
59
+ <a-button type="primary" @click="onAdd">新增</a-button>
60
+ </template>
61
+ </JProTable>
62
+ </template>
63
+ ```
64
+
65
+ #### Rules
66
+
67
+ - 表格主体属性与 `Column` 均参考 ant-design-vue `Table`,其余扩展字段见上表。
68
+ - `request` 模式由组件内部管理 loading 与分页状态;`dataSource` 模式为受控本地数据。
69
+ - 卡片网格形态(`gridColumns` / `gridColumn`)下通过 `card` 插槽渲染卡片。
70
+ - 搜索联动:配合 `Search` 组件时,`params` 变化自动重新请求。
@@ -1,12 +1,14 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import genCompoentStyle from "../../style/styleRegister";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import genCompoentStyle from '../../style/styleRegister';
4
+ import { genTokenScrollbarStyle } from '../../style/scrollbar';
3
5
  var genProTableStyle = function genProTableStyle(config) {
4
6
  var token = config.token;
5
7
  return {
6
8
  '.jtable-body-spin': {
7
9
  height: '100%',
8
10
  width: '100%',
9
- backgroundColor: '#fff',
11
+ backgroundColor: token.colorBgContainer,
10
12
  '.ant-spin-nested-loading': {
11
13
  height: '100%',
12
14
  '.ant-spin-container': {
@@ -40,7 +42,7 @@ var genProTableStyle = function genProTableStyle(config) {
40
42
  width: '62px',
41
43
  '.right-button-icon': {
42
44
  fontSize: '16px',
43
- color: '#d9d9d9'
45
+ color: token.colorTextDisabled
44
46
  },
45
47
  '.ant-radio-button-wrapper': {
46
48
  padding: '0 8px'
@@ -54,9 +56,10 @@ var genProTableStyle = function genProTableStyle(config) {
54
56
  '.jtable-box': {
55
57
  flex: 1,
56
58
  minHeight: 0,
57
- '.jtable-card': _defineProperty({
59
+ '.jtable-card': _objectSpread(_objectSpread({
58
60
  height: '100%',
59
- overflowY: 'auto',
61
+ overflowY: 'auto'
62
+ }, genTokenScrollbarStyle(token)), {}, _defineProperty({
60
63
  '.jtable-card-items': {
61
64
  display: 'grid',
62
65
  gridGap: '18px',
@@ -67,7 +70,7 @@ var genProTableStyle = function genProTableStyle(config) {
67
70
  }
68
71
  }, "j-table-empty", {
69
72
  marginTop: '100px'
70
- }),
73
+ })),
71
74
  '.ant-table-wrapper': {
72
75
  height: '100%',
73
76
  '.ant-table': {
@@ -85,11 +88,11 @@ var genProTableStyle = function genProTableStyle(config) {
85
88
  display: 'flex',
86
89
  flexDirection: 'column'
87
90
  },
88
- '.ant-table-body': {
91
+ '.ant-table-body': _objectSpread({
89
92
  flex: 1,
90
93
  minHeight: 0,
91
94
  overflowY: 'auto'
92
- }
95
+ }, genTokenScrollbarStyle(token))
93
96
  }
94
97
  },
95
98
  '.jtable-alert': {
@@ -0,0 +1,32 @@
1
+ ### RadioButton
2
+
3
+ 单选按钮组件,以网格布局渲染一组按钮,点击切换选中值(受控)。
4
+
5
+ #### Props
6
+
7
+ | 参数 | 说明 | 类型 | 默认值 |
8
+ | --- | --- | --- | --- |
9
+ | value | 当前选中值,可用 `v-model:value` | `string \| number` | - |
10
+ | options | 选项列表 | `{ label: string; value: string \| number }[]` | `[]` |
11
+ | columns | 网格列数 | `number` | `3` |
12
+
13
+ #### 事件
14
+
15
+ | 事件 | 说明 | 回调参数 |
16
+ | --- | --- | --- |
17
+ | update:value | 值变化(v-model) | `(value)` |
18
+ | select | 选中时 | `(value)` |
19
+
20
+ #### 用法
21
+
22
+ ```vue
23
+ <template>
24
+ <JRadioButton v-model:value="value" :options="options" :columns="4" />
25
+ </template>
26
+ ```
27
+
28
+ #### Rules
29
+
30
+ - 纯单选,点击已选中项不触发重复事件。
31
+ - 列数通过 `grid-template-columns: repeat(columns, 1fr)` 实现,`columns` 控制每行按钮数量。
32
+ - `value` 为受控属性,外部变化会同步到内部状态。
@@ -10,10 +10,11 @@ var genRadioButtonStyle = function genRadioButtonStyle(config) {
10
10
  textAlign: 'center',
11
11
  height: '100%',
12
12
  borderRadius: '2px',
13
- backgroundColor: '#f5f5f5',
13
+ backgroundColor: token.colorFillTertiary,
14
+ color: token.colorText,
14
15
  cursor: 'pointer',
15
16
  '&.active': {
16
- color: '#fff',
17
+ color: token.colorTextLightSolid,
17
18
  backgroundColor: token.colorPrimary
18
19
  }
19
20
  }
@@ -0,0 +1,43 @@
1
+ ### Scrollbar
2
+
3
+ 自定义滚动条组件,替换浏览器原生滚动条,提供统一样式与横向/纵向滚动监听。
4
+
5
+ #### Props
6
+
7
+ | 参数 | 说明 | 类型 | 默认值 |
8
+ | --- | --- | --- | --- |
9
+ | height | 容器高度 | `string \| number` | `''` |
10
+ | maxHeight | 容器最大高度 | `string \| number` | `''` |
11
+ | native | 是否使用原生滚动条 | `boolean` | `false` |
12
+ | wrapStyle | 外层 wrap 样式 | `StyleValue` | `''` |
13
+ | wrapClass | 外层 wrap 类名 | `string \| array` | `''` |
14
+ | viewClass | 内容 view 类名 | `string \| array` | `''` |
15
+ | viewStyle | 内容 view 样式 | `StyleValue` | `''` |
16
+ | tag | 内容容器标签 | `string` | `'div'` |
17
+ | noresize | 不响应容器尺寸变化(容器不变时开启可优化性能) | `boolean` | `false` |
18
+ | always | 始终显示滚动条 | `boolean` | `false` |
19
+ | minSize | 滚动条最小尺寸(px) | `number` | `20` |
20
+ | id | 内容容器 id | `string` | - |
21
+ | role / ariaLabel / ariaOrientation | 无障碍属性 | - | - |
22
+
23
+ #### 事件
24
+
25
+ | 事件 | 说明 | 回调参数 |
26
+ | --- | --- | --- |
27
+ | scroll | 滚动时 | `({ scrollTop, scrollLeft })` |
28
+
29
+ #### 用法
30
+
31
+ ```vue
32
+ <template>
33
+ <Scrollbar :height="300" always @scroll="onScroll">
34
+ <div style="height: 1000px">超长内容</div>
35
+ </Scrollbar>
36
+ </template>
37
+ ```
38
+
39
+ #### Rules
40
+
41
+ - 默认隐藏原生滚动条,渲染自定义细滚动条;`native` 为 `true` 时保留原生样式。
42
+ - `scroll` 事件仅在 `scrollTop` / `scrollLeft` 均为数字时触发。
43
+ - 容器尺寸固定且不变化时建议设置 `noresize`,避免多余监听开销。
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import genCompoentStyle from "../../style/styleRegister";
3
- var scrollbarBgColor = '#909399';
4
- var scrollbarHoverBgColor = '#909399';
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import genCompoentStyle from '../../style/styleRegister';
4
+ import { genTokenScrollbarStyle } from '../../style/scrollbar';
5
5
  var scrollbarHoverOpacity = 0.5;
6
6
  var scrollbarOpacity = 0.3;
7
7
  var transitionDuration = '0.3s';
@@ -12,27 +12,27 @@ var genScrollbarStyle = function genScrollbarStyle(config) {
12
12
  overflow: 'hidden',
13
13
  position: 'relative',
14
14
  height: '100%'
15
- }, "".concat(componentCls, "__wrap"), _defineProperty({
15
+ }, "".concat(componentCls, "__wrap"), _objectSpread(_objectSpread({
16
16
  overflow: 'auto',
17
17
  height: '100%'
18
- }, "".concat(componentCls, "--hidden-default"), {
18
+ }, genTokenScrollbarStyle(token)), {}, _defineProperty({}, "".concat(componentCls, "--hidden-default"), {
19
19
  scrollbarWidth: 'none',
20
20
  '&::-webkit-scrollbar': {
21
21
  display: 'none'
22
22
  }
23
- })), "".concat(componentCls, "__thumb"), {
23
+ }))), "".concat(componentCls, "__thumb"), {
24
24
  position: 'relative',
25
25
  display: 'block',
26
26
  width: 0,
27
27
  height: 0,
28
28
  cursor: 'pointer',
29
29
  borderRadius: 'inherit',
30
- backgroundColor: scrollbarBgColor,
30
+ backgroundColor: token.colorFillSecondary,
31
31
  transition: "".concat(transitionDuration, " background-color"),
32
32
  opacity: scrollbarOpacity,
33
33
  '&:hover': {
34
- backgroundColor: scrollbarHoverBgColor,
35
- opacity: scrollbarOpacity
34
+ backgroundColor: token.colorFill,
35
+ opacity: scrollbarHoverOpacity
36
36
  }
37
37
  }), "".concat(componentCls, "__bar"), _defineProperty(_defineProperty({
38
38
  position: 'absolute',