vxe-pc-ui 0.1.0 → 0.2.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 (197) hide show
  1. package/README.md +7 -0
  2. package/es/anchor/src/anchor-link.js +2 -2
  3. package/es/anchor/src/util.js +1 -1
  4. package/es/checkbox/src/checkbox.js +3 -3
  5. package/es/checkbox/src/group.js +3 -3
  6. package/es/components.js +6 -0
  7. package/es/form/src/form-config-item.js +1 -1
  8. package/es/form/src/form-gather.js +1 -1
  9. package/es/form/src/form-item.js +4 -4
  10. package/es/form/src/form.js +3 -3
  11. package/es/input/src/input.js +3 -3
  12. package/es/layout-aside/src/layout-aside.js +4 -2
  13. package/es/layout-aside/style.css +3 -1
  14. package/es/layout-aside/style.min.css +1 -1
  15. package/es/layout-body/src/layout-body.js +7 -2
  16. package/es/layout-body/style.css +2 -0
  17. package/es/layout-body/style.min.css +1 -1
  18. package/es/layout-container/src/layout-container.js +2 -1
  19. package/es/layout-footer/src/layout-footer.js +5 -3
  20. package/es/layout-footer/style.css +3 -1
  21. package/es/layout-footer/style.min.css +1 -1
  22. package/es/layout-header/style.css +0 -1
  23. package/es/layout-header/style.min.css +1 -1
  24. package/es/radio/src/button.js +4 -4
  25. package/es/radio/src/group.js +4 -4
  26. package/es/radio/src/radio.js +4 -4
  27. package/es/select/src/optgroup.js +1 -1
  28. package/es/select/src/option.js +1 -1
  29. package/es/select/src/select.js +4 -4
  30. package/es/style.css +1 -1
  31. package/es/style.min.css +1 -1
  32. package/es/switch/src/switch.js +3 -3
  33. package/es/tab-pane/index.js +8 -0
  34. package/es/tab-pane/style.css +0 -0
  35. package/es/tab-pane/style.min.css +0 -0
  36. package/es/tabs/index.js +8 -0
  37. package/es/tabs/src/tab-pane.js +64 -0
  38. package/es/tabs/src/tabs.js +195 -0
  39. package/es/tabs/src/util.js +17 -0
  40. package/es/tabs/style.css +113 -0
  41. package/es/tabs/style.min.css +1 -0
  42. package/es/textarea/src/textarea.js +3 -3
  43. package/es/ui/src/core.js +1 -1
  44. package/es/ui/src/log.js +1 -1
  45. package/es/vxe-layout-aside/style.css +3 -1
  46. package/es/vxe-layout-aside/style.min.css +1 -1
  47. package/es/vxe-layout-body/style.css +2 -0
  48. package/es/vxe-layout-body/style.min.css +1 -1
  49. package/es/vxe-layout-footer/style.css +3 -1
  50. package/es/vxe-layout-footer/style.min.css +1 -1
  51. package/es/vxe-layout-header/style.css +0 -1
  52. package/es/vxe-layout-header/style.min.css +1 -1
  53. package/es/vxe-tab-pane/index.js +3 -0
  54. package/es/vxe-tab-pane/style.css +0 -0
  55. package/es/vxe-tab-pane/style.min.css +0 -0
  56. package/es/vxe-tabs/index.js +3 -0
  57. package/es/vxe-tabs/style.css +113 -0
  58. package/es/vxe-tabs/style.min.css +1 -0
  59. package/lib/anchor/src/anchor-link.js +1 -1
  60. package/lib/anchor/src/anchor-link.min.js +1 -1
  61. package/lib/anchor/src/util.js +2 -2
  62. package/lib/anchor/src/util.min.js +1 -1
  63. package/lib/checkbox/src/checkbox.js +3 -3
  64. package/lib/checkbox/src/checkbox.min.js +1 -1
  65. package/lib/checkbox/src/group.js +3 -3
  66. package/lib/checkbox/src/group.min.js +1 -1
  67. package/lib/components.js +25 -1
  68. package/lib/components.min.js +1 -1
  69. package/lib/form/src/form-config-item.js +1 -1
  70. package/lib/form/src/form-config-item.min.js +1 -1
  71. package/lib/form/src/form-gather.js +1 -1
  72. package/lib/form/src/form-gather.min.js +1 -1
  73. package/lib/form/src/form-item.js +4 -4
  74. package/lib/form/src/form-item.min.js +1 -1
  75. package/lib/form/src/form.js +3 -3
  76. package/lib/form/src/form.min.js +1 -1
  77. package/lib/index.umd.js +421 -55
  78. package/lib/index.umd.min.js +1 -1
  79. package/lib/input/src/input.js +3 -3
  80. package/lib/input/src/input.min.js +1 -1
  81. package/lib/layout-aside/src/layout-aside.js +5 -2
  82. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  83. package/lib/layout-aside/style/style.css +3 -1
  84. package/lib/layout-aside/style/style.min.css +1 -1
  85. package/lib/layout-body/src/layout-body.js +9 -2
  86. package/lib/layout-body/src/layout-body.min.js +1 -1
  87. package/lib/layout-body/style/style.css +2 -0
  88. package/lib/layout-body/style/style.min.css +1 -1
  89. package/lib/layout-container/src/layout-container.js +4 -1
  90. package/lib/layout-container/src/layout-container.min.js +1 -1
  91. package/lib/layout-footer/src/layout-footer.js +8 -3
  92. package/lib/layout-footer/src/layout-footer.min.js +1 -1
  93. package/lib/layout-footer/style/style.css +3 -1
  94. package/lib/layout-footer/style/style.min.css +1 -1
  95. package/lib/layout-header/style/style.css +0 -1
  96. package/lib/layout-header/style/style.min.css +1 -1
  97. package/lib/radio/src/button.js +4 -4
  98. package/lib/radio/src/button.min.js +1 -1
  99. package/lib/radio/src/group.js +4 -4
  100. package/lib/radio/src/group.min.js +1 -1
  101. package/lib/radio/src/radio.js +4 -4
  102. package/lib/radio/src/radio.min.js +1 -1
  103. package/lib/select/src/optgroup.js +1 -1
  104. package/lib/select/src/optgroup.min.js +1 -1
  105. package/lib/select/src/option.js +1 -1
  106. package/lib/select/src/option.min.js +1 -1
  107. package/lib/select/src/select.js +4 -4
  108. package/lib/select/src/select.min.js +1 -1
  109. package/lib/style.css +1 -1
  110. package/lib/style.min.css +1 -1
  111. package/lib/switch/src/switch.js +3 -3
  112. package/lib/switch/src/switch.min.js +1 -1
  113. package/lib/tab-pane/index.js +15 -0
  114. package/lib/tab-pane/index.min.js +1 -0
  115. package/lib/tab-pane/style/index.js +1 -0
  116. package/lib/tab-pane/style/style.css +0 -0
  117. package/lib/tab-pane/style/style.min.css +0 -0
  118. package/lib/tabs/index.js +15 -0
  119. package/lib/tabs/index.min.js +1 -0
  120. package/lib/tabs/src/tab-pane.js +73 -0
  121. package/lib/tabs/src/tab-pane.min.js +1 -0
  122. package/lib/tabs/src/tabs.js +240 -0
  123. package/lib/tabs/src/tabs.min.js +1 -0
  124. package/lib/tabs/src/util.js +27 -0
  125. package/lib/tabs/src/util.min.js +1 -0
  126. package/lib/tabs/style/index.js +1 -0
  127. package/lib/tabs/style/style.css +113 -0
  128. package/lib/tabs/style/style.min.css +1 -0
  129. package/lib/textarea/src/textarea.js +3 -3
  130. package/lib/textarea/src/textarea.min.js +1 -1
  131. package/lib/ui/src/core.js +1 -1
  132. package/lib/ui/src/core.min.js +1 -1
  133. package/lib/ui/src/log.js +1 -1
  134. package/lib/ui/src/log.min.js +1 -1
  135. package/lib/vxe-layout-aside/style/style.css +3 -1
  136. package/lib/vxe-layout-aside/style/style.min.css +1 -1
  137. package/lib/vxe-layout-body/style/style.css +2 -0
  138. package/lib/vxe-layout-body/style/style.min.css +1 -1
  139. package/lib/vxe-layout-footer/style/style.css +3 -1
  140. package/lib/vxe-layout-footer/style/style.min.css +1 -1
  141. package/lib/vxe-layout-header/style/style.css +0 -1
  142. package/lib/vxe-layout-header/style/style.min.css +1 -1
  143. package/lib/vxe-tab-pane/index.js +22 -0
  144. package/lib/vxe-tab-pane/index.min.js +1 -0
  145. package/lib/vxe-tab-pane/style/index.js +1 -0
  146. package/lib/vxe-tab-pane/style/style.css +0 -0
  147. package/lib/vxe-tab-pane/style/style.min.css +0 -0
  148. package/lib/vxe-tabs/index.js +22 -0
  149. package/lib/vxe-tabs/index.min.js +1 -0
  150. package/lib/vxe-tabs/style/index.js +1 -0
  151. package/lib/vxe-tabs/style/style.css +113 -0
  152. package/lib/vxe-tabs/style/style.min.css +1 -0
  153. package/package.json +1 -1
  154. package/packages/anchor/src/anchor-link.ts +2 -2
  155. package/packages/anchor/src/util.ts +1 -1
  156. package/packages/checkbox/src/checkbox.ts +3 -3
  157. package/packages/checkbox/src/group.ts +3 -3
  158. package/packages/components.ts +6 -0
  159. package/packages/form/src/form-config-item.ts +1 -1
  160. package/packages/form/src/form-gather.ts +1 -1
  161. package/packages/form/src/form-item.ts +4 -4
  162. package/packages/form/src/form.ts +4 -3
  163. package/packages/input/src/input.ts +3 -3
  164. package/packages/layout-aside/src/layout-aside.ts +8 -6
  165. package/packages/layout-body/src/layout-body.ts +9 -4
  166. package/packages/layout-container/src/layout-container.ts +5 -4
  167. package/packages/layout-footer/src/layout-footer.ts +7 -5
  168. package/packages/layout-header/src/layout-header.ts +3 -3
  169. package/packages/radio/src/button.ts +4 -4
  170. package/packages/radio/src/group.ts +4 -4
  171. package/packages/radio/src/radio.ts +4 -4
  172. package/packages/select/src/optgroup.ts +1 -1
  173. package/packages/select/src/option.ts +1 -1
  174. package/packages/select/src/select.ts +4 -4
  175. package/packages/switch/src/switch.ts +3 -3
  176. package/packages/tab-pane/index.ts +11 -0
  177. package/packages/tabs/index.ts +11 -0
  178. package/packages/tabs/src/tab-pane.ts +85 -0
  179. package/packages/tabs/src/tabs.ts +223 -0
  180. package/packages/tabs/src/util.ts +21 -0
  181. package/packages/textarea/src/textarea.ts +3 -3
  182. package/styles/all.scss +2 -0
  183. package/styles/components/layout-aside.scss +3 -1
  184. package/styles/components/layout-body.scss +3 -1
  185. package/styles/components/layout-footer.scss +3 -1
  186. package/styles/components/layout-header.scss +0 -1
  187. package/styles/components/tab-pane.scss +0 -0
  188. package/styles/components/tabs.scss +116 -0
  189. package/types/all.d.ts +2 -0
  190. package/types/components/layout-aside.d.ts +10 -1
  191. package/types/components/layout-body.d.ts +4 -1
  192. package/types/components/layout-container.d.ts +4 -1
  193. package/types/components/layout-footer.d.ts +7 -2
  194. package/types/components/layout-header.d.ts +4 -1
  195. package/types/components/tab-pane.d.ts +84 -0
  196. package/types/components/tabs.d.ts +80 -0
  197. package/types/tool/common.d.ts +5 -0
@@ -1,7 +1,6 @@
1
1
  .vxe-layout-aside {
2
2
  flex-shrink: 0;
3
3
  transition: width 0.3s;
4
- padding: var(--vxe-ui-layout-padding-default);
5
4
  overflow-y: auto;
6
5
  overflow-x: hidden;
7
6
  }
@@ -10,4 +9,7 @@
10
9
  }
11
10
  .vxe-layout-aside.is--collapse {
12
11
  width: var(--vxe-ui-layout-aside-collapse-width);
12
+ }
13
+ .vxe-layout-aside.is--padding {
14
+ padding: var(--vxe-ui-layout-padding-default);
13
15
  }
@@ -1 +1 @@
1
- .vxe-layout-aside{flex-shrink:0;transition:width .3s;padding:var(--vxe-ui-layout-padding-default);overflow-y:auto;overflow-x:hidden}.vxe-layout-aside.is--default-width{width:var(--vxe-ui-layout-aside-default-width)}.vxe-layout-aside.is--collapse{width:var(--vxe-ui-layout-aside-collapse-width)}
1
+ .vxe-layout-aside{flex-shrink:0;transition:width .3s;overflow-y:auto;overflow-x:hidden}.vxe-layout-aside.is--default-width{width:var(--vxe-ui-layout-aside-default-width)}.vxe-layout-aside.is--collapse{width:var(--vxe-ui-layout-aside-collapse-width)}.vxe-layout-aside.is--padding{padding:var(--vxe-ui-layout-padding-default)}
@@ -1,4 +1,6 @@
1
1
  .vxe-layout-body {
2
2
  flex-grow: 1;
3
+ }
4
+ .vxe-layout-body.is--padding {
3
5
  padding: var(--vxe-ui-layout-padding-default);
4
6
  }
@@ -1 +1 @@
1
- .vxe-layout-body{flex-grow:1;padding:var(--vxe-ui-layout-padding-default)}
1
+ .vxe-layout-body{flex-grow:1}.vxe-layout-body.is--padding{padding:var(--vxe-ui-layout-padding-default)}
@@ -1,6 +1,5 @@
1
1
  .vxe-layout-footer {
2
2
  flex-shrink: 0;
3
- padding: var(--vxe-ui-layout-padding-default);
4
3
  background-color: var(--vxe-ui-layout-background-color);
5
4
  }
6
5
  .vxe-layout-footer.is--fixed {
@@ -8,4 +7,7 @@
8
7
  bottom: 0;
9
8
  left: 0;
10
9
  z-index: 9;
10
+ }
11
+ .vxe-layout-footer.align--center {
12
+ text-align: center;
11
13
  }
@@ -1 +1 @@
1
- .vxe-layout-footer{flex-shrink:0;padding:var(--vxe-ui-layout-padding-default);background-color:var(--vxe-ui-layout-background-color)}.vxe-layout-footer.is--fixed{position:sticky;bottom:0;left:0;z-index:9}
1
+ .vxe-layout-footer{flex-shrink:0;background-color:var(--vxe-ui-layout-background-color)}.vxe-layout-footer.is--fixed{position:sticky;bottom:0;left:0;z-index:9}.vxe-layout-footer.align--center{text-align:center}
@@ -1,6 +1,5 @@
1
1
  .vxe-layout-header {
2
2
  flex-shrink: 0;
3
- padding: var(--vxe-ui-layout-padding-default);
4
3
  background-color: var(--vxe-ui-layout-background-color);
5
4
  }
6
5
  .vxe-layout-header.is--fixed {
@@ -1 +1 @@
1
- .vxe-layout-header{flex-shrink:0;padding:var(--vxe-ui-layout-padding-default);background-color:var(--vxe-ui-layout-background-color)}.vxe-layout-header.is--fixed{position:sticky;top:0;left:0;z-index:9}
1
+ .vxe-layout-header{flex-shrink:0;background-color:var(--vxe-ui-layout-background-color)}.vxe-layout-header.is--fixed{position:sticky;top:0;left:0;z-index:9}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ exports.default = void 0;
8
+ var _tabPane = _interopRequireWildcard(require("../tab-pane"));
9
+ Object.keys(_tabPane).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
12
+ if (key in exports && exports[key] === _tabPane[key]) return;
13
+ Object.defineProperty(exports, key, {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _tabPane[key];
17
+ }
18
+ });
19
+ });
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ var _default = exports.default = _tabPane.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={},_tabPane=(exports.default=void 0,_interopRequireWildcard(require("../tab-pane")));function _getRequireWildcardCache(e){var t,r;return"function"!=typeof WeakMap?null:(t=new WeakMap,r=new WeakMap,(_getRequireWildcardCache=function(e){return e?r:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,a,n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((a=o?Object.getOwnPropertyDescriptor(e,r):null)&&(a.get||a.set)?Object.defineProperty(n,r,a):n[r]=e[r]);return n.default=e,t&&t.set(e,n),n}Object.keys(_tabPane).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_tabPane[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _tabPane[e]}})});var _default=exports.default=_tabPane.default;
@@ -0,0 +1 @@
1
+ require('./style.css')
File without changes
File without changes
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ exports.default = void 0;
8
+ var _tabs = _interopRequireWildcard(require("../tabs"));
9
+ Object.keys(_tabs).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
12
+ if (key in exports && exports[key] === _tabs[key]) return;
13
+ Object.defineProperty(exports, key, {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _tabs[key];
17
+ }
18
+ });
19
+ });
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ var _default = exports.default = _tabs.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={},_tabs=(exports.default=void 0,_interopRequireWildcard(require("../tabs")));function _getRequireWildcardCache(e){var t,r;return"function"!=typeof WeakMap?null:(t=new WeakMap,r=new WeakMap,(_getRequireWildcardCache=function(e){return e?r:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,a,o={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((a=n?Object.getOwnPropertyDescriptor(e,r):null)&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=e[r]);return o.default=e,t&&t.set(e,o),o}Object.keys(_tabs).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_tabs[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _tabs[e]}})});var _default=exports.default=_tabs.default;
@@ -0,0 +1 @@
1
+ require('./style.css')
@@ -0,0 +1,113 @@
1
+ .vxe-tabs {
2
+ background-color: var(--vxe-ui-layout-background-color);
3
+ }
4
+
5
+ .vxe-tabs-header {
6
+ position: relative;
7
+ }
8
+
9
+ .vxe-tabs-header--wrapper {
10
+ position: relative;
11
+ display: flex;
12
+ flex-direction: row;
13
+ }
14
+ .vxe-tabs-header--wrapper::after {
15
+ content: "";
16
+ position: absolute;
17
+ left: 0;
18
+ bottom: 0;
19
+ width: 100%;
20
+ height: 1px;
21
+ background-color: #e4e7ed;
22
+ }
23
+
24
+ .vxe-tab-header--item {
25
+ position: relative;
26
+ padding: 0 16px;
27
+ cursor: pointer;
28
+ }
29
+ .vxe-tab-header--item.is--active {
30
+ color: var(--vxe-ui-font-primary-color);
31
+ }
32
+
33
+ .vxe-tab-header--item-name {
34
+ height: 40px;
35
+ line-height: 40px;
36
+ border-bottom: 2px solid transparent;
37
+ transition: color 0.3s ease-in-out;
38
+ }
39
+
40
+ .vxe-tab-pane--item {
41
+ display: none;
42
+ padding: var(--vxe-ui-layout-padding-default);
43
+ }
44
+ .vxe-tab-pane--item.is--visible {
45
+ display: block;
46
+ }
47
+
48
+ .vxe-tabs-header--active-line {
49
+ display: none;
50
+ }
51
+
52
+ .vxe-tabs--default .vxe-tabs-header--active-line {
53
+ display: block;
54
+ position: absolute;
55
+ bottom: -1px;
56
+ left: 0;
57
+ height: 2px;
58
+ width: 4px;
59
+ background-color: var(--vxe-ui-font-primary-color);
60
+ z-index: 1;
61
+ transition: all 0.3s ease-in-out;
62
+ }
63
+
64
+ .vxe-tabs--card .vxe-tabs-header {
65
+ border-top: 1px solid #e4e7ed;
66
+ border-left: 1px solid #e4e7ed;
67
+ }
68
+ .vxe-tabs--card .vxe-tab-header--item {
69
+ border-left: 1px solid #e4e7ed;
70
+ }
71
+ .vxe-tabs--card .vxe-tab-header--item:first-child {
72
+ border-left: 0;
73
+ }
74
+ .vxe-tabs--card .vxe-tab-header--item:last-child {
75
+ border-right: 1px solid #e4e7ed;
76
+ }
77
+
78
+ .vxe-tabs--border-card .vxe-tab-pane--item {
79
+ border-bottom: 1px solid #e4e7ed;
80
+ border-left: 1px solid #e4e7ed;
81
+ border-right: 1px solid #e4e7ed;
82
+ }
83
+ .vxe-tabs--border-card .vxe-tabs-header {
84
+ border-top: 1px solid #e4e7ed;
85
+ border-left: 1px solid #e4e7ed;
86
+ border-right: 1px solid #e4e7ed;
87
+ background-color: #f5f7fa;
88
+ }
89
+ .vxe-tabs--border-card .vxe-tab-header--item.is--active {
90
+ background-color: #ffffff;
91
+ }
92
+ .vxe-tabs--border-card .vxe-tab-header--item.is--active::before {
93
+ content: "";
94
+ position: absolute;
95
+ top: 0;
96
+ left: -1px;
97
+ width: calc(100% + 2px);
98
+ height: 100%;
99
+ border-left: 1px solid #e4e7ed;
100
+ border-right: 1px solid #e4e7ed;
101
+ pointer-events: none;
102
+ }
103
+ .vxe-tabs--border-card .vxe-tab-header--item.is--active::after {
104
+ content: "";
105
+ position: absolute;
106
+ bottom: 0;
107
+ left: 0;
108
+ width: 100%;
109
+ height: 1px;
110
+ background-color: var(--vxe-ui-layout-background-color);
111
+ pointer-events: none;
112
+ z-index: 1;
113
+ }
@@ -0,0 +1 @@
1
+ .vxe-tabs{background-color:var(--vxe-ui-layout-background-color)}.vxe-tabs-header{position:relative}.vxe-tabs-header--wrapper{position:relative;display:flex;flex-direction:row}.vxe-tabs-header--wrapper::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#e4e7ed}.vxe-tab-header--item{position:relative;padding:0 16px;cursor:pointer}.vxe-tab-header--item.is--active{color:var(--vxe-ui-font-primary-color)}.vxe-tab-header--item-name{height:40px;line-height:40px;border-bottom:2px solid transparent;transition:color .3s ease-in-out}.vxe-tab-pane--item{display:none;padding:var(--vxe-ui-layout-padding-default)}.vxe-tab-pane--item.is--visible{display:block}.vxe-tabs-header--active-line{display:none}.vxe-tabs--default .vxe-tabs-header--active-line{display:block;position:absolute;bottom:-1px;left:0;height:2px;width:4px;background-color:var(--vxe-ui-font-primary-color);z-index:1;transition:all .3s ease-in-out}.vxe-tabs--card .vxe-tabs-header{border-top:1px solid #e4e7ed;border-left:1px solid #e4e7ed}.vxe-tabs--card .vxe-tab-header--item{border-left:1px solid #e4e7ed}.vxe-tabs--card .vxe-tab-header--item:first-child{border-left:0}.vxe-tabs--card .vxe-tab-header--item:last-child{border-right:1px solid #e4e7ed}.vxe-tabs--border-card .vxe-tab-pane--item{border-bottom:1px solid #e4e7ed;border-left:1px solid #e4e7ed;border-right:1px solid #e4e7ed}.vxe-tabs--border-card .vxe-tabs-header{border-top:1px solid #e4e7ed;border-left:1px solid #e4e7ed;border-right:1px solid #e4e7ed;background-color:#f5f7fa}.vxe-tabs--border-card .vxe-tab-header--item.is--active{background-color:#fff}.vxe-tabs--border-card .vxe-tab-header--item.is--active::before{content:"";position:absolute;top:0;left:-1px;width:calc(100% + 2px);height:100%;border-left:1px solid #e4e7ed;border-right:1px solid #e4e7ed;pointer-events:none}.vxe-tabs--border-card .vxe-tab-header--item.is--active::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--vxe-ui-layout-background-color);pointer-events:none;z-index:1}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "一个基于 vue 的 PC 端组件库",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, h, computed, reactive, PropType, inject, createCommentVNode, onMounted, onUnmounted, provide, watch } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
- import { assemAnchorLink, destroyAnchorLink } from './util'
3
+ import { assembleAnchorLink, destroyAnchorLink } from './util'
4
4
 
5
5
  import { VxeAnchorLinkDefines, VxeAnchorLinkPropTypes, AnchorLinkReactData, AnchorLinkPrivateRef, VxeAnchorLinkPrivateComputed, VxeAnchorLinkConstructor, VxeAnchorLinkPrivateMethods, VxeAnchorConstructor, VxeAnchorPrivateMethods } from '../../../types'
6
6
 
@@ -70,7 +70,7 @@ export default defineComponent({
70
70
 
71
71
  onMounted(() => {
72
72
  if ($xeAnchor && refElem.value) {
73
- assemAnchorLink($xeAnchor, refElem.value, linkConfig, $xeParentAnchorLink)
73
+ assembleAnchorLink($xeAnchor, refElem.value, linkConfig, $xeParentAnchorLink)
74
74
  }
75
75
  })
76
76
 
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils'
2
2
 
3
3
  import { VxeAnchorLinkDefines, VxeAnchorConstructor, VxeAnchorPrivateMethods, VxeAnchorLinkConstructor, VxeAnchorLinkPrivateMethods } from '../../../types'
4
4
 
5
- export function assemAnchorLink ($xeAnchor: VxeAnchorConstructor & VxeAnchorPrivateMethods, elem: HTMLElement, linkConfig: VxeAnchorLinkDefines.LinkConfig, $xeParentAnchorLink: (VxeAnchorLinkConstructor & VxeAnchorLinkPrivateMethods) | null) {
5
+ export function assembleAnchorLink ($xeAnchor: VxeAnchorConstructor & VxeAnchorPrivateMethods, elem: HTMLElement, linkConfig: VxeAnchorLinkDefines.LinkConfig, $xeParentAnchorLink: (VxeAnchorLinkConstructor & VxeAnchorLinkPrivateMethods) | null) {
6
6
  const staticLinks = $xeAnchor.reactData.staticLinks
7
7
  const parentElem = elem.parentNode
8
8
  const parentLinkConfig = $xeParentAnchorLink ? $xeParentAnchorLink.linkConfig : null
@@ -26,7 +26,7 @@ export default defineComponent({
26
26
  setup (props, context) {
27
27
  const { slots, emit } = context
28
28
  const $xeform = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeForm', null)
29
- const $xeformiteminfo = inject<VxeFormDefines.ProvideItemInfo | null>('$xeFormItemInfo', null)
29
+ const formItemInfo = inject<VxeFormDefines.ProvideItemInfo | null>('xeFormItemInfo', null)
30
30
 
31
31
  const xID = XEUtils.uniqueId()
32
32
 
@@ -76,8 +76,8 @@ export default defineComponent({
76
76
  emit('update:modelValue', value)
77
77
  checkboxMethods.dispatchEvent('change', params, evnt)
78
78
  // 自动更新校验状态
79
- if ($xeform && $xeformiteminfo) {
80
- $xeform.triggerItemEvent(evnt, $xeformiteminfo.itemConfig.field, value)
79
+ if ($xeform && formItemInfo) {
80
+ $xeform.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value)
81
81
  }
82
82
  }
83
83
  }
@@ -23,7 +23,7 @@ export default defineComponent({
23
23
  setup (props, context) {
24
24
  const { slots, emit } = context
25
25
  const $xeform = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeForm', null)
26
- const $xeformiteminfo = inject<VxeFormDefines.ProvideItemInfo | null>('$xeFormItemInfo', null)
26
+ const formItemInfo = inject<VxeFormDefines.ProvideItemInfo | null>('xeFormItemInfo', null)
27
27
 
28
28
  const xID = XEUtils.uniqueId()
29
29
 
@@ -89,8 +89,8 @@ export default defineComponent({
89
89
  emit('update:modelValue', checklist)
90
90
  $xecheckboxgroup.dispatchEvent('change', Object.assign({ checklist }, params), evnt)
91
91
  // 自动更新校验状态
92
- if ($xeform && $xeformiteminfo) {
93
- $xeform.triggerItemEvent(evnt, $xeformiteminfo.itemConfig.field, checklist)
92
+ if ($xeform && formItemInfo) {
93
+ $xeform.triggerItemEvent(evnt, formItemInfo.itemConfig.field, checklist)
94
94
  }
95
95
  }
96
96
  }
@@ -35,6 +35,8 @@ import VxeRadioGroup from './radio-group'
35
35
  import VxeRow from './row'
36
36
  import VxeSelect from './select'
37
37
  import VxeSwitch from './switch'
38
+ import VxeTabPane from './tab-pane'
39
+ import VxeTabs from './tabs'
38
40
  import VxeTextarea from './textarea'
39
41
  import VxeTooltip from './tooltip'
40
42
 
@@ -81,6 +83,8 @@ const components = [
81
83
  VxeRow,
82
84
  VxeSelect,
83
85
  VxeSwitch,
86
+ VxeTabPane,
87
+ VxeTabs,
84
88
  VxeTextarea,
85
89
  VxeTooltip
86
90
  ]
@@ -127,5 +131,7 @@ export * from './radio-group'
127
131
  export * from './row'
128
132
  export * from './select'
129
133
  export * from './switch'
134
+ export * from './tab-pane'
135
+ export * from './tabs'
130
136
  export * from './textarea'
131
137
  export * from './tooltip'
@@ -18,7 +18,7 @@ const VxeFormConfigItem = defineComponent({
18
18
  setup (props) {
19
19
  const $xeform = inject('$xeForm', {} as VxeFormConstructor & VxeFormPrivateMethods)
20
20
  const xeformiteminfo = { itemConfig: props.itemConfig }
21
- provide('$xeFormItemInfo', xeformiteminfo)
21
+ provide('xeFormItemInfo', xeformiteminfo)
22
22
 
23
23
  const renderVN = () => {
24
24
  const { reactData } = $xeform
@@ -17,7 +17,7 @@ export default defineComponent({
17
17
  formItem.children = []
18
18
 
19
19
  const formItemInfo = { itemConfig: formItem }
20
- provide('$xeFormItemInfo', formItemInfo)
20
+ provide('xeFormItemInfo', formItemInfo)
21
21
 
22
22
  watchItem(props, formItem)
23
23
 
@@ -64,12 +64,12 @@ export default defineComponent({
64
64
  setup (props, { slots }) {
65
65
  const refElem = ref() as Ref<HTMLDivElement>
66
66
  const $xeform = inject('$xeForm', {} as VxeFormConstructor & VxeFormPrivateMethods)
67
- const formGather = inject('$xeformgather', null as XEFormItemProvide | null)
67
+ const formGather = inject('$xeFormGather', null as XEFormItemProvide | null)
68
68
  const formItem = reactive(createItem($xeform, props))
69
69
  formItem.slots = slots
70
70
 
71
71
  const formItemInfo = { itemConfig: formItem }
72
- provide('$xeFormItemInfo', formItemInfo)
72
+ provide('xeFormItemInfo', formItemInfo)
73
73
 
74
74
  watchItem(props, formItem)
75
75
 
@@ -242,8 +242,8 @@ export default defineComponent({
242
242
  renderVN
243
243
  }
244
244
 
245
- provide('$xeformitem', $xeformitem)
246
- provide('$xeformgather', null)
245
+ provide('$xeFormItem', $xeformitem)
246
+ provide('$xeFormGather', null)
247
247
 
248
248
  return $xeformitem
249
249
  },
@@ -127,6 +127,8 @@ export default defineComponent({
127
127
  }
128
128
  })
129
129
 
130
+ provide('xeFormItemInfo', null)
131
+
130
132
  const $xegrid = inject<any>('$xegrid', null)
131
133
 
132
134
  const refElem = ref<HTMLFormElement>()
@@ -704,9 +706,8 @@ export default defineComponent({
704
706
  $xeform.renderVN = renderVN
705
707
 
706
708
  provide('$xeForm', $xeform)
707
- provide('$xeformgather', null)
708
- provide('$xeformitem', null)
709
- provide('$xeFormItemInfo', null)
709
+ provide('$xeFormGather', null)
710
+ provide('$xeFormItem', null)
710
711
 
711
712
  return $xeform
712
713
  },
@@ -142,7 +142,7 @@ export default defineComponent({
142
142
  setup (props, context) {
143
143
  const { slots, emit } = context
144
144
  const $xeform = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeForm', null)
145
- const $xeformiteminfo = inject<VxeFormDefines.ProvideItemInfo | null>('$xeFormItemInfo', null)
145
+ const formItemInfo = inject<VxeFormDefines.ProvideItemInfo | null>('xeFormItemInfo', null)
146
146
 
147
147
  const xID = XEUtils.uniqueId()
148
148
 
@@ -689,8 +689,8 @@ export default defineComponent({
689
689
  if (XEUtils.toValueString(props.modelValue) !== value) {
690
690
  inputMethods.dispatchEvent('change', { value }, evnt)
691
691
  // 自动更新校验状态
692
- if ($xeform && $xeformiteminfo) {
693
- $xeform.triggerItemEvent(evnt, $xeformiteminfo.itemConfig.field, value)
692
+ if ($xeform && formItemInfo) {
693
+ $xeform.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value)
694
694
  }
695
695
  }
696
696
  }
@@ -1,15 +1,16 @@
1
- import { defineComponent, ref, h, reactive, onMounted, computed } from 'vue'
1
+ import { defineComponent, ref, h, reactive, onMounted, computed, PropType } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { toCssUnit } from '../../ui/src/dom'
4
4
 
5
- import { LayoutAsideReactData, LayoutAsidePrivateRef, VxeLayoutAsidePrivateComputed, VxeLayoutAsideConstructor, VxeLayoutAsidePrivateMethods } from '../../../types'
5
+ import { VxeLayoutAsidePropTypes, LayoutAsideReactData, LayoutAsidePrivateRef, VxeLayoutAsidePrivateComputed, VxeLayoutAsideConstructor, VxeLayoutAsidePrivateMethods } from '../../../types'
6
6
 
7
7
  export default defineComponent({
8
8
  name: 'VxeLayoutAside',
9
9
  props: {
10
- width: [String, Number],
11
- collapsed: Boolean,
12
- collapseWidth: [String, Number]
10
+ width: [String, Number] as PropType<VxeLayoutAsidePropTypes.Width>,
11
+ collapsed: Boolean as PropType<VxeLayoutAsidePropTypes.Collapsed>,
12
+ collapseWidth: [String, Number] as PropType<VxeLayoutAsidePropTypes.CollapseWidth>,
13
+ padding: Boolean as PropType<VxeLayoutAsidePropTypes.Padding>
13
14
  },
14
15
  emits: [],
15
16
  setup (props, context) {
@@ -53,13 +54,14 @@ export default defineComponent({
53
54
  } as unknown as VxeLayoutAsideConstructor & VxeLayoutAsidePrivateMethods
54
55
 
55
56
  const renderVN = () => {
56
- const { width, collapsed } = props
57
+ const { width, collapsed, padding } = props
57
58
  const wrapperWidth = computeWrapperWidth.value
58
59
  const defaultSlot = slots.default
59
60
 
60
61
  return h('div', {
61
62
  ref: refElem,
62
63
  class: ['vxe-layout-aside', {
64
+ 'is--padding': padding,
63
65
  'is--default-width': !width,
64
66
  'is--collapse': collapsed
65
67
  }],
@@ -1,11 +1,13 @@
1
- import { defineComponent, ref, h, reactive } from 'vue'
1
+ import { defineComponent, ref, h, reactive, PropType } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
 
4
- import { LayoutBodyReactData, LayoutBodyPrivateRef, VxeLayoutBodyPrivateComputed, VxeLayoutBodyConstructor, VxeLayoutBodyPrivateMethods } from '../../../types'
4
+ import { VxeLayoutBodyPropTypes, LayoutBodyReactData, LayoutBodyPrivateRef, VxeLayoutBodyPrivateComputed, VxeLayoutBodyConstructor, VxeLayoutBodyPrivateMethods } from '../../../types'
5
5
 
6
6
  export default defineComponent({
7
7
  name: 'VxeLayoutBody',
8
- props: {},
8
+ props: {
9
+ padding: Boolean as PropType<VxeLayoutBodyPropTypes.Padding>
10
+ },
9
11
  emits: [],
10
12
  setup (props, context) {
11
13
  const { slots } = context
@@ -35,10 +37,13 @@ export default defineComponent({
35
37
  } as unknown as VxeLayoutBodyConstructor & VxeLayoutBodyPrivateMethods
36
38
 
37
39
  const renderVN = () => {
40
+ const { padding } = props
38
41
  const defaultSlot = slots.default
39
42
  return h('div', {
40
43
  ref: refElem,
41
- class: 'vxe-layout-body'
44
+ class: ['vxe-layout-body', {
45
+ 'is--padding': padding
46
+ }]
42
47
  }, defaultSlot ? defaultSlot({}) : [])
43
48
  }
44
49
 
@@ -1,12 +1,12 @@
1
- import { defineComponent, ref, h, reactive } from 'vue'
1
+ import { defineComponent, ref, h, reactive, PropType } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
 
4
- import { LayoutContainerReactData, LayoutContainerPrivateRef, VxeLayoutContainerPrivateComputed, VxeLayoutContainerConstructor, VxeLayoutContainerPrivateMethods } from '../../../types'
4
+ import { VxeLayoutContainerPropTypes, LayoutContainerReactData, LayoutContainerPrivateRef, VxeLayoutContainerPrivateComputed, VxeLayoutContainerConstructor, VxeLayoutContainerPrivateMethods } from '../../../types'
5
5
 
6
6
  export default defineComponent({
7
7
  name: 'VxeLayoutContainer',
8
8
  props: {
9
- vertical: Boolean
9
+ vertical: Boolean as PropType<VxeLayoutContainerPropTypes.Vertical>
10
10
  },
11
11
  emits: [],
12
12
  setup (props, context) {
@@ -37,11 +37,12 @@ export default defineComponent({
37
37
  } as unknown as VxeLayoutContainerConstructor & VxeLayoutContainerPrivateMethods
38
38
 
39
39
  const renderVN = () => {
40
+ const { vertical } = props
40
41
  const defaultSlot = slots.default
41
42
  return h('div', {
42
43
  ref: refElem,
43
44
  class: ['vxe-layout-container', {
44
- 'is--vertical': props.vertical
45
+ 'is--vertical': vertical
45
46
  }]
46
47
  }, defaultSlot ? defaultSlot({}) : [])
47
48
  }
@@ -1,12 +1,13 @@
1
- import { defineComponent, ref, h, reactive } from 'vue'
1
+ import { defineComponent, ref, h, reactive, PropType } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
 
4
- import { LayoutFooterReactData, LayoutFooterPrivateRef, VxeLayoutFooterPrivateComputed, VxeLayoutFooterConstructor, VxeLayoutFooterPrivateMethods } from '../../../types'
4
+ import { VxeLayoutFooterPropTypes, LayoutFooterReactData, LayoutFooterPrivateRef, VxeLayoutFooterPrivateComputed, VxeLayoutFooterConstructor, VxeLayoutFooterPrivateMethods } from '../../../types'
5
5
 
6
6
  export default defineComponent({
7
7
  name: 'VxeLayoutFooter',
8
8
  props: {
9
- fixed: Boolean
9
+ fixed: Boolean as PropType<VxeLayoutFooterPropTypes.Fixed>,
10
+ align: String as PropType<VxeLayoutFooterPropTypes.Align>
10
11
  },
11
12
  emits: [],
12
13
  setup (props, context) {
@@ -37,11 +38,12 @@ export default defineComponent({
37
38
  } as unknown as VxeLayoutFooterConstructor & VxeLayoutFooterPrivateMethods
38
39
 
39
40
  const renderVN = () => {
41
+ const { fixed, align } = props
40
42
  const defaultSlot = slots.default
41
43
  return h('div', {
42
44
  ref: refElem,
43
- class: ['vxe-layout-footer', {
44
- 'is--fixed': props.fixed
45
+ class: ['vxe-layout-footer', align ? `align--${align}` : '', {
46
+ 'is--fixed': fixed
45
47
  }]
46
48
  }, defaultSlot ? defaultSlot({}) : [])
47
49
  }
@@ -1,12 +1,12 @@
1
- import { defineComponent, ref, h, reactive } from 'vue'
1
+ import { defineComponent, ref, h, reactive, PropType } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
 
4
- import { LayoutHeaderReactData, LayoutHeaderPrivateRef, VxeLayoutHeaderPrivateComputed, VxeLayoutHeaderConstructor, VxeLayoutHeaderPrivateMethods } from '../../../types'
4
+ import { VxeLayoutHeaderPropTypes, LayoutHeaderReactData, LayoutHeaderPrivateRef, VxeLayoutHeaderPrivateComputed, VxeLayoutHeaderConstructor, VxeLayoutHeaderPrivateMethods } from '../../../types'
5
5
 
6
6
  export default defineComponent({
7
7
  name: 'VxeLayoutHeader',
8
8
  props: {
9
- fixed: Boolean
9
+ fixed: Boolean as PropType<VxeLayoutHeaderPropTypes.Fixed>
10
10
  },
11
11
  emits: [],
12
12
  setup (props, context) {
@@ -24,7 +24,7 @@ export default defineComponent({
24
24
  setup (props, context) {
25
25
  const { slots, emit } = context
26
26
  const $xeform = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeForm', null)
27
- const $xeformiteminfo = inject<VxeFormDefines.ProvideItemInfo | null>('$xeFormItemInfo', null)
27
+ const xeFormItemInfo = inject<VxeFormDefines.ProvideItemInfo | null>('xeFormItemInfo', null)
28
28
 
29
29
  const xID = XEUtils.uniqueId()
30
30
 
@@ -38,7 +38,7 @@ export default defineComponent({
38
38
 
39
39
  let radioButtonMethods = {} as RadioButtonMethods
40
40
 
41
- const $xeradiogroup = inject('$xeradiogroup', null as (VxeRadioGroupConstructor & VxeRadioGroupPrivateMethods) | null)
41
+ const $xeradiogroup = inject('$xeRadioGroup', null as (VxeRadioGroupConstructor & VxeRadioGroupPrivateMethods) | null)
42
42
 
43
43
  const computeDisabled = computed(() => {
44
44
  return props.disabled || ($xeradiogroup && $xeradiogroup.props.disabled)
@@ -72,8 +72,8 @@ export default defineComponent({
72
72
  emit('update:modelValue', label)
73
73
  radioButtonMethods.dispatchEvent('change', { label }, evnt)
74
74
  // 自动更新校验状态
75
- if ($xeform && $xeformiteminfo) {
76
- $xeform.triggerItemEvent(evnt, $xeformiteminfo.itemConfig.field, label)
75
+ if ($xeform && xeFormItemInfo) {
76
+ $xeform.triggerItemEvent(evnt, xeFormItemInfo.itemConfig.field, label)
77
77
  }
78
78
  }
79
79
  }