xt-element-ui 1.3.3 → 1.4.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 (124) hide show
  1. package/CHANGELOG.md +72 -72
  2. package/LICENSE +21 -21
  3. package/README.md +240 -240
  4. package/docs/README.md +100 -100
  5. package/docs/components/base/xt-button.md +114 -114
  6. package/docs/components/base/xt-card-item.md +104 -104
  7. package/docs/components/base/xt-card.md +108 -108
  8. package/docs/components/base/xt-config-provider.md +199 -199
  9. package/docs/components/base/xt-flex-box.md +115 -115
  10. package/docs/components/base/xt-grid-box.md +302 -302
  11. package/docs/components/base/xt-input.md +150 -150
  12. package/docs/components/base/xt-map-provider.md +23 -23
  13. package/docs/components/base/xt-map.md +331 -331
  14. package/docs/components/base/xt-step-price.md +165 -165
  15. package/docs/components/base/xt-text.md +212 -212
  16. package/docs/components/base/xt-time.md +165 -165
  17. package/docs/components/extend/ex-bar.md +67 -67
  18. package/docs/components/extend/ex-button.md +62 -62
  19. package/docs/components/extend/ex-card.md +86 -86
  20. package/docs/components/extend/ex-chart.md +463 -463
  21. package/docs/components/extend/ex-icon.md +189 -189
  22. package/docs/components/extend/ex-line.md +70 -70
  23. package/docs/components/extend/ex-multi.md +155 -155
  24. package/docs/components/extend/ex-pie.md +69 -69
  25. package/docs/components/extend/ex-select-tree.md +210 -210
  26. package/docs/components/extend/ex-table.md +590 -590
  27. package/docs/components/extend/ex-upload.md +134 -134
  28. package/docs/components/utils/size.md +147 -147
  29. package/docs/components/utils/theme.md +182 -182
  30. package/lib/index.common.js +4575 -4186
  31. package/lib/index.css +1 -1
  32. package/lib/index.umd.js +4475 -4085
  33. package/lib/index.umd.min.js +5 -5
  34. package/package.json +80 -81
  35. package/src/components/ex-button/index.js +7 -7
  36. package/src/components/ex-button/index.vue +66 -66
  37. package/src/components/ex-button/style/index.scss +67 -67
  38. package/src/components/ex-card/index.js +7 -7
  39. package/src/components/ex-card/index.vue +68 -68
  40. package/src/components/ex-card/style/index.scss +73 -73
  41. package/src/components/ex-chart/index.js +7 -7
  42. package/src/components/ex-chart/index.vue +136 -136
  43. package/src/components/ex-chart/theme/dark.js +4 -1
  44. package/src/components/ex-date-picker/index.js +7 -7
  45. package/src/components/ex-icon/index.js +7 -7
  46. package/src/components/ex-icon/index.vue +168 -168
  47. package/src/components/ex-icon/style/index.scss +7 -7
  48. package/src/components/ex-page/index.js +7 -7
  49. package/src/components/ex-select-tree/index.js +7 -7
  50. package/src/components/ex-table/ExTableCell.vue +22 -22
  51. package/src/components/ex-table/index.js +7 -7
  52. package/src/components/ex-table/virtualScrollData.js +35 -35
  53. package/src/components/ex-upload/index.js +7 -7
  54. package/src/components/index.scss +49 -40
  55. package/src/components/xt-badge/index.js +7 -0
  56. package/src/components/xt-badge/index.vue +71 -0
  57. package/src/components/xt-badge/style/index.scss +88 -0
  58. package/src/components/xt-button/index.js +7 -7
  59. package/src/components/xt-button/index.vue +97 -97
  60. package/src/components/xt-card/index.js +7 -7
  61. package/src/components/xt-card/style/index.scss +48 -48
  62. package/src/components/xt-card-item/index.js +7 -7
  63. package/src/components/xt-card-item/index.vue +5 -5
  64. package/src/components/xt-card-item/style/index copy.scss +71 -71
  65. package/src/components/xt-card-item/style/index.scss +82 -82
  66. package/src/components/xt-config-provider/index.js +7 -7
  67. package/src/components/xt-config-provider/index.vue +362 -362
  68. package/src/components/xt-config-provider/style/index.scss +11 -11
  69. package/src/components/xt-flex-box/index.js +7 -7
  70. package/src/components/xt-flex-box/style/index.scss +81 -81
  71. package/src/components/xt-grid-box/index.js +7 -7
  72. package/src/components/xt-grid-box/style/index.scss +92 -92
  73. package/src/components/xt-grid-item/index.js +7 -7
  74. package/src/components/xt-grid-item/index.vue +106 -106
  75. package/src/components/xt-input/index.js +7 -7
  76. package/src/components/xt-input/index.vue +66 -66
  77. package/src/components/xt-input/style/index.scss +84 -84
  78. package/src/components/xt-map/adapters/amap.js +235 -235
  79. package/src/components/xt-map/adapters/baidu.js +254 -254
  80. package/src/components/xt-map/adapters/base.js +267 -267
  81. package/src/components/xt-map/adapters/index.js +29 -29
  82. package/src/components/xt-map/adapters/tianditu.js +242 -242
  83. package/src/components/xt-map/config/xt-map-config.js +197 -197
  84. package/src/components/xt-map/index.js +8 -8
  85. package/src/components/xt-map/index.vue +351 -351
  86. package/src/components/xt-map/loaders/script-loader.js +114 -114
  87. package/src/components/xt-map/provider.vue +200 -200
  88. package/src/components/xt-map/style/index.scss +77 -77
  89. package/src/components/xt-map-provider/index.js +8 -8
  90. package/src/components/xt-progress/index.js +7 -0
  91. package/src/components/xt-progress/index.vue +103 -0
  92. package/src/components/xt-progress/style/index.scss +119 -0
  93. package/src/components/xt-step-price/index.js +10 -10
  94. package/src/components/xt-step-price/index.vue +272 -272
  95. package/src/components/xt-step-price/style/index.scss +123 -123
  96. package/src/components/xt-step-price-item/index.js +7 -7
  97. package/src/components/xt-step-price-item/index.vue +187 -187
  98. package/src/components/xt-tabs/TabPane.vue +36 -0
  99. package/src/components/xt-tabs/index.js +10 -0
  100. package/src/components/xt-tabs/index.vue +113 -0
  101. package/src/components/xt-tabs/style/index.scss +197 -0
  102. package/src/components/xt-text/index.js +7 -7
  103. package/src/components/xt-text/index.vue +16 -2
  104. package/src/components/xt-text/style/index.scss +110 -92
  105. package/src/components/xt-time/index.js +7 -7
  106. package/src/components/xt-time/index.vue +313 -313
  107. package/src/components/xt-time/style/index.scss +23 -23
  108. package/src/config/element-registry.js +135 -135
  109. package/src/index.js +169 -178
  110. package/src/styles/css-variables.scss +257 -257
  111. package/src/styles/theme/background.scss +5 -5
  112. package/src/styles/theme/border-radius.scss +3 -3
  113. package/src/styles/theme/borders.scss +3 -3
  114. package/src/styles/theme/colors.scss +101 -101
  115. package/src/styles/theme/component-variables.scss +69 -69
  116. package/src/styles/theme/dark-variables.scss +28 -28
  117. package/src/styles/theme/font.scss +12 -12
  118. package/src/styles/theme/index.scss +11 -11
  119. package/src/styles/theme/shadows.scss +2 -2
  120. package/src/styles/theme/spacing.scss +4 -4
  121. package/src/styles/theme/transitions.scss +2 -2
  122. package/src/styles/theme/typography.scss +4 -4
  123. package/src/styles/variables-export.scss +85 -85
  124. package/src/utils/index.js +191 -202
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <span class="xt-badge" :class="[
3
+ `xt-badge--${type}`,
4
+ { 'xt-badge--dot': isDot },
5
+ { 'xt-badge--hidden': hidden },
6
+ { 'xt-badge--fixed': fixed }
7
+ ]">
8
+ <span class="xt-badge__content">
9
+ <slot></slot>
10
+ </span>
11
+ <span
12
+ v-if="!hidden && (value || isDot)"
13
+ class="xt-badge__badge"
14
+ :style="badgeStyle"
15
+ >
16
+ <template v-if="isDot"></template>
17
+ <template v-else-if="showOverflow && value > max">{{ max }}+</template>
18
+ <template v-else>{{ value }}</template>
19
+ </span>
20
+ </span>
21
+ </template>
22
+
23
+ <script>
24
+ export default {
25
+ name: 'XtBadge',
26
+ props: {
27
+ value: {
28
+ type: [Number, String],
29
+ default: ''
30
+ },
31
+ type: {
32
+ type: String,
33
+ default: 'primary',
34
+ validator: (val) => ['primary', 'success', 'warning', 'danger', 'info'].includes(val)
35
+ },
36
+ max: {
37
+ type: Number,
38
+ default: 99
39
+ },
40
+ isDot: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ hidden: {
45
+ type: Boolean,
46
+ default: false
47
+ },
48
+ showOverflow: {
49
+ type: Boolean,
50
+ default: true
51
+ },
52
+ fixed: {
53
+ type: Boolean,
54
+ default: false
55
+ },
56
+ color: {
57
+ type: String,
58
+ default: ''
59
+ }
60
+ },
61
+ computed: {
62
+ badgeStyle() {
63
+ const style = {}
64
+ if (this.color) {
65
+ style.backgroundColor = this.color
66
+ }
67
+ return style
68
+ }
69
+ }
70
+ }
71
+ </script>
@@ -0,0 +1,88 @@
1
+ @import '../../../styles/variables.scss';
2
+
3
+ .xt-badge {
4
+ position: relative;
5
+ display: inline-flex;
6
+ align-items: center;
7
+ }
8
+
9
+ .xt-badge__content {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ }
13
+
14
+ .xt-badge__badge {
15
+ position: absolute;
16
+ top: -6px;
17
+ right: -8px;
18
+ min-width: 18px;
19
+ height: 18px;
20
+ padding: 0 5px;
21
+ border-radius: 9px;
22
+ font-size: 12px;
23
+ font-weight: 500;
24
+ line-height: 18px;
25
+ color: #ffffff;
26
+ text-align: center;
27
+ white-space: nowrap;
28
+ background: $xt-color-danger;
29
+ }
30
+
31
+ .xt-badge--dot .xt-badge__badge {
32
+ min-width: 8px;
33
+ width: 8px;
34
+ height: 8px;
35
+ padding: 0;
36
+ border-radius: 50%;
37
+ }
38
+
39
+ .xt-badge--fixed .xt-badge__badge {
40
+ top: -4px;
41
+ right: -4px;
42
+ }
43
+
44
+ .xt-badge--primary .xt-badge__badge {
45
+ background: $xt-color-primary;
46
+ }
47
+
48
+ .xt-badge--success .xt-badge__badge {
49
+ background: $xt-color-success;
50
+ }
51
+
52
+ .xt-badge--warning .xt-badge__badge {
53
+ background: $xt-color-warning;
54
+ }
55
+
56
+ .xt-badge--danger .xt-badge__badge {
57
+ background: $xt-color-danger;
58
+ }
59
+
60
+ .xt-badge--info .xt-badge__badge {
61
+ background: $xt-color-info;
62
+ }
63
+
64
+ .xt-badge--hidden {
65
+ display: none;
66
+ }
67
+
68
+ [data-theme='dark'], html.dark {
69
+ .xt-badge--primary .xt-badge__badge {
70
+ background: $xt-dark-color-primary;
71
+ }
72
+
73
+ .xt-badge--success .xt-badge__badge {
74
+ background: $xt-dark-color-success;
75
+ }
76
+
77
+ .xt-badge--warning .xt-badge__badge {
78
+ background: $xt-dark-color-warning;
79
+ }
80
+
81
+ .xt-badge--danger .xt-badge__badge {
82
+ background: $xt-dark-color-danger;
83
+ }
84
+
85
+ .xt-badge--info .xt-badge__badge {
86
+ background: $xt-dark-color-info;
87
+ }
88
+ }
@@ -1,8 +1,8 @@
1
- import XtButton from './index.vue'
2
-
3
- XtButton.install = function (Vue) {
4
- Vue.component(XtButton.name, XtButton)
5
- }
6
-
7
- export default XtButton
1
+ import XtButton from './index.vue'
2
+
3
+ XtButton.install = function (Vue) {
4
+ Vue.component(XtButton.name, XtButton)
5
+ }
6
+
7
+ export default XtButton
8
8
  export { XtButton }
@@ -1,97 +1,97 @@
1
- <template>
2
- <button
3
- class="xt-button"
4
- :class="[
5
- type ? 'xt-button--' + type : '',
6
- size ? 'xt-button--' + size : '',
7
- {
8
- 'is-plain': plain,
9
- 'is-disabled': disabled,
10
- 'is-round': round,
11
- 'is-circle': circle,
12
- 'is-dashed': dashed,
13
- 'is-text': text,
14
- 'is-link': link,
15
- 'is-loading': loading
16
- }
17
- ]"
18
- :disabled="disabled || loading"
19
- @click="handleClick"
20
- >
21
- <i v-if="loading" class="el-icon-loading"></i>
22
- <i v-else-if="icon" :class="iconClass"></i>
23
- <span v-if="$slots.default" class="xt-button__inner">
24
- <slot></slot>
25
- </span>
26
- </button>
27
- </template>
28
-
29
- <script>
30
- export default {
31
- name: 'XtButton',
32
- props: {
33
- type: {
34
- type: String,
35
- default: '',
36
- validator: (val) => ['', 'primary', 'success', 'warning', 'danger'].includes(val)
37
- },
38
- size: {
39
- type: String,
40
- default: '',
41
- validator: (val) => ['', 'large', 'medium', 'small'].includes(val)
42
- },
43
- plain: {
44
- type: Boolean,
45
- default: false
46
- },
47
- disabled: {
48
- type: Boolean,
49
- default: false
50
- },
51
- round: {
52
- type: Boolean,
53
- default: false
54
- },
55
- circle: {
56
- type: Boolean,
57
- default: false
58
- },
59
- dashed: {
60
- type: Boolean,
61
- default: false
62
- },
63
- text: {
64
- type: Boolean,
65
- default: false
66
- },
67
- link: {
68
- type: Boolean,
69
- default: false
70
- },
71
- icon: {
72
- type: String,
73
- default: ''
74
- },
75
- loading: {
76
- type: Boolean,
77
- default: false
78
- }
79
- },
80
- computed: {
81
- iconClass() {
82
- if (!this.icon) return ''
83
- if (this.icon.indexOf('el-icon') === 0) {
84
- return this.icon
85
- }
86
- return 'el-icon-' + this.icon
87
- }
88
- },
89
- methods: {
90
- handleClick() {
91
- if (!this.disabled && !this.loading) {
92
- this.$emit('click')
93
- }
94
- }
95
- }
96
- }
97
- </script>
1
+ <template>
2
+ <button
3
+ class="xt-button"
4
+ :class="[
5
+ type ? 'xt-button--' + type : '',
6
+ size ? 'xt-button--' + size : '',
7
+ {
8
+ 'is-plain': plain,
9
+ 'is-disabled': disabled,
10
+ 'is-round': round,
11
+ 'is-circle': circle,
12
+ 'is-dashed': dashed,
13
+ 'is-text': text,
14
+ 'is-link': link,
15
+ 'is-loading': loading
16
+ }
17
+ ]"
18
+ :disabled="disabled || loading"
19
+ @click="handleClick"
20
+ >
21
+ <i v-if="loading" class="el-icon-loading"></i>
22
+ <i v-else-if="icon" :class="iconClass"></i>
23
+ <span v-if="$slots.default" class="xt-button__inner">
24
+ <slot></slot>
25
+ </span>
26
+ </button>
27
+ </template>
28
+
29
+ <script>
30
+ export default {
31
+ name: 'XtButton',
32
+ props: {
33
+ type: {
34
+ type: String,
35
+ default: '',
36
+ validator: (val) => ['', 'primary', 'success', 'warning', 'danger'].includes(val)
37
+ },
38
+ size: {
39
+ type: String,
40
+ default: '',
41
+ validator: (val) => ['', 'large', 'medium', 'small'].includes(val)
42
+ },
43
+ plain: {
44
+ type: Boolean,
45
+ default: false
46
+ },
47
+ disabled: {
48
+ type: Boolean,
49
+ default: false
50
+ },
51
+ round: {
52
+ type: Boolean,
53
+ default: false
54
+ },
55
+ circle: {
56
+ type: Boolean,
57
+ default: false
58
+ },
59
+ dashed: {
60
+ type: Boolean,
61
+ default: false
62
+ },
63
+ text: {
64
+ type: Boolean,
65
+ default: false
66
+ },
67
+ link: {
68
+ type: Boolean,
69
+ default: false
70
+ },
71
+ icon: {
72
+ type: String,
73
+ default: ''
74
+ },
75
+ loading: {
76
+ type: Boolean,
77
+ default: false
78
+ }
79
+ },
80
+ computed: {
81
+ iconClass() {
82
+ if (!this.icon) return ''
83
+ if (this.icon.indexOf('el-icon') === 0) {
84
+ return this.icon
85
+ }
86
+ return 'el-icon-' + this.icon
87
+ }
88
+ },
89
+ methods: {
90
+ handleClick() {
91
+ if (!this.disabled && !this.loading) {
92
+ this.$emit('click')
93
+ }
94
+ }
95
+ }
96
+ }
97
+ </script>
@@ -1,8 +1,8 @@
1
- import XtCard from './index.vue'
2
-
3
- XtCard.install = function (Vue) {
4
- Vue.component(XtCard.name, XtCard)
5
- }
6
-
7
- export default XtCard
1
+ import XtCard from './index.vue'
2
+
3
+ XtCard.install = function (Vue) {
4
+ Vue.component(XtCard.name, XtCard)
5
+ }
6
+
7
+ export default XtCard
8
8
  export { XtCard }
@@ -1,49 +1,49 @@
1
- @import '../../../styles/variables.scss';
2
-
3
- .xt-card {
4
- --xt-card-bg-color: var(--xt-card-bg-color, #ffffff);
5
- --xt-card-border-color: var(--xt-card-border-color, #EBEEF5);
6
- --xt-card-text-color: var(--xt-color-text-primary, #303133);
7
-
8
- border-radius: var(--xt-card-border-radius, 4px);
9
- box-shadow: var(--xt-card-shadow, 0 2px 12px 0 rgba(0, 0, 0, 0.1));
10
- background-color: var(--xt-card-bg-color);
11
- overflow: hidden;
12
- color: var(--xt-card-text-color);
13
- transition: var(--xt-transition-duration, 0.3s);
14
- }
15
-
16
- .xt-card .card__header {
17
- padding: var(--xt-card-header-padding, 18px 20px);
18
- box-sizing: border-box;
19
- font-weight: 600;
20
- font-size: var(--xt-font-size-medium, 16px);
21
- }
22
-
23
- .xt-card .card__body {
24
- padding: var(--xt-card-padding, 20px);
25
- }
26
-
27
- .xt-card .card__body .value {
28
- font-size: var(--xt-font-size-large, 18px);
29
- font-weight: 600;
30
- color: var(--xt-color-primary, #1890ff);
31
- }
32
-
33
- .xt-card .card__body .unit {
34
- font-size: var(--xt-font-size-base, 14px);
35
- color: var(--xt-color-text-secondary, #909399);
36
- margin-left: 4px;
37
- }
38
-
39
- .xt-card .value {
40
- font-weight: 600;
41
- }
42
-
43
- .xt-card .card__header + .card__body {
44
- padding-top: 0;
45
- }
46
-
47
- .xt-card.noPadding .card__body {
48
- padding: 0;
1
+ @import '../../../styles/variables.scss';
2
+
3
+ .xt-card {
4
+ --xt-card-bg-color: var(--xt-card-bg-color, #ffffff);
5
+ --xt-card-border-color: var(--xt-card-border-color, #EBEEF5);
6
+ --xt-card-text-color: var(--xt-color-text-primary, #303133);
7
+
8
+ border-radius: var(--xt-card-border-radius, 4px);
9
+ box-shadow: var(--xt-card-shadow, 0 2px 12px 0 rgba(0, 0, 0, 0.1));
10
+ background-color: var(--xt-card-bg-color);
11
+ overflow: hidden;
12
+ color: var(--xt-card-text-color);
13
+ transition: var(--xt-transition-duration, 0.3s);
14
+ }
15
+
16
+ .xt-card .card__header {
17
+ padding: var(--xt-card-header-padding, 18px 20px);
18
+ box-sizing: border-box;
19
+ font-weight: 600;
20
+ font-size: var(--xt-font-size-medium, 16px);
21
+ }
22
+
23
+ .xt-card .card__body {
24
+ padding: var(--xt-card-padding, 20px);
25
+ }
26
+
27
+ .xt-card .card__body .value {
28
+ font-size: var(--xt-font-size-large, 18px);
29
+ font-weight: 600;
30
+ color: var(--xt-color-primary, #1890ff);
31
+ }
32
+
33
+ .xt-card .card__body .unit {
34
+ font-size: var(--xt-font-size-base, 14px);
35
+ color: var(--xt-color-text-secondary, #909399);
36
+ margin-left: 4px;
37
+ }
38
+
39
+ .xt-card .value {
40
+ font-weight: 600;
41
+ }
42
+
43
+ .xt-card .card__header + .card__body {
44
+ padding-top: 0;
45
+ }
46
+
47
+ .xt-card.noPadding .card__body {
48
+ padding: 0;
49
49
  }
@@ -1,8 +1,8 @@
1
- import XtCardItem from './index.vue'
2
-
3
- XtCardItem.install = function (Vue) {
4
- Vue.component(XtCardItem.name, XtCardItem)
5
- }
6
-
7
- export default XtCardItem
1
+ import XtCardItem from './index.vue'
2
+
3
+ XtCardItem.install = function (Vue) {
4
+ Vue.component(XtCardItem.name, XtCardItem)
5
+ }
6
+
7
+ export default XtCardItem
8
8
  export { XtCardItem }
@@ -1,17 +1,17 @@
1
1
  <template>
2
2
  <ex-card class="xt-card-item" :bordered="false" :class="{ [`is-${type}`]: type ? true : false}">
3
- <xt-text bold size="medium">{{ title }}</xt-text>
4
- <xt-flex-box>
5
- <div style="width: 50%;margin-bottom: 5px;">
3
+ <xt-flex-box content="between">
4
+ <div >
5
+ <div><xt-text bold size="extra-large">{{ title }}</xt-text></div>
6
6
  <xt-text bold size="large" v-model="value" format="thousand" :type="type" :decimals="0"></xt-text>
7
7
  <div style="margin: 5px 0;">
8
8
  <xt-text size="small">较昨日</xt-text>
9
9
  <xt-text v-model="change" format="normal" :type="diff > 0 ? 'success' : 'danger'" :suffix="diff > 0 ? '↑' : '↓'"></xt-text>
10
10
  </div>
11
11
  </div>
12
- <div style="flex: 1; height: 100%;">
12
+ <div style="height: 100%;">
13
13
  <slot name="icon">
14
- <xt-text size="extra-large" :type="type"><i class="el-icon-user"></i></xt-text>
14
+ <xt-text size="extra-large" :type="type"><ex-icon name="el-icon-user" :size="48" ></ex-icon></xt-text>
15
15
  </slot>
16
16
  </div>
17
17
  </xt-flex-box>
@@ -1,72 +1,72 @@
1
- @import '../../../styles/variables.scss';
2
-
3
- .xt-card-item {
4
- --xt-card-item-color: var(--xt-color-primary, #1890ff);
5
-
6
- min-height: var(--xt-card-item-min-height, 40px);
7
- }
8
-
9
- .xt-card-item + .xt-card-item {
10
- margin-top: var(--xt-card-item-gap, 10px);
11
- }
12
-
13
- .xt-card-item.is-border {
14
- border-right: var(--xt-card-item-border-width, 3px) solid transparent;
15
- background-color: var(--xt-color-bg-secondary, #f5f7fa);
16
- }
17
-
18
- .xt-card-item.is-border.is-primary {
19
- border-right-color: var(--xt-card-item-color);
20
- }
21
-
22
- .xt-card-item.is-border.is-primary .item__value .value {
23
- color: var(--xt-card-item-color);
24
- }
25
-
26
- .xt-card-item.is-border.is-success {
27
- border-right-color: var(--xt-color-success, #67C23A);
28
- }
29
-
30
- .xt-card-item.is-border.is-success .item__value .value {
31
- color: var(--xt-color-success, #67C23A);
32
- }
33
-
34
- .xt-card-item.is-border.is-warning {
35
- border-right-color: var(--xt-color-warning, #E6A23C);
36
- }
37
-
38
- .xt-card-item.is-border.is-warning .item__value .value {
39
- color: var(--xt-color-warning, #E6A23C);
40
- }
41
-
42
- .xt-card-item.is-border.is-danger {
43
- border-right-color: var(--xt-color-danger, #F56C6C);
44
- }
45
-
46
- .xt-card-item.is-border.is-danger .item__value .value {
47
- color: var(--xt-color-danger, #F56C6C);
48
- }
49
-
50
- .xt-card-item .item__value {
51
- padding-right: 10px;
52
- }
53
-
54
- .xt-card-item .item__value .value {
55
- font-weight: 600;
56
- font-size: var(--xt-font-size-base, 14px);
57
- }
58
-
59
- .xt-card-item .item__value .unit {
60
- font-size: var(--xt-font-size-small, 13px);
61
- color: var(--xt-color-text-secondary, #909399);
62
- }
63
-
64
- .xt-card-item .item__label {
65
- padding-left: 10px;
66
- color: var(--xt-color-text-secondary, #909399);
67
- }
68
-
69
- .xt-card-item .item__unit {
70
- padding-left: 5px;
71
- color: var(--xt-color-text-secondary, #909399);
1
+ @import '../../../styles/variables.scss';
2
+
3
+ .xt-card-item {
4
+ --xt-card-item-color: var(--xt-color-primary, #1890ff);
5
+
6
+ min-height: var(--xt-card-item-min-height, 40px);
7
+ }
8
+
9
+ .xt-card-item + .xt-card-item {
10
+ margin-top: var(--xt-card-item-gap, 10px);
11
+ }
12
+
13
+ .xt-card-item.is-border {
14
+ border-right: var(--xt-card-item-border-width, 3px) solid transparent;
15
+ background-color: var(--xt-color-bg-secondary, #f5f7fa);
16
+ }
17
+
18
+ .xt-card-item.is-border.is-primary {
19
+ border-right-color: var(--xt-card-item-color);
20
+ }
21
+
22
+ .xt-card-item.is-border.is-primary .item__value .value {
23
+ color: var(--xt-card-item-color);
24
+ }
25
+
26
+ .xt-card-item.is-border.is-success {
27
+ border-right-color: var(--xt-color-success, #67C23A);
28
+ }
29
+
30
+ .xt-card-item.is-border.is-success .item__value .value {
31
+ color: var(--xt-color-success, #67C23A);
32
+ }
33
+
34
+ .xt-card-item.is-border.is-warning {
35
+ border-right-color: var(--xt-color-warning, #E6A23C);
36
+ }
37
+
38
+ .xt-card-item.is-border.is-warning .item__value .value {
39
+ color: var(--xt-color-warning, #E6A23C);
40
+ }
41
+
42
+ .xt-card-item.is-border.is-danger {
43
+ border-right-color: var(--xt-color-danger, #F56C6C);
44
+ }
45
+
46
+ .xt-card-item.is-border.is-danger .item__value .value {
47
+ color: var(--xt-color-danger, #F56C6C);
48
+ }
49
+
50
+ .xt-card-item .item__value {
51
+ padding-right: 10px;
52
+ }
53
+
54
+ .xt-card-item .item__value .value {
55
+ font-weight: 600;
56
+ font-size: var(--xt-font-size-base, 14px);
57
+ }
58
+
59
+ .xt-card-item .item__value .unit {
60
+ font-size: var(--xt-font-size-small, 13px);
61
+ color: var(--xt-color-text-secondary, #909399);
62
+ }
63
+
64
+ .xt-card-item .item__label {
65
+ padding-left: 10px;
66
+ color: var(--xt-color-text-secondary, #909399);
67
+ }
68
+
69
+ .xt-card-item .item__unit {
70
+ padding-left: 5px;
71
+ color: var(--xt-color-text-secondary, #909399);
72
72
  }